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 是不是损坏?

Objective-C 初体验

《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营

Xcode 9.2 Shell 脚本调用错误