我尝试在 Hue 的 Objective C 中导入 iOS SDK。
我按照此处的说明操作:https://github.com/PhilipsHue/PhilipsHueSDK-iOS-OSX
我将 HueSDK_iOS.framework 添加到我的项目中,添加了所有 Lumberjack 文件,并使用导入行创建了 .h。
之后,我在我的代码中使用了:
var phHueSdk : PHHueSDK = PHHueSDK()
var searching : PHBridgeSearching = PHBridgeSearching()
我有这个错误:
Undefined symbols for architecture armv7k: "_OBJC_CLASS_$_PHHueSDK", referenced from: type metadata accessor for __ObjC.PHHueSDK in InterfaceController.o "_OBJC_CLASS_$_PHBridgeSearching", referenced from: type metadata accessor for __ObjC.PHBridgeSearching in InterfaceController.o ld: symbol(s) not found for architecture armv7k clang: error: linker command failed with exit code 1 (use -v to see invocation)
我找到了很多解决这个问题的方法,例如将文件添加到编译源。它不起作用。
更新:
当您在项目 WatchKit 扩展的构建阶段将 SDK 添加到 Link Binary 时,此问题已解决
新问题:
ld: file is universal (4 slices) but does not contain a(n) armv7k slice: ... clang: error: linker command failed with exit code 1 (use -v to see invocation)
我在 watchOS 上工作。可能SDK不支持watchOS
最佳答案
对,它被命名为 HueSDK_iOS.framework 是有原因的:iOS 和 watchOS 是两个不同的操作系统,具有两种不同的架构。
相反,要么让 watch 应用与手机应用对话(推荐),要么完全放弃 SDK,让 watch 应用使用 NSURLSession 发送 http/json 直接读取和写入桥接 JSON > 和 NSJSONSerialization。
关于iOS SDK Hue Philips with Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38529055/