ProgressNS / sidekick-feedback

This repository is for feedback regarding NativeScript Sidekick. Use the issues system here to submit feature requests or vote for existing ones.
45 stars 9 forks source link

SideKick Manage iOS Provisioning and Certificates Errors #286

Closed stan79 closed 5 years ago

stan79 commented 6 years ago

Hiya Experts

I am trying to setup a Mobile development environment, a true WORA. NativeScript seems to be ticking all the boxes. I have therefore installed Visual Studio Code with NativeScript Plugin and SideKick. I am trying to do a simple thing at the moment, namely testing HelloWorld App on physical devices such as Android Tablet/Phone and iPad. Android was a breeze however iPad proved to be a pain. I am trying to use "iOS Auto Generate Provisioning Profile and Certificate" inside SideKick but I am getting two types of errors:

1) Using my Main Apple ID (with no Developer account) I am getting following message:

An error has occured while generating the certificate and mobile provision. Reason: Two-step verification not supported at the moment

Fair enough, I thought I will try a Free Apple ID (as advised in SideKick documentation, see result in next bullet point)

2) Free (newly created) Apple ID

An error has occured while generating the certificate and mobile provision. Reason: Could not find app with bundle id. (node:12659) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated. Could not find app with bundle id

Is there any step-by-step walk through on how to test simple apps on your local Apple devices?!?

Regards Michael

Platform: Windows 10 main_18-10-21_08-26-12.192.log

Version: 1.13.0-v.2018.10.5.2 (latest) NativeScript CLI version: 4.2.4 CLI extension nativescript-cloud version: 1.14.2 CLI extension nativescript-starter-kits version: 0.3.5

Does this issue happen every time? Yes

ggarabedian commented 6 years ago

Hello Michael (@stan79),

Thank you for giving NativeScript and Sidekick a go. We are glad to hear that you find NativeScript pleasing and that it meets your requirements.

Regarding the issues that you experience:

  1. The Code Signing Assistance currently doesn't work with paid Apple IDs due to the two-step verification security feature utilized by Apple. We have this feature on our roadmap but it would require a lot of development effort and we cannot give you a precise time frame for when it might be available.
  2. As for the issue with the Free Apple ID - the Reason: Could not find app with bundle id. error is occurring because the Application Identifier of your app is already reserved by someone else. To resolve this issue you should modify the Application Identifier of your app to something that is not already reserved, which might take some trial and error to achieve. For testing purposes, you could add several random numbers and letters to the end of the App ID as this would most likely make it unique.

I would like to note that the Free Apple ID error originates from fastlane, a third-party library that we use for the generation of the temporary certificates and provisions, and unfortunately, we do not have control over the message (which is far from descriptive). However, we are currently writing a troubleshooting article with several common code signing errors and we will link it to the Code Signing Assistance dialog in Sidekick.

I hope this helps.

stan79 commented 6 years ago

@ggarabedian

Many thanks for your very informative reply. I've managed to generate my Provisioning Profile and Certificate, I have then supplied it in iOS Build details. I am trying to run my app with settings Local and Debug on, but I keep getting following Error:

Your system is not configured for local builds

There is no further detail so not much to go by.

main_18-10-24_19-58-52.475.log

stan79 commented 6 years ago

Can anyone tell me what this vague error ("Your system is not configured for local builds") might mean?!?

Aforementioned incomplete Error Message aside, perhaps its just my misinterpretation of how this tool/framework works. I was under impression that I will be able to test both Android (using either emulator or physical device) and iOS (using physical device) of my NativeScript App on Windows OS.

I just ran command tns doctor to check if my environment is setup correct and it clearly reads:

"Local builds for iOS can be executed only on a macOS system. To build for iOS on a different operating system, you can use the NativeScript cloud infrastructure."

Does that mean I can have one code base (maintained on either Windows or macOS) but in order to deploy/test it, I will need to do it on respective platform? In other words, I will never be able to test my app on iPad connected to laptop running Windows but instead I will need to use my MacBook to do that?!?

Maybe its a daft question but is there a blog/article which explains the best setup for cross-platform development/testing?!?

stan79 commented 6 years ago

Yes, it was my misunderstanding of how this framework works (sorry, I am a complete newbie). I have tried Cloud build instead of Local build. However, after mulling it over for 30-45 seconds system threw error reading that Cloud build has failed :(

I have changed iOS version to 10 (used 12 before) and it worked like a charm :)

ggarabedian commented 6 years ago

@stan79, unfortunately, the requirement to have access to a macOS system to develop iOS applications is a limitation of every cross-platform framework. The cloud builds available in Sidekick are our way to work around this limitation and allow users to build iOS applications even when working on Windows or Linux machines.

While "best setup" is an ambiguous statement, if you want to build locally for both iOS and Android, the only option you have is to use a macOS system. Windows and Linux allow you to build only Android apps locally. On the other hand, if you are using the cloud build feature, all 3 systems are interchangeable and there is no "better".

Finally, if you can share the error logs produces during the failed build, we might be able to assist you further on this matter.

tsonevn commented 5 years ago

closing due to inactivity