我正在使用pocket api并将其桥接以与swift一起使用并且它会抛出错误"语义问题:使用未声明的标识符' NSWorkspace&#39 ;"对于他们的obj-c API中的以下行:
[[NSWorkspace sharedWorkspace] openURL:url];
该应用程序的目标是os 10.9+,因此它应该可用。
关于什么可能导致错误的任何想法?
更新 我还在iOS上进行了测试,并且它返回了相同的错误,但是使用了“UIApplication”#。而不是' NSWorkspace'。
我也忘了提到我必须在 Build Phases 标签中使用-fno-objc-arc
标志,这样lib就不会因为ARC而烦恼。
答案 0 :(得分:1)
通过在 PocketAPI.m 和 PocketAPILogin.m 中导入后添加以下代码,使其适用于iOS和OSX:
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
#import <UIKit/UIKit.h>
#endif
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
#import <Appkit/AppKit.h>
#endif