首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当我打开在Xcode 4中创建的Google项目时,Xcode 5警告我的架构设置

当我打开在Xcode 4中创建的Google项目时,Xcode 5警告我的架构设置
EN

Stack Overflow用户
提问于 2013-09-19 15:33:12
回答 3查看 6.6K关注 0票数 3

我刚刚更新了新发布的Xcode 5,我正在开发一个使用Google SDK的iOS应用程序。当我在Xcode 4中开发时,我在我的项目设置中更改了我的Architectures设置,按照Google的向项目中添加SDK的说明的步骤7

  1. 选择项目,而不是特定目标,然后打开“生成设置”选项卡。用armv7替换架构的默认值。在另一个链接器标志部分中,添加-ObjC。如果这些设置不可见,请将“生成设置”栏中的筛选器从“基本”更改为“全部”。

在Xcode 4中,一切都很好。但是,当我在Xcode 5中打开项目时,我会在问题导航器中看到以下警告:

验证项目设置 更新到建议的设置

当我单击警告时,Xcode会带我到我的项目设置,并显示带有“取消”和“执行更改”按钮的弹出窗口,以及它想要进行的更改的以下说明

项目“您的项目”-自动选择架构 项目“您的项目”将覆盖“架构”设置。这将删除设置,并允许Xcode根据可用于活动平台和部署目标的硬件自动选择体系结构。

我试着点击“执行更改”,让Xcode做它想做的任何事情,这个应用程序仍然为模拟器构建得很好。但是,当我尝试插入一个iPhone 5(它支持ARMv7S)并在其上运行时,该应用程序在构建时出现了以下链接程序错误:

代码语言:javascript
代码运行次数:0
运行
复制
Ld /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App normal armv7s
    cd "/Users/macmini/Documents/Your App"
    setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos -F/Users/macmini/Documents/Your\ App -filelist /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App.LinkFileList -dead_strip -ObjC -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework MapKit -framework QuartzCore -framework OpenGLES -lz -licucore -lc++ -framework ImageIO -framework GLKit -framework CoreText -framework CoreLocation -framework AVFoundation -framework CoreData -framework UIKit -framework Foundation -framework CoreGraphics -framework GoogleMaps -Xlinker -dependency_info -Xlinker /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Intermediates/Your\ App.build/Debug-iphoneos/Your\ App.build/Objects-normal/armv7s/Your\ App_dependency_info.dat -o /Users/macmini/Library/Developer/Xcode/DerivedData/Your_App-bmrouudjlblpafdjzhpwcuekzgwu/Build/Products/Debug-iphoneos/Your\ App.app/Your\ App

ld: file is universal (2 slices) but does not contain a(n) armv7s slice: /Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps file '/Users/macmini/Documents/Your App/GoogleMaps.framework/GoogleMaps' for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

一旦我恢复了Xcode所做的自动修改,我的应用程序再次为iPhone 5编译好了--但我当然收到了警告。

如何在仍然允许我的应用程序为iPhone 5成功构建的同时满足Xcode并消除警告呢?

EN

回答 3

Stack Overflow用户

发布于 2013-09-19 15:47:53

哎呀--就在我贴出这个问题之后,我只花了几秒钟的时间就找到了答案:

  1. 单击“问题导航器”中的“验证项目设置”警告。
  2. 取消选中“自动选择架构”建议更改左侧的复选框。
  3. 单击“完成”(或者“执行更改”,如果列表上还有其他更改,您实际上想要做--在我的例子中,这是唯一的更改)。

现在,您的设置与以前一样,您可以为iPhone 5构建,但是警告已经消失。

我现在觉得有点模糊,因为我花了时间发表这个问题,但我把这个问题和这个答案留在这里,以防它对未来的任何人有帮助。

票数 11
EN

Stack Overflow用户

发布于 2013-09-22 23:15:21

GoogleMapsSDKv1.5现在支持ARMv7S。从v1.5 发布说明

用于iOS的现在附带了一个armv7s片。(第4745期)

在应用程序中支持ARMv7S将提高性能,因此如果您看到问题中描述的警告,最好的操作方法是将Google版本更新为v1.5 (或者更高版本,如果您将来正在阅读此版本),然后双击警告并允许Xcode将您的架构设置更改为默认设置。

票数 3
EN

Stack Overflow用户

发布于 2013-09-19 15:41:38

链接器给出了一个错误,因为您正在使用的GoogleMaps框架不支持armv7s体系结构。也许最新版本的GoogleMaps框架有这样的支持,或者你需要等待谷歌的更新。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18898999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档