应用程序在模拟器上构建而不在设备上:XCode

时间:2013-01-11 06:22:32

标签: ios xcode static-libraries sup

我正在开发一个基于SUP的iOS应用程序。我通过在模拟器上运行应用程序,并且从未在设备上测试它。有一个文件夹库,这是一个静态库,支持在模拟器和设备上调试和运行应用程序。我在“图书馆搜索路径”中提到了它的绝对路径:

带有递归的

$(SRCROOT)/Libraries/${BUILD_STYLE}-${PLATFORM_NAME}

当我使用模拟器构建我的应用程序时,它工作正常。但是当我用设备运行它时会抛出一些警告,并在下面给出68个类似的错误。

  

ld:警告:忽略文件库/ Debug-iphoneos / libAfariaSLL.a,   文件是为存档而构建的,而不是链接的体系结构   (armv7s):Libraries / Debug-iphoneos / libAfariaSLL.a ld:警告:   忽略文件Libraries / Debug-iphoneos / libclientrt.a,文件已构建   对于不是链接的架构的归档(armv7s):   库/ Debug-iphoneos / libclientrt.a ld:警告:忽略文件   Libraries / Debug-iphoneos / libDatavault.a,文件是为存档而构建的   这不是链接的架构(armv7s):   Libraries / Debug-iphoneos / libDatavault.a ld:警告:忽略文件   库/ Debug-iphoneos / libMo.a,文件是为存档而构建的   不是链接的架构(armv7s):   库/ Debug-iphoneos / libMo.a ld:警告:忽略文件   Libraries / Debug-iphoneos / libsupcore.a,文件是为存档而构建的   这不是链接的架构(armv7s):   库/ Debug-iphoneos / libsupcore.a ld:警告:忽略文件   Libraries / Debug-iphoneos / libSUPObj.a,文件是为存档而构建的   是不是链接的架构(armv7s):   Libraries / Debug-iphoneos / libSUPObj.a ld:警告:忽略文件   Libraries / Debug-iphoneos / libsupUltralite.a,文件是为存档而构建的   这不是链接的架构(armv7s):   Libraries / Debug-iphoneos / libsupUltralite.a ld:警告:忽略文件   Libraries / Debug-iphoneos / libMO.a,文件是为存档而构建的   不是链接的架构(armv7s):   Libraries / Debug-iphoneos / libMO.a架构的未定义符号   armv7s:“_ OBJC_CLASS _ $ _ SUPDataType”,引自:         WorkPlannerActivityMetaData.o中的objc-class-ref         WorkPlannerChangeLogImplMetaData.o中的objc-class-ref         WorkPlannerChangeLogKeyMetaData.o中的objc-class-ref         WorkPlannerEmployeeCraftMetaData.o中的objc-class-ref         WorkPlannerEmployeeMetaData.o中的objc-class-ref         WorkPlannerEmployeeUserMetaData.o中的objc-class-ref         WorkPlannerEquipmentMetaData.o中的objc-class-ref         ...“_ OBJC_CLASS _ $ _ SUPDatabaseMetaDataRBS”,引自:         WorkPlannerWorkPlannerDBMetaData.o中的_OBJC_CLASS _ $ _ WorkPlannerWorkPlannerDBMetaData   “_OBJC_CLASS _ $ _ SUPAbstractStructure”,引自:         WorkPlannerChangeLogKey.o中的_OBJC_CLASS _ $ _ WorkPlannerChangeLogKey         WorkPlannerKeyGeneratorPK.o中的_OBJC_CLASS _ $ _ WorkPlannerKeyGeneratorPK         WorkPlannerKeyPackageName.o中的_OBJC_CLASS _ $ _ WorkPlannerKeyPackageName         WorkPlannerLocalActivityEmployeeAssociationKey.o中的_OBJC_CLASS _ $ _ WorkPlannerLocalActivityEmployeeAssociationKey         WorkPlannerLocalActivityEquipmentAssociationKey.o中的_OBJC_CLASS _ $ _ WorkPlannerLocalActivityEquipmentAssociationKey         WorkPlannerLocalKeyGeneratorPK.o中的_OBJC_CLASS _ $ _ WorkPlannerLocalKeyGeneratorPK         WorkPlannerLocalPlanDetailKey.o中的_OBJC_CLASS _ $ _ WorkPlannerLocalPlanDetailKey         ......“_ OBJC_CLASS _ $ _ SUPKeyGenerator”,引自:         WorkPlannerKeyGenerator.o中的objc-class-ref         WorkPlannerKeyGenerator.o中的_OBJC_CLASS _ $ _ WorkPlannerKeyGenerator“_ OBJC_CLASS _ $ _ SUPDefaultCallbackHandler”,   引自:         CallbackHandler.o中的_OBJC_CLASS _ $ _ CallbackHandler“_OBJC_METACLASS _ $ _ SUPKeyGenerator”,引自:         WorkPlannerKeyGenerator.o中的_OBJC_METACLASS _ $ _ WorkPlannerKeyGenerator“_ OBJC_CLASS _ $ _ SUPClassDelegate”,   引自:         WorkPlannerChangeLogKey.o中的objc-class-ref         WorkPlannerKeyGeneratorPK.o中的objc-class-ref         WorkPlannerKeyPackageName.o中的objc-class-ref         WorkPlannerLocalActivityEmployeeAssociationKey.o中的objc-class-ref         WorkPlannerLocalActivityEquipmentAssociationKey.o中的objc-class-ref         WorkPlannerLocalKeyGeneratorPK.o中的objc-class-ref         WorkPlannerLocalPlanDetailKey.o中的objc-class-ref

请帮助我了解构建设置或架构发生了什么错误。

提前致谢!

2 个答案:

答案 0 :(得分:1)

您正在测试具有armv7s架构(what-is-armv7s)的iPhone 5或iPod 5,但您的库不支持armv7s。你需要为armv7s架构构建你的库,以支持新设备。

答案 1 :(得分:1)

如果您的目标是使用XCode 4.5构建的iPad3 / iOS6上的SUP 2.1.3,您应该可以毫无问题地进行此操作。

我正在开发一个具有完全相同细节的应用程序,我使用模拟器和设备本身运行它没有问题。

您应该能够通过将项目的体系结构从标准更改为 armv7 来修复它(使用其他... 如果你没有看到该选项,它将在iPad3上运行。

XCode