iOS SDK Hue Philips with Swift

3
我尝试在Objective C中导入iOS SDK以使用Hue。
我按照这里的说明进行操作: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 Extension 的 Build Phases 中将 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刚刚被链接到了我的项目的Link Binary中。因此,我也在我的项目Watch Extension的Link Binary(Build Phases)中添加了一个链接。 - Pierre Charpentier
现在,我遇到了架构问题:ld: 文件是通用的(4个切片),但不包含 armv7k 切片:... clang: 错误:链接器命令失败,退出码为 1(使用 -v 查看调用) - Pierre Charpentier
1个回答

0

没错,它被命名为HueSDK_iOS.framework是有原因的:iOS和watchOS是两个不同的操作系统,拥有两种不同的架构。

相反地,要么让你的手表应用程序与手机应用程序通信(建议使用),要么完全放弃SDK,并让您的手表应用程序通过使用NSURLSessionNSJSONSerialization直接发送http/json来读取和编写桥接JSON。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接