-
Notifications
You must be signed in to change notification settings - Fork 984
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
Unable to distribute with Xcode 10 #412
Comments
Push how? |
Project was opened in Xcode 10, built then Distributed from the Xcode10 organiser, the project worked fine with Xcode 9 without any changes. i dont have build output as i have to use Xcode to build |
Right now we only have workaround for builds with the CLI published over at #407. You might need some instructions on how to get a Xcode only project to work. Someone will have to look into this. |
Yes, i have just built with CLI and it built and ran in simulator but i need to distribute to the app store and cant without Xcode, so cant put anything onto test flight. |
I was going to try and use the CLI and create the app store package and use application loader ive tried cordova build ios --buildFlag="-UseModernBuildSystem=0" --packageType="app-store" but i only get the normal .app file in the emulator folder which application loader will not deal with |
Try |
Facing the same issue. ionic cordova build ios --buildFlag="-UseModernBuildSystem=0" allows you to make the build. However not able to submit it to the store. It gives the same error as @neofuture mentioned |
Build settings from command line: Build settings from configuration file '/Users/muhammadsufian/Documents/GITREPOS/driveit/userApp/platforms/ios/cordova/build-release.xcconfig': error: archive not found at path '/Users/muhammadsufian/Documents/GITREPOS/driveit/userApp/platforms/ios/DriveIt.xcarchive' (node:17836) UnhandledPromiseRejectionWarning: Error code 65 for command: xcodebuild with args: -exportArchive,-archivePath,DriveIt.xcarchive,-exportOptionsPlist,/Users/muhammadsufian/Documents/GITREPOS/driveit/userApp/platforms/ios/exportOptions.plist,-exportPath,/Users/muhammadsufian/Documents/GITREPOS/driveit/userApp/platforms/ios/build/device @dpogue even this does not solve the signing issue |
That created the IPA fine, but... application loader can not connect to the app store anymore so thats that one scuppered, i can see a lot of frustration from todays Xcode 10 auto update as no one will now be able to publish there app |
Temporary Fix: I went back to Xcode 9.4.1 from he developer downloads at developer.apple.com, reopened the project with this and was able to upload to the app store. For notice: I was previously building the project with Xcode Beta (i like the black theme) and was using Xcode 9 for uploading to app store. i have no problems building in Xcode 10 my only issue is distribution to the app store. |
I used sh.sed(
'-i',
/ProvisioningStyle = Automatic/,
'ProvisioningStyle = Manual',
'platforms/ios/**/project.pbxproj'
); |
@neofuture i was able to submit app via xcode but now instead of wildcard i had to create an individual provisioning profile for each app. However after that everything worked as expected. |
@sufian4199 how did you submit app? Are you still using Xcode 10? I am able to build with |
@pliablepixels yes i am submitting via xcode 10. I did the following things
PS: I however dont know why this happened because auto signing was working perfectly for me on xcode 9. However doing this gets the job done 👍 |
I got the same issue using Xcode 10 Build using Running with |
@sufian4199 - I can confirm your solution works. To summarize the hacks so far:
I've managed to upload and distribute successfullly. |
@pliablepixels thank you for summarising it in the best possible way 👍 |
@pliablepixels @mlegenhausen Thanks for providing more information to help us understand what's going on! I might be missing something, but it seems like it's unclear whether this is an Xcode issue with automatic signing, or a Cordova issue with how we set up the automatic signing. Could you help fill in this table?
Table Markup for copy/paste
|
@dpogue From my testing... others should probably confirm :)
|
hmm, that confuses me a bit because everyone seems to be saying that Cordova with automatic signing is resulting in the error about missing embedded.mobileprovision. |
@dpogue - I'm new to the cordova command line "build for release" process so I'm not sure I'm doing what you need. It looks like I can't install an ipa signed for the app store manually, so I am doing it using an adhoc profile. Does that help or do you specifically need build type = app-store? Please let me know before I do the manual sign test on cli Tests with adhoc profile
(1) CLI build command:
(2) Something has changed since I attempted in the morning and now. Whilst a simple My build.json |
@pliablepixels I assume that Maybe I'm confused about this issue... is there a problem wherein Cordova CLI is making builds with missing embedded mobileprovision files, or is the issue that Xcode makes builds with missing profiles when exporting Cordova projects? I guess we need more information from @neofuture about which export process was being used |
I'm completely confused as well, so I'll retract and wait for others more qualified than me to report, so as not to confuse you. In the morning, a simple In the morning:
It would fail around here But now, it prints the above message and continues on to:
|
I use Cordova to create the project, but then I roll over to Xcode to increase versions, and upload to App Store via the organiser, I can build to emulator with the CLI but this is not ideal because version and build is reset to 1.0.0 each time and I maintain this in Xcode, I have since gone back to Xcode 9.4.1 with the exact same project and it builds from within Xcode and I can distribute (have the binary waiting for review now) if I distribute with Xcode 9.4.1 it does not complain about the missing provisioning, if I distribute with Xcode does, but this could be down to changes in the project files and that file being missing for the new style of build |
"is there a problem wherein Cordova CLI is making builds with missing embedded mobileprovision files" I can't confirm as the version numbers are all wrong in the build so I can't use application loader to push it up, but could it be the default required embedded mobileprovision should be in the Cordova iOS platform project and Xcode, not finding it, doesn't include it ? |
Huh
Using Legacy Build System you will be able to build archive with normal mobileprovision and Info.plist files |
The new build system it's not failing in Xcode. |
With command line it's failing because the provisioning profile it's not included in the build not because of the new build system, otherwise this wont work in Xcode too. |
This is where I'm getting a bunch of contradictory information in these comments. Several people have said that the Cordova CLI is able to make successful builds with the provisioning profile included when using the So is this an accurate summary of what people are seeing?
I need to understand what works and what's broken before I can start investigating how to fix it, and everyone's comments seem to be saying different things. |
In Xcode
|
I suspect this has to do with automatic signing in all case where it fails. It's not a new issue with Xcode... |
Could be related? phonegap/phonegap-plugin-push#2518 |
I'm pretty sure that's unrelated. The embedded.mobileprovision is added (in this case) during the export step. |
I can't tell where my problem is at. I build the code using the command line. That seems to work. I open the project in Xcode and try to push to the phone. It fails building for some signing reason. I'm not really sure what to even debug. |
I think we've figured out the circumstances that cause this bug, and I've updated the Xcode 10 workaround announcement to avoid it. In order to build Cordova apps on the command-line with Xcode 10, you need to set the If you open the resulting project in Xcode, it will by default try to use the new build system. You must update the workspace settings in the Xcode IDE and set the Build System to Legacy before making any builds through the Xcode IDE. As mentioned, I've updated #407 to include workaround instructions for anyone using the Xcode IDE, and I'm going to close this issue to try to keep all the information in one easily visible place. Thanks for your reports and error logs and patience everyone! |
Excellent!! Work for me! |
Using Legacy Build System you will be able to build archive with normal mobileprovision and Info.plist files |
@pliablepixels I'm stuck at the error that you were having in the morning. Any clue how you got past it? Also, running
|
I'm not sure you are facing the same error as I did - in your case it seems I shiver when I am asked to relive nightmares. Now that this is solved, I'm battling with WKWebView and self signed certs and the fact that Android builds have issues (when WKWebView is an iOS thing). Jokes apart - back to your question: Here is what I do now:
Hope this helps. |
Well I truly don't know what I did, but after enough head banging, it works now? I think my ng-toolkit might've been out of date. For anyone in my exact scenario, here's my info and what I'm running to get it working.
Also, thanks @pliablepixels, good luck with your current issues. |
Hi, Access https://developer.apple.com/account 1 - Certificates, IDs & Profiles 2 - Provisioning Profiles 3 - Distribution 4 - Add Button 5 - Distribution -> App Store -> Continue 6 - Choose Apple Id -> Continue 7 - Select certificates -> Continue 8 - Set Profile Name -> Continue 9 - Download 10 - In Xcode -> Product -> Archive, In Re-sign "App Name" make option Manually manage signing -> choose the Distribution certificate and import your provisioning profile downloaded on step 9. Sorry for my English, I'm from Brazil |
@joelsonrocha 's solution works for me |
It can be made to work with all the hacks above. The real question is why is there debug and release sections in the json.build but only either one makes it to BOTH debug/release sections in the xcode project depending on the --debug/--release switch in cordova CLI. it does not make too much sense. A much better way would be to populate xcode project with both debug and release profiles and then just compile/build the correct version depending on the cli switch. Is there anything i'm missing? maybe i did not understand how to use it correctly? |
@godexsoft As I wrote somewhere else already: Please create a new issue about this instead of hijacking this unrelated, and closed one. Then we can take a look at what you describe. Thanks! |
I have the same problem where automatic signing + new build system does not include the embedded.provisionprofile. With the legacy build it works but then i have a few plugins that refuse to work. They do work when i build using the new build system but then it fails when trying to upload to apple. Any solutions? How do i force xcode to create the embedded.provisionprofile using the new build system and automatic signing. |
@clusterr023 This should be fixed in cordova-ios@5.0.0 |
Hi, Product > Scheme > Edit scheme > Run (on the left panel) > Info tab > 'Build Configuration' set to 'Release'. Close and then play/run again to your phone. |
I might be missing out something very simple but reading the docs and this thread and trying out things did not work for me. |
@HarelM This issue is for distributing an app using Xcode. I'm not familiar with appveyor but Apple essentially gives you two ways to distribute to iTunes Connect/App Store.
If you have anymore questions I encourage you to join slack and ask support style questions there. |
When trying to push a project to app store with Xcode 10 i get the following new error
ERROR ITMS-90174: "Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision."
The text was updated successfully, but these errors were encountered: