Xcode 4.2 和 Three20 无法编译armv6
我有一个应用程序在 Xcode 4.2 的模拟器中完美运行,
要构建并存档以发布到应用程序商店,我收到一条错误,指示我需要包含 armv6 构建。论坛建议清除构建目标并包括我所做的“armv6 armv7”。使用 iOS 3.0 的 Ios 部署目标
当我连接我的测试 iPod 并启动存档操作(发布版本)时,我收到以下错误:
忽略文件 /xxx/Release-iphoneos/libThree20UICommon.a,文件为 为存档而构建,不是正在链接的架构(armv6) (对所有 Three20 库重复)
“_OBJC_CLASS_$_TTTableViewDataSource”,引用自:Objc-class-ref 在 ContactsDataSource.o
我尝试更改“仅构建活动架构”,它有效,但不包括应用程序商店的armv6。
有人遇到并解决了这个问题吗?
谢谢! 蒂姆
I have an application running perfectly in the simulators in Xcode 4.2
To build and Archive to publish to the appstore I receive an error indicating I need to include a armv6 build. Forums suggest to clear the build-targets and include "armv6 armv7" which I did. With Ios Deployment target of iOS 3.0
When I hook up my test-iPod and start an archive operation (RELEASE build) I receive the following error:
Ignoring file /xxx/Release-iphoneos/libThree20UICommon.a, file was
built for archive which is not the architecture being linked (armv6)
(repeat over all Three20 libraries)"_OBJC_CLASS_$_TTTableViewDataSource", referenced from: Objc-class-ref
in ContactsDataSource.o
I have tried changing "Build Active Architecture Only", which works but doesn't include the armv6 for the appstore.
Has someone encountered and solved this problem ?
Thanks!
Tim
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我发现将“架构”(不是“有效架构”)设置为“armv6 armv7”可以解决我的问题。虽然很乏味,因为您必须对 Three20 的依赖项文件夹中的每个子项目执行此操作,但成功了。
i found that going through and setting the 'Architectures' (not 'Valid Arch') to 'armv6 armv7' fixed the problem for me. Tedious, as you have to do it to each of the subprojects in Three20's dependencies folders, but success.
我找到了更改资源中 Three20.bundle 文件的解决方案,而不仅仅是 Three20 的项目文件。
将“仅构建活动架构”设置为“否”,生活再次光明。
I found the solution changing the Three20.bundle file in resources and not just the project files of Three20.
Set "Build Active Architecture Only" to "No" and life is bright again.
我现在没有 mac,但我认为您还需要将 armv6 包含在 plist 中。
I dont have my mac right now, but i think that you also need to include the armv6 in the plist.
我必须将项目格式从 Xcode 3.1 更改为 Xcode 3.2 - 将 Build Active Arch Only 保留为“否”
I had to change the Project format from Xcode 3.1 to Xcode 3.2 - leaving Build Active Arch Only as "No"