Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode 6链接器错误-架构armv7的未定义符号_Ios_Xcode_Swift_Linker_Upgrade - Fatal编程技术网

Ios Xcode 6链接器错误-架构armv7的未定义符号

Ios Xcode 6链接器错误-架构armv7的未定义符号,ios,xcode,swift,linker,upgrade,Ios,Xcode,Swift,Linker,Upgrade,升级到Xcode 6 beta 7(现在仍然使用Xcode 6 GM)后,我无法链接我的Swift应用程序。我收到错误,例如: 架构armv7的未定义符号: “\u swift\u stdlib\u ComparensStringDeterministicUnicellation”,引用自: ld:未找到架构armv7的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用) 我看到过其他SO帖子建议删除派生数据文件夹和/或使用Clean Build folder选项来克服此错误,

升级到Xcode 6 beta 7(现在仍然使用Xcode 6 GM)后,我无法链接我的Swift应用程序。我收到错误,例如:

架构armv7的未定义符号: “\u swift\u stdlib\u ComparensStringDeterministicUnicellation”,引用自:

ld:未找到架构armv7的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我看到过其他SO帖子建议删除派生数据文件夹和/或使用Clean Build folder选项来克服此错误,但该解决方案对我的情况毫无帮助。自从Xcode 6 beta 5是最后一次工作以来,我的代码和我使用的CoCoapod没有任何变化

有什么想法吗

编辑:

完整发布错误日志:

架构arm64的未定义符号: “\u swift\u stdlib\u ComparensStringDeterministicUnicellation”,引用自: TFC12MyProject21BarcodeViewController13captureOutputfS0\u FTGSQCSo15AVCaptureOutput\u 24从BarcodeViewControllers.o中的ConnectiongSQCSO19AVCaptureConnection\uuuu输出MetadataObjectsSGSQGSAPSS9AnyObject “\uuuu TFSs21\uu阵列条件CASTU\uuuuu FGSaQ\uuuuu GSqGSaQ0\uu”,引用自: TFC12MYPROJECT27SessionsTableViewController17VIEW将在SessionsTableViewController.o中消失fs0_FSbT_ “\uuuuuuuuuuuuuuuuuuuuuuuufgsaq0的阵列”,引用自: __TFC12项目7重新启动12标记映射FS0_FT_CSO15重新启动中的标记映射 __TFC12MYProject28AttendeeStableViewController.o中的TFC12MYProject28AttendeeStableViewController 24获取的ResultsController CSO26NSfetchedResultsController __TFC12MYPROJECT27SessionsTableViewControllerg24获取的ResultsControllerCSO26NSfetchedResultsControllers在SessionsTableViewController.o中 __TFC12MYProject21BarCodeViewController.o中的启动扫描FS0\u FT\u Sb “\uuuuTFSS26\uForceBridgeFromObjectiveCU\uuuuuFTPSS9AnyObject\uMQ\uuuuuuq\uuu”,引用自: __TFC12MYPROJECT7RESTAPI 12RESTRESTKITFS0英尺 __TFC12项目16 Bluetooth Manager 17在Bluetooth Manager.o中开始转换 __TFC12MYPROJECT19LOGINVIEWCONTROLLER 32 LoginViewController.o中的注册表项BoardNotificationsFS0 __TFC12MYPROJECT19LOGINVIEWCONTROLLER 35在LoginViewController.o中从键盘通知中注销 __TFC12MYPROJECT19LOGINVIEWCONTROLLER 16在LoginViewController.o中调用PROCESSLOGINFS0_FT_T_ __TFC12MYPROJECT21CHECKINVIEWCONTROLLER 16在CheckinViewController.o中启用BeaconModeFS0 __TFC12MYProject21BarCodeViewController.o中的启动扫描FS0\u FT\u Sb ... ld:未找到架构arm64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)


这似乎是由于(对大多数人而言)链接了不支持请求的体系结构的第三方库造成的。

我通过删除
~/library/Developer/Xcode/DerivedData
文件夹中的所有数据解决了我的问题。我在另一个线程中读到了这一点,但忽略了它,认为一个干净的包含了这个过程

我也遇到了类似的问题(苹果框架中的链接器错误)。事实证明,问题是我缺少库LocalAuthentication.framework。我想知道,也许您需要从构建阶段选项卡中删除基础框架(链接库部分),然后重新添加?也许这能解决问题

1)我面临同样的问题,但只要从
User/Library/Developer/Xcode/DerivedData
的派生数据中清除应用程序,我就可以运行代码了

2) 在您的情况下,它将通过从构建设置中删除armv7体系结构来运行。并确保编译器是生成设置中的默认编译器


谢谢,我希望这对你和每个人都有帮助

这里发生的事情与派生数据位置无关

构建swift应用程序时,它将经历几个步骤:

  • 写入辅助文件

  • 创建产品结构

  • 为每个架构编译swift源代码

  • 复制资源规则plist

  • 复制应用程序桥接头

  • 针对每个体系结构的swift运行库的链接

  • 为每个架构复制应用程序swift模块

  • 创建应用程序二进制文件

  • 复制资源构建阶段

  • 将swift标准库复制到应用程序中

  • 打包

  • 签字

唷!太多了。链接swift运行库时,生成失败。它们位于Xcode开发者目录中的
toolschains/XcodeDefault.xctoolschain/usr/lib/swift/iphoneos
中。具体来说,未正确链接的库是
libswiftCore.dylib
。如果在该库中使用
nm
,则可以看到它定义了第一个缺少的符号:

quellish% nm /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib | grep compareNSStringDeterministicUnicodeCollation
00197c8c T _swift_stdlib_compareNSStringDeterministicUnicodeCollation
000000000018352c T _swift_stdlib_compareNSStringDeterministicUnicodeCollation
您还可以使用
lipo
查看文件中的体系结构:

quellish% xcrun lipo -info /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib
Architectures in the fat file: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib are: armv7 arm64
它包含armv7和arm64。问题不在于图书馆架构

与swift标准库的链接不起作用。可能是源代码管理或迁移Xcode版本导致项目文件删除了部分链接步骤,或者根本无法找到需要链接的库。Xcode项目文件非常复杂,并且使用了大量引用-合并等可能导致关键引用与链接步骤分离。如果没有完整的构建日志和查看您的机器,可能无法判断

正如您可能猜到的,这个库与项目的派生数据位置无关

不幸的是,前进的最佳方式是b
extern NSString *globalNotes;
extern NSString *globalUserCountry;
globalNotes= @"Error (Marker 1010)";
globalUserCountry= @"No result";
@property(nonatomic, strong, readwrite) NSString *globalNotes;
@property(nonatomic, strong, readwrite) NSString *globalUserCountry;
self.globalNotes= @"Error (Marker 1010)";
self.globalUserCountry= @"No result";