我发誓我终于提交了一个使用XCode 4.0.2的应用程序。 但我恐怕现在遇到了一个相当陡峭的障碍。
无论我做什么,我总是得到1-2个与armv6架构相关的警告。 我已经设置了Project&要使用的目标构建设置:
归档(分发到app-store)我总是收到这些警告:
请帮忙。
*更新*
只需阅读基本SDK需要设置为iOS 4.0而不是“最新iOS(iOS 4.3)”的地方。它没有警告就建立/存档。
*再次更新*
忽略我之前的更新评论。导致整洁存档构建的原因是取消选中“仅构建活动架构”选项。不知道为什么它决定建立好现在因为这个复选框最初没有检查过,但只是在我开始改变事情之后才尝试修复警告。
答案 0 :(得分:5)
确保在Xcode中构建设置。
可以使用file命令检查存档的应用程序二进制文件。
$ file Payload/Foo.app/Foo
Payload/Foo.app/Foo: Mach-O universal binary with 2 architectures
Payload/Foo.app/Foo (for architecture armv6): Mach-O executable arm
Payload/Foo.app/Foo (for architecture armv7): Mach-O executable arm
答案 1 :(得分:0)
我在使用XCode 3构建的旧应用程序上遇到了同样的错误,但是一年后不得不为XCode 4重建。
所有这些设置都是相同的:
"Architectures" should be "Standard (armv6 armv7)"
"Build Active Architecture Only" should be "NO".
"Valid Architectures" should be "armv6 armv7".
我使用file命令检查了存档的应用程序二进制文件。
$ file MyApp
DIDNT返回两个条目
Payload/Foo.app/Foo: Mach-O universal binary with 2 architectures
Payload/Foo.app/Foo (for architecture armv6): Mach-O executable arm
Payload/Foo.app/Foo (for architecture armv7): Mach-O executable arm
但一个
$ file MyApp
MyApp: Mach-O executable arm
我在上面的stackoverflow中看到了'universal binary',因此意识到应用程序从未为iPad构建过。
我不得不将iPhone改为Universal。
Project > My App Target > Summary Tab > Devices drop down
Change from iPhone to Universal.
将MainWindow复制到MainWindow-iPad。
我还没打算制作iPad版,所以说没有。
我再次进行归档,验证应用程序有效。