我正在尝试快速使用适用于iOS的Hue SDK(iOS部署目标:9.3)。我已经下载了the source from github并按照说明进行了操作。


在Xcode(版本7.3.1)中创建了一个新的iOS应用程序
将框架(HueSDK_iOS.framework)拖到项目中
将“ Lumberjack”文件夹拖到项目中,确保选择了目标并选择了“如果需要复制”选项
使用虚拟objC文件创建桥接头,并添加“ #import”
在目标构建设置的链接器标志中添加了“ -ObjC”:
ios - 在Xcode中配置Hue SDK-LMLPHP
在AppDelegate中添加了let sdk = PHHueSDK()


已执行“清理构建文件夹”
运行应用程序时,出现以下错误消息:


  架构x86_64的未定义符号:“ _ OBJC_CLASS _ $ _ DDLog”,
  引用自:

  objc-class-ref in HueSDK_iOS(PHBridgeVersionManager.o)
  objc-class-ref in HueSDK_iOS(PHAuthentication.o)
  objc-class-ref in HueSDK_iOS(PHHeartbeatProcessingLocal.o)
  objc-class-ref in HueSDK_iOS(PHCLIPWrapper.o)
  objc-class-ref in HueSDK_iOS(PHAuthenticationStorage.o)
  objc-class-ref in HueSDK_iOS(PHHueSDK.o)
  objc-class-ref in HueSDK_iOS(PHHttpRequester.o)
  ...

  
  从以下位置引用的“ _OBJC_CLASS _ $ _ DDTTYLogger”

  objc-class-ref in HueSDK_iOS(PHHueSDK.o)

  
  ld:找不到架构x86_64的符号
  
  铛:错误:链接器命令失败,退出
  
  代码1(使用-v查看调用)


似乎我在将SDK链接到项目时遇到问题。

我究竟做错了什么?

我的问题似乎与此stack overflow thread有关。
我还添加了该线程中建议的SystemConfiguration.framework,但未成功。

最佳答案

DDLog是一个Lumberjack方法,因此链接器未找到已编译的Lumberjack代码。

@Rapsefar,我使用7.3.1、9.3和当前的HueSDK_iOS.framework和Lumberjack文件夹完全按照您上面概述的步骤操作,创建了一个名为“ HueSwiftiOS”的应用程序。它编译并运行没有问题。这是我的桥接头文件的内容:

//  HueSwiftiOS-Bridging-Header.h
#ifndef HueSwiftiOS_Bridging_Header_h
#define HueSwiftiOS_Bridging_Header_h
#import <HueSDK_iOS/HueSDK.h>
#endif


没有链接器错误和调用:

let sdk = PHHueSDK()
print("sdk initialized: \(sdk)")


报告:

sdk initialized: <PHHueSDK: 0x125645640>


ios - 在Xcode中配置Hue SDK-LMLPHP

ios - 在Xcode中配置Hue SDK-LMLPHP

10-05 22:57