Xcode 9.2 Objective-C 与 WCSession 的链接器错误
Posted
技术标签:
【中文标题】Xcode 9.2 Objective-C 与 WCSession 的链接器错误【英文标题】:Linker errors from Xcode 9.2 Objective-C with WCSession 【发布时间】:2018-01-21 04:04:33 【问题描述】:我正在向现有的相当复杂的 Objective-C ios 应用程序(我继承的)添加监视功能,但从一开始就遇到意外的构建错误。
ld:警告:找不到选项“-L/Users/mac/Documents/raceQs-iOS/ios/raceqs_pod/Library”的目录 ld:警告:找不到选项“-L/Users/mac/Documents/raceQs-iOS/ios/raceqs_pod/Pods/build/Release-iphoneos”的目录 ld:警告:找不到选项“-L/Users/mac/Documents/raceQs-iOS/ios/raceqs_pod/Pods/build/Debug-iphoneos”的目录 架构 arm64 的未定义符号: “_OBJC_CLASS_$_WCSession”,引用自: MainClass.o 中的 objc-class-ref ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
当我将以下代码添加到我的 Main 类时会生成错误:
#import <WatchConnectivity/WatchConnectivity.h>
@interface MainClass ()<WCSessionDelegate>
@end
和
if ([WCSession isSupported])
// WCSession *session = [WCSession defaultSession];
// session.delegate = self;
// [session activateSession];
我已经研究过这个问题,我认为这是我的构建设置库搜索路径的问题,它们是:
如有任何建议,我们将不胜感激。
【问题讨论】:
尝试删除 google analytics ios sdk,因为在 watch google maps 和所有其他 google sdk 中不受支持 【参考方案1】:固定
添加了 WatchConnectivity.framework 以使用库构建设置/链接二进制文件
【讨论】:
以上是关于Xcode 9.2 Objective-C 与 WCSession 的链接器错误的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Xcode 9.2 的 React Native CLI 版本
与 IBAction 链接的 UIButton 不能在物理设备上的模拟中工作,也不能在 Xcode 9.2 中的模拟器中工作
Xcode 9.2 和 Swift 4 中的 AppKit 的 IBDesignable 是不是损坏?