ios - iOS 和 OS X 目标的通用预编译 header

标签 ios xcode macos xcode6 uikit

我有一个在 iOS 和 OS X 目标之间共享代码的项目。 iOS 目标编译正常。但是 OS X 目标以某种方式包含一个特定的静态库类,该类导入 UIKit 框架,并且出于明显的原因抛出错误。我不需要在 OS X 目标中包含该类别。我已从文件检查器中该文件的目标成员选项卡中取消选择 OS X 目标。作为 OS X 开发的新手,我不知道在为 OSX 编译时在哪里查看不包含该类。我可能做错了什么?

最佳答案

标题应该是这样的:

#if TARGET_OS_IPHONE
// iOS code
#import <UIKit/UIKit.h>
#endif

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif

XCode 中:

  1. Select the Target you wish to exclude the class or library from
  2. Click on Build Phases > Compile Sources or Link Binary With Libraries
  3. Select the class or library to exclude and hit -

该类不应再使用该目标进行编译。

关于ios - iOS 和 OS X 目标的通用预编译 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203558/

相关文章:

ios - Restkit:处理动态嵌套属性只返回一个对象

ios - 每次我按下调试线调用 NSMakeRange 的单步执行按钮时,都会进入 NSMakeRange

macos - Pritunl 客户端 : Unable to communicate with helper service, 尝试重新启动

objective-c - 将光标悬停在图像上?

objective-c - 为什么我不能在 XPC 服务中为 NSURLSessionDataTask 覆盖 SSL ServerTrust?

ios - 如何在 iOS 运行时自定义子类实现?

iphone - 数组中的 NSNumber

ios - UIAlertController 与 NSObject 重用次数更多

ios - 应用程序启动后加载不同的 View Controller

ios - 选项卡栏 Controller 更改指向现有项目的新 View Controller