Can't archive anymore, yet "build for archive" still works (Xcode 4)
Xcode is behaving rather strange right now:
If I try to "Build for Archive" my app, the build process finishes without any errors or warnings. If I attempt to "Archive" though, it will throw a huge load of build errors at me. The errors (and the number of errors) are different every time I try.
The app still runs fine on the simulator and on the device. I have successfully archived the same app before, although the last successful archive was created using Xcode 4.0.1 (now 4.0.2).
Live update:
Amongst the mass of errors there is one recurring issue: It seems like the app's pch file (precompiled header file) can't be found. I suppose this is the root error for all of the other issues. The question remains why it can't be found while archiving, despite being perfectly available to all other build types (and even "build for开发者_Python百科 archive")?
How can I overcome this error? If this is a bug in Xcode 4.0.2: Is there a way to archive a build without using the "Archive" option?
Edit: This may be another hint: Right after complaining that the pch couldn't be found, another error says "one or more PCH files were found, but they were invalid" - hokay...
Had a similar issue this morning building for my 4.2.3 device in XCode 4.0.2. Fixed it by running Clean, then building again.
A recent post has been made regarding this:
XCode 4 Archiving Error: one or more PCH files were found, but they were invalid
This may help you.
Exit Xcode.
In Finder, go to ~/Library/Developer/Xcode/DerivedData.
Delete the folder under there that corresponds with your project name.
Restart Xcode: now Archive works.
I had a similar problem. Earlier I had an error about entitlements, so I found a solution that told me to create an Entitlements.plist file in my project, and that solved the problem. After adding devices to my Ad Hoc distribution provisioning profile and downloading/updating in XCode, it turned out that my Entitlements file had gotten truncated. Of course I didn't notice it until after 18 hours of angst and struggle! If you don't already, add a new file to your project. Under iOS, select Code Signing, and pick Entitlements, just call it Entitlements.plist.
Now on the Project (or Target) Properties, make sure you enter the file name in the Build Settings, Code Signing Entitlements setting.
This should work, it solved my issue. Wish I had noticed it had been truncated before spending many hours trying other more complicated solutions!
精彩评论