未定义符号:将Xcode更新到版本11.1后_OBJC_CLASS _ $ _ WKInterfaceController错误

问题描述 投票:2回答:1

我将Xcode更新到版本11.1,并收到此预期错误:

WatchKit在为iOS Simulator生成时不可用。

然后我按照建议从iOS应用目标中删除了WatchKit。从那以后,我遇到了这个错误:

体系结构x86_64的未定义符号:从以下位置引用的“ _OBJC_CLASS _ $ _ WKInterfaceController”INFOnlineLibrary(IOLWatchKitHelper.o)ld中的objc-class-ref:对于体系结构x86_64铛,找不到符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)

未定义符号:_OBJC_CLASS _ $ _ WKInterfaceController

PS:x86_64部分取决于设备/模拟器的选择。如果我选择一个真实的设备,它会给arm64带来同样的错误。因此,我也不认为这是体系结构问题,因为包含WKInterfaceController的框架只是一个标准的watchOS框架,即Watchkit。

PS_2:iOS应用程序中没有使用WKInterfaceController甚至WatchKit。仅用于WatchAppExtension部分

到目前为止我尝试过的:

  • [第一件事是将WatchKit框架添加到WatchApp,WatchAppExtension目标。
  • 当我搜索架构x86_64的未定义符号类型的错误时,通常会有很多不同的建议。即使我认为这与体系结构无关,但我尝试仅在所有目标中都设置不构建活动体系结构。建议将$(继承)放入搜索路径是最先完成的。
  • 检查了.m文件的目标。他们都很好。
  • 我什至走得很远,并注释了所有使用WKInterfaceController的代码。此后一切都没有改变。我还删除了监视应用程序,它仍在寻找_OBJC_CLASS _ $ _ WKInterfaceController,但不确定执行是否正确。
  • 我用file WatchKit.framework命令检查了WatchKit.framework设备支持文件,发现它支持arm64。然后将该库手动添加到库中,可以在设备上运行,但仍然无法使用。
ios objective-c xcode watchkit
1个回答
0
投票

请检查“构建通道”中的“将二进制文件与库链接”。是否有任何仍在使用WKInterfaceController或依赖于Watchkit的库?

© www.soinside.com 2019 - 2024. All rights reserved.