iphone - 如何从 iPhone 项目中的代码编译 OSX Cocoa 框架?

标签 iphone cocoa xcode macos

这个问题来 self 之前问过的另一个问题:Calling custom Objective-C from a pyobjc application?

我想在其服务器端组件中重用我的 iPhone 应用程序中的一小部分应用程序逻辑,该组件在 OSX 上运行。根据我在另一个问题中被告知的内容,看来我需要从这一小段应用程序逻辑中为 iOS 和 OSX 编译一个“框架”。

如果我们假设我能够将这个框架中的所有代码隔离到没有其他非 Cocoa 依赖项的单个 .h/.m 文件对中,那么 XCode 中最简单的方法是什么为每个架构构建这个框架并避免在服务器上对所有这些逻辑进行双重编码?

我尝试向我的 iPhone 项目添加一个新的 OSX 框架构建目标,但这并没有走得太远,XCode 很快就摆脱了困境:

target specifies product type 'com.apple.product-type.framework', but there's no such product type for the 'iphonesimulator' platform

非常感谢任何帮助,因为我目前正在实现欺骗以保持事情向前发展,但是当实现稍微不同步时,这显然会成为巨大的时间浪费和错误来源。

最佳答案

取决于您在自定义类中使用的内容。如果您没有使用 UIKit/AppKit 中的任何内容,那么该类可能会在任一平台上运行良好,否则,您必须使用目标条件并包含单独的专门为这两个平台编写的代码。

您可以在一个 Xcode 项目中拥有多个目标,它们的 Base SDK 分别针对 Mac/iDevices 设置。

关于iphone - 如何从 iPhone 项目中的代码编译 OSX Cocoa 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221222/

相关文章:

iphone - 从终端 (Bash) 将应用程序内购买的 xcodeproj 转换为 pkg 文件,或者如何将 xcarchive 文件转换为 pkg 文件?

iphone - 将 HTTPS 与 Monotouch 和 WCF 结合使用

ios - 带有半透明导航栏的状态栏背景颜色

iphone - 如何防止再次保存相机胶卷中的图片

objective-c - 操作表顶部的 NSAlert 显示 "Do not show this message again"

macos - (Cocoa) NSScrollView 与 IKImageBrowserView 滚动到底部

macos - 我有一个连接到 IBAction 的 NSSearchField。如何将其设置为仅在按下 Enter 时触发操作?

iphone - 如何从 StoryBoard 设计的 UITableView 中删除静态单元格

swift - SpriteNode 位置与触摸位置

ios - 多个命令在 Xcode 13 中产生错误