开发者

Building Archive in Xcode does not create archive

开发者 https://www.devze.com 2023-04-01 12:48 出处:网络
It seems all my searches to figure this out are fruitless. Knowing me it\'s one stupid checkbox or pulldown I\'m missing. Is it maybe my install? Do I need to uninstall Xcode 4 and reinstall?

It seems all my searches to figure this out are fruitless. Knowing me it's one stupid checkbox or pulldown I'm missing. Is it maybe my install? Do I need to uninstall Xcode 4 and reinstall?

I've gone through all these steps and tricks and fixes all over the net and on SO, yet nothing gets me closer to getting an archive to pop up in my organizer. When I go to look at the archive that was built, it's just a zero k file. I get a build succeed, I change skip install to both yes and no ... I do all these things I find on the net, I'm going crazy. I'm pretty sure my certificates are all set up correctly, I have things checked where I'm told to be checked. It's driving me crazy. 99% of the solutions I see are:

"Anyway, in the 开发者_Go百科"Skip Install", set the value for "Release" as "NO" (the help doc told you the opposite). Once you set it to "NO", archive again. You'll immediately see your app showing up in the archive organizer."

Well, it's not working or any further answers after aren't either.


Archive only seems to include those build products that are set to be "installed", so make sure that you deactivate Skip Install in your build settings:

  1. Go to BuildSettings.
  2. Find "Skip Install".
  3. Select "NO" for Release.

Additionally, Xcode needs an Install Path. For Applications this is usually /Applications, but when e.g. building a plugin you might want to set this to just /, which will put the build product in the root of your archive. Note that you must use a "real" path, not a relative one like ~/Library.


Make sure you use Product > Archive, instead of Product > Build For > Archive.


I had this issue after I updated to High Sierra. I went to my library folder. /Users/your_user/Library/Developer/Xcode/Archives In this folder was an empty folder named to the date I had created this archive. But the folder was empty. I removed the folder and archived again. That fixed the issue for me.


For me, I had to also change the following blank build setting, to something like...

"Installation Directory" --> /Applications

Finally, it started appearing in Organizer/Archives.

P.S. Interestingly, without this setting the old archive file was being created, but it was always empty.


I just had this issue and what resolved it for me was this:

  1. Verify Code Signing on the release is set to your Distribution Profile. I did this and it actually reverted it at one point. Make sure that setting wasn't reverted and try again.
  2. You mentioned the "Skip Install" value, I also had similar results. Setting to YES would not open the archive list, setting to NO would.

Hope this helps (more that #1 above helps).


Go through this checklist, and you should find an answer somewhere:

  1. Create a new scheme labeled "[App name]-AppStore"
  2. Create a build configuration labeled "Distribution" by duplicating release
    • Click the project and hit the + under build configurations in the "Info" tab.
  3. Set the archive to build as "Distribution" under the new scheme
  4. Verify all certificates
  5. Verify all provisioning profiles
  6. Verify your private key under your name in your keychain. (in the system keychain)
  7. Make sure that in the Distribution code signing, you are setting the profile to your iPhone/iPad distribution profile in ALL signing instances.
  8. Make sure that in your project info, the Distribution code signing is set to your iPhone/iPad distribution profile.
  9. Make sure that you have the option, skip install, in build settings of your target set to "NO" for Distribution.
  10. Make sure that your currently selected scheme is "[App Name]-AppStore > iOS Device"
  11. If nothing else, clean all builds, delete all old archive attempts, build for archiving, and if there are no other errors, try archiving again. One problem that I ran into was when I let XCode always allow signing with my private key. Simply deleting that and redownloading the certificates forced XCode to re-ask me to allow code signing. I only click allow now and I haven't had that problem ever again.

If you are still having problems, you should delete all of your provisioning, revoke all of your certificates, reissue them all, and reinstall them all. Try resetting your code signing after that, and if it still doesn't work, use one of your two free TSIs given to you by Apple Dev Support. If nothing works, they can fix it for you I'm sure.

Hope this helps.


I did the following to make it work for me:

  1. I replaced some subprojects/static libraries i had (ie three20) by using cocoapods to include the files within the main project.. it just got rid of all the trouble three20 was giving me (and they are lots..)
  2. set skip install to yes under build settings for all other sub projects/static libraries and switched the copy headers from public to project under build phases
  3. most importantly: under the sub libraries.. under build phases i ensured that copy files destination was changed from Absolute path to products directory.

and that was it!

hint: to get an idea of the offending files that's causing your archive to create an archive file rather than an ipa do this:

  1. Select the archive and click the Distribute button.
  2. Select the 'Save Built Products' option.
  3. Hit Next and Save.
  4. Browse the created directory in Finder.
  5. The 'libraries' subdirectory will identify the libraries that you need to set the Skip Install to Yes.
  6. in some cases usr/local/include will identify the culprit header files you need to move from Public to Project or the files that you have to change from absolute path to products directory. but that directory (ie usr/local/include) varies depending on your sublibrary directory structure
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号