开发者

Xcode 4 Archive Version Unspecified

I'm trying to build a release version of my iPhone app in Xcode 4 and when it finishes and launches Organizer, there is no version number, it only says "unspecified". This is preventing me from using Xcode 4's Validate and Submit features.

Any idea开发者_JS百科s on how to fix this? My version number is set in my project settings, so not sure what's causing the problem.


Go to your info.plist file and create a new property "bundle versions string, short" and provide the same version number and it will show up in organizer.


Please see this question for additional detail.

The accepted answer doesn't fully solve the problem for all projects. There are several issues that all relate to each other and I will cover them all.

Xcode 4 Project Fails to compile a static library

Related question: Xcode 4 can't locate public header files from static library dependancy
Related question: “lexical or preprocessor issue file not found ” in Xcode 4

Errors might include; missing header files, "lexical or preprocessor issue"

Solutions:

  1. Check the "user header paths" are correct
  2. Set "Always search user paths" to YES
  3. Create a group call "Indexing headers" in your project and drag the headers to this group, DO NOT add to any targets when prompted.

Xcode 4 project with static library dependancy fails to create a valid archive

Related question: https://stackoverflow.com/questions/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive

Errors might include;

Xcode 4 Archive Version Unspecified

Missing identifier and version. "No Packager exists for the type of archive"

Solutions:

  1. For all dependancies set "Skip Install" build setting to "Yes"
  2. Moving any "Public" headers in Build Phases to "Project"


Thanks but I needed 3 steps to entierly solve the problem with my project framework:

  1. set the Target Build Settings/"Skip Installation" property to "YES" for every dependency project

  2. clear the Target Build Settings "Installation Directory" property for every projects

  3. for every projects, move every headers from section "Build Phases/Build Settings/Copy Headers" Public/Private to Project


This can also happen if your project references a misconfigured subproject for a shared library. Go through the Xcode projects for any shared libraries your project uses and make sure the target's "Skip Install" build setting is set to "Yes". Then rebuild the archive.


I had all these issues and more with an ad-hoc distribution build.

  • If you have static library dependencies and create a new build configuration for your Ad-hoc distributions, be sure that the library dependencies also have a matching build configuration. Otherwise, they default to using the Debug build configuration (or whatever configuration is first, I guess) and will be linked to your build.
  • For emphasis, in case it's not clear in other answers: set Skip Install to NO for your main project and have a valid Installation Directory set. Otherwise, they should be set to YES and empty respectively.

Also, I set a valid icon to remove the validation warning but I'm not sure whether this was required for a working package.


After updating Xcode from 4.0 to 4.1, I found that version information was missing and was blank on the specific 'Target'. And apparently now the version number was being displayed in the build field.

Just add your application version number to the version field for the 'Target' and it will implicitly update the info.plist file.

Archive the project and now you should be able to see the version number in the Archive.

And you should be good to go.

HTH.


My problem with no version or identifier on archive was simple in the end. I have one project with two targets. I have 2 schemes, each building a single target, or so I thought. My iPad scheme had the iPad and iPhone target listed in the build targets of the scheme setup. It was as simple as that, it was building both targets and not creating a valid archive.


I was having similar problem. First I was making universal app, but in the end client wanted separate prices for iPhone and for iPad app. So I created new target in xcodeproject.

When I wanted to archive iPad target I had version unspecified problem. Here is solution.

In project set Skip Install to NO.

When you want to archive iPhone project set Skip Install to NO in iPhone target, and Skip Install to YES in iPad target.

When you want to archive iPad project set Skip Install to YES in iPhone target, and Skip Install to NO in iPad target and it should work.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜