Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification regarding "You must launch the app through Xcode for iOS" #271

Closed
adityasaxena opened this issue Jan 13, 2017 · 6 comments
Closed

Comments

@adityasaxena
Copy link

Hi. This line in the documentation You must launch the app through Xcode for iOS - does it mean that I cannot give the app to my users on an enterprise account and expect the universal links to work? If so, how do I test the functionality where all my beta test users are located in different countries. Please advise. Cheers!

@ethanneff
Copy link
Contributor

Hello @adityasaxena,

The reason for You must launch the app through Xcode for iOS is because Xcode will throw out an error for not having a Development Team. This is needed for deep linking to work.

screen shot 2017-01-13 at 8 35 13 am

The Development Team gets removed whenever you rebuild your cordova platform. I've tried using techniques such as cordova build ios --developmentTeam="PW4Q8885U7"; without luck. For this reason, we recommend building with Xcode to set your Development Team.

As long as your App has the Development Team set, you can freely share it out.

Regards,

@adityasaxena
Copy link
Author

Hi @ethanneff

My developmentTeam parameter in Cordova works fine in Xcode8. Infact, I get something in the Team dropdown. However, I still cannot get the deeplink to open my App.

When I run from the command line, the universal link does not open the app. In validator, what I see is this -

screenshot 2017-01-13 22 12 49

When I open the same project in XCode, and then run the app on my device, everything works fine -

screenshot 2017-01-13 22 12 58

The only difference between the two you may ask? - well, nothing except the second one I ran from Xcode. And, I don't see the Team dropdown empty like you mentioned in your screenshot.

I am not sure what am I doing wrong.

@ethanneff
Copy link
Contributor

Hello @adityasaxena,

To clarify: The Development Team gets removed whenever you rebuild your cordova build. I've tried using techniques such as cordova build ios --developmentTeam="PW4Q8885U7"; without luck. For this reason, we recommend building with Xcode to set your Development Team.

As long your app has a Development Team, deep linking will work.

You will need to make sure whenever you are creating your .ipa file for your enterprise app, that your have Development Team set through Xcode and all your provisioning profiles properly configured.

Best,

@adityasaxena
Copy link
Author

adityasaxena commented Jan 14, 2017

Hi @ethanneff

For me: The Development Team does not get removed when I rebuild my cordova build. That is what I meant. The technique which you mentioned cordova build ios --developmentTeam="PW4Q8885U7" works perfectly for me.

How do I say that? I say that because after running cordova build, when I open the project inside XCode, I see the development team is already selected unlike what you show in your screenshot.

@jstoup111
Copy link

I'm noticing the same thing. The buttons all update as though the app is installed, but clicking on the link fails. Are there anything I can look at to resolve? Thanks!

cliffAtTL pushed a commit to Ristken/cordova-ionic-phonegap-branch-deep-linking that referenced this issue Feb 28, 2017
…sing Xcode as described by BranchMetrics#271

Cordova has introduced the ability for the user to define their entitlements files:

apache/cordova-ios@b5fb016

The provide the base files and you can overwrite for your project.  These files get created for the iOS build at:

<app name>/platforms/ios/<app name>/Entitlements-<release type>.plist

Currently the cordova-ionic-phonegap-branch-deep-linking hook code updates:

<app name>/platforms/ios/build/device/<app name>.app/<app name>.entitlements

But misses the new entitlement files that the user can provide.

If these files are updated by the branchio hook then one can have a reliable means for
using cordova in build systems to push out application updates to the user
without manual intervention of Xcode.
@ethanneff
Copy link
Contributor

The latest version of the Branch SDK no longer needs xcode to build your development team and provisioning profiles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants