使用 XCode 8 如何在 macOS 上也将我的应用程序定位到 运行(它已经在 iPhone / iPad 上运行)?

With XCode 8 How Do I Target My App To Run on macOS also (it already runs on iPhone / iPad)?

谁能告诉我我在 XCode 项目中所做的更改,以便我的应用程序也可以部署到 Mac?

例如,我运行正在使用 Mac Mini,但我似乎无法 运行 在实际 Mac 上使用我的应用程序,即使它是iPhone 和 iPad 平台上的通用应用程序和 运行s。我的应用程序已经部署到应用程序商店 ( https://itunes.apple.com/us/app/cyapass/id1183137527?mt=8 ),我尝试以这种方式将它安装到 Mac,但这也不起作用。

是否可以通过 XCode 项目中的简单更改来实现? 或者,我是否必须创建一个专门针对 Mac 的新项目?

如果您有来自 XCode 的屏幕截图,如果在 XCode 项目中进行更改,我们将不胜感激。

不幸的是,iOS 开发所依赖的 OS X 有一些框架不适用,例如 UIKit。您可以查看完整列表 here

Chameleon,一旦完成,有望使从 iOS 到 OS X 的过渡更容易。

不过,您不一定需要创建新的 XCode 项目,因为您可以在两个平台之间共享通用框架和逻辑。

您基本上可以像这样构造您的代码 ()

- Workspace
    - Shared Code
        - File1.m       Target: iOS and OSX
    - iOS
        - File2.m       Target: iOS
    - OSX
        - File3.m       Target: OSX

虽然这样做时为每个文件设置适当的目标很重要。

最后但并非最不重要的一点是,Apple 之前曾在 WWDC13 期间发表过关于 how to bring iOS Apps to OS X 的演讲。请注意,只能使用 WWDC 应用程序或 Safari 观看演讲。当我需要实现现有 iOS 应用程序的 OS X 版本时,我之前发现这个演讲对我自己很有帮助。

Is this possible through a simple change in the XCode project?

不,不是。 AppKit 和 UIKit 完全不同。即使是 Core Graphics 等常见框架也有不同的 API。基本上,您只需要重写应用程序即可。您的核心逻辑(模型)可以是通用的,但 iOS 应用程序和 macOS 应用程序的工作将是完全独立的代码库。