【问题标题】:How can I get Xcode to build my app for iOS?如何让 Xcode 为 iOS 构建我的应用程序?
【发布时间】:2021-06-02 18:38:25
【问题描述】:

我有一个多年前编写的 macOS 应用程序;它在我的 Mac 上运行良好。最近我认为在我的 iPhone 上拥有同样的应用程序会很好,所以我在我的 Xcode 项目中添加了一个 iOS 目标。我以前从未为 iOS 构建过,所以我在这里开辟了新天地。

无论如何,当我为 iOS 构建时,我收到一条错误消息:“为 iOS 构建时 Cocoa 不可用。”在 Apple 的“Cocoa Fundamentals Guide”中有一个突出的声明:“Cocoa 是一组面向对象的框架,它为在 OS X 和 iOS 中运行的应用程序提供运行时环境。”

这是否意味着我可以运行一个使用 Cocoa 但不是 build 的应用程序?我不知所措;我不知道如何通过这个。可以在没有 Cocoa 的情况下构建 iOS 应用程序吗?我该怎么做呢?任何建议都将受到欢迎。我在 macOS Big Sur 11.4 上运行 Xcode 12.5。我的应用程序的 UI 是用 Objective-C 编写的,它的功能是用纯 C 语言编写的。另外,我的应用程序仅供我自己使用,不用于发布。

【问题讨论】:

  • 我找到了您提到的文档,顶部显示已停用。 Mac 框架 Cocoa 使用 AppKit,iOS 框架 Cocoa Touch 使用 UIKit,这是两个截然不同的框架。现在有很多方法可以构建多平台应用程序,信息在网上很容易获得。

标签: ios xcode


【解决方案1】:

无论如何,当我为 iOS 构建时,我收到一条错误消息:“为 iOS 构建时 Cocoa 不可用。”在 Apple 的“Cocoa Fundamentals Guide”中有一个突出的声明:“Cocoa 是一组面向对象的框架,它为在 OS X 和 iOS 中运行的应用程序提供运行时环境。”

这有点令人困惑。 iOS 使用 Cocoa 主题的变体,称为 Cocoa Touch。更具体地说,macOS 上的用户界面框架称为 AppKit,而 iOS 用户界面框架是 UIKit。如果您对 AppKit 感到满意,那么学习足够多的 UIKit 来完成工作并不难。其他框架(Foundation、Core Graphics、Core Data 等)在两个平台上几乎相同。

这是否意味着我可以运行使用 Cocoa 但不能构建的应用程序?

没有。你至少要重写你的应用程序的用户界面部分,然后它才能在 iOS 上运行。 iOS 设备显然使用了一种不同的用户交互模型:没有硬件键盘、没有鼠标、可以同时处理多个触摸的触摸屏、更小的屏幕以及 Mac 上不存在的各种传感器,所以不同的与用户交互的方法是不同的。如果您在 Mac 应用程序中小心地将业务逻辑(模型)与用户界面(视图)分开,那么您很可能能够重复使用其中的大部分内容。

【讨论】:

    【解决方案2】:

    尝试使用 Cocoa touch 或 UIKit 重写您的代码。我不擅长iOS编码,顺便说一下,我知道Cocoa框架是针对Mac OS的,触摸设备的框架是Cocoa touch。

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多