使用 swift 桥接库时 NSWorkspace 抛出错误
NSWorkspace throwing error when bridging library with swift
我正在使用 pocket api 并将其桥接以与 swift 一起使用,它在其 obj-c API 中为以下行抛出错误 "Semantic issue: Use of undeclared identifier 'NSWorkspace'" ]:
[[NSWorkspace sharedWorkspace] openURL:url];
该应用的目标是 os 10.9+,因此它应该可用。
关于导致该错误的原因有什么想法吗?
更新
我还在 iOS 中进行了测试,它返回了相同的错误,但使用 'UIApplication' 而不是 'NSWorkspace'。
我也忘了提到我必须在 Build Phases 选项卡中使用 -fno-objc-arc
标志,这样库就不会因为 ARC 而崩溃。
通过在 PocketAPI.m 和 中导入后添加以下代码,使其在 iOS 和 OSX 上运行PocketAPILogin.m:
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
#import <UIKit/UIKit.h>
#endif
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
#import <Appkit/AppKit.h>
#endif
我正在使用 pocket api 并将其桥接以与 swift 一起使用,它在其 obj-c API 中为以下行抛出错误 "Semantic issue: Use of undeclared identifier 'NSWorkspace'" ]:
[[NSWorkspace sharedWorkspace] openURL:url];
该应用的目标是 os 10.9+,因此它应该可用。
关于导致该错误的原因有什么想法吗?
更新 我还在 iOS 中进行了测试,它返回了相同的错误,但使用 'UIApplication' 而不是 'NSWorkspace'。
我也忘了提到我必须在 Build Phases 选项卡中使用 -fno-objc-arc
标志,这样库就不会因为 ARC 而崩溃。
通过在 PocketAPI.m 和 中导入后添加以下代码,使其在 iOS 和 OSX 上运行PocketAPILogin.m:
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
#import <UIKit/UIKit.h>
#endif
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
#import <Appkit/AppKit.h>
#endif