首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode8.1架构x86_64错误的未定义符号

Xcode8.1架构x86_64错误的未定义符号
EN

Stack Overflow用户
提问于 2016-11-22 22:54:08
回答 3查看 16K关注 0票数 3
代码语言:javascript
复制
Undefined symbols for architecture x86_64:
"_BROADCAST_MODE_IBEACON", referenced from:
-[MainViewController tableView:cellForRowAtIndexPath:] in MainViewController.o
"_OBJC_CLASS_$_TZBeaconSDK", referenced from:
  objc-class-ref in MainViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

当我想要使用模拟器时,我会接受这个错误。当我在iPhone上构建它时,没有任何问题。只有当我使用模拟器时才会有问题。我尝试从构建设置中更改架构,错误文本更改为i386,但问题是相同的。

我使用的是sdk;TZBeacon

sdk有问题吗?你能帮我解决那个问题吗?

EN

回答 3

Stack Overflow用户

发布于 2016-11-22 23:13:42

您的库不支持模拟器。运行以下命令行以查看它支持哪种体系结构:

代码语言:javascript
复制
lipo -info libTZBeaconSDK.a

结果是: fat文件中的架构: libTZBeaconSDK.a是: armv7 arm64

所以,你必须在设备中测试,而不是在模拟器中!

票数 10
EN

Stack Overflow用户

发布于 2016-11-22 23:00:28

通常,如果框架的体系结构是为设备构建的,那么在模拟器中就会出现这种错误。您需要使用为模拟器构建的框架版本才能在模拟器上运行它。这是框架供应商应该提供的东西。

如果他们没有提供,那么在构建到设备而不是模拟器时,请考虑只包含框架。这里有另一个SO答案可以为您指明正确的方向:How to only include a framework when building for device, not iOS Simulator?

票数 5
EN

Stack Overflow用户

发布于 2017-10-10 22:35:21

这里有个简单的技巧:Go -> 转到Folder ,然后清理你的项目,然后运行。

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

https://stackoverflow.com/questions/40745020

复制
相关文章

相似问题

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