使用swift桥接库时NSWorkspace抛出错误

时间:2015-03-12 21:24:13

标签: objective-c swift pocket

我正在使用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而烦恼。

1 个答案:

答案 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