为iOS创建一个包。

为iOS创建包的整体过程可以分为4个步骤:

  1. :编译发行版(适用于 iOS 的 Python 及模块)

  2. :ref:`创建 Xcode 项目`(并链接您的源代码)

  3. :更新 Xcode 项目

  4. 自定义

先决条件

你需要安装一些依赖项,比如Cython、autotools等。我们建议你使用 Homebrew 来安装这些依赖项:

$ brew install autoconf automake libtool pkg-config
$ brew link libtool
$ pip install Cython==3.2.0

更多细节,请参阅 iOS 前置条件。在开始第二步之前,请确保一切正常!

编译该发行版。

打开终端,并输入:

$ pip install kivy-ios
$ toolchain build kivy

如果您遇到任何问题,请参考我们的`用户群组 <https://groups.google.com/forum/#!forum/kivy-users>`_或`kivy-ios项目页面 <https://github.com/kivy/kivy-ios>`_。

创建一个Xcode项目

在进入下一步之前,请确保您的应用程序入口点是一个名为 main.py 的文件。

我们提供了一个脚本,用于创建初始的Xcode项目作为起点。在下面的命令行中,将`title`替换为你的项目名称。该名称必须不含任何空格或非法字符:

$ toolchain create <title> <app_directory>
$ toolchain create Touchtracer ~/code/kivy/examples/demo/touchtracer

备注

你必须使用应用程序目录的完整限定路径。

将创建一个名为 <title>-ios 的目录,其中包含一个 Xcode 项目。您可以打开该 Xcode 项目:

$ open touchtracer-ios/touchtracer.xcodeproj

然后点击 Play,尽情享受吧。

备注

每次你按下 Play,你的应用目录都会被同步到 <title>-ios/YourApp 目录。请勿直接在 -ios 目录中进行修改。

更新 Xcode 项目。

假设你想在项目中添加numpy,但在创建XCode项目之前并未编译它。首先,确保它已构建::

$ toolchain build numpy

然后,更新你的 Xcode 项目:

$ toolchain update touchtracer-ios

运行所有已编译配方所需的所有库/框架都将被添加到您的Xcode项目中。

自定义 Xcode 项目

有多种方式可以定制和配置你的应用。更多信息请参阅 kivy-ios 文档。

已知问题

目前,所有已知的iOS打包问题都在我们的`issues <https://github.com/kivy/kivy-ios/issues>`_页面上进行跟踪。如果您遇到未列出的特定于iOS打包的问题,请随时提交新问题,我们将尽快回复您。

虽然大多数问题过于技术性,不便在此详述,但有一个重要的已知问题是,目前无法移除某些库(例如用于音频的SDL_Mixer),因为Kivy项目依赖它们。我们将在未来版本中修复此问题及其他相关问题。

常见问题解答

应用程序异常退出!

在调试模式下,所有打印语句都会发送到Xcode控制台。强烈建议查看并筛选这些日志。你可能会发现自己遗漏了构建或安装某个必需的依赖项。如果不是这种情况?欢迎在我们的Discord support 频道提问。

苹果如何接受一个Python应用?

我们成功地将应用二进制文件与所有库合并为一个名为libpython的单一二进制文件。这意味着所有二进制模块都已预先加载,因此不会有任何动态加载发生。

你是否已经向App Store提交过Kivy应用?

是的,当然。Kivy 应用在苹果应用商店