我想编译一个使用Python和Kivy库为ios设备开发的应用程序。我已按照此页面中解释的过程进行操作,并使用以下命令创建了一个 Xcode 项目:
toolchain create <title> <app_directory>
然后我使用以下命令打开项目:
open touchtracer-ios/touchtracer.xcodeproj
但是,当尝试使用播放按钮启动应用程序时,几分钟后我收到错误
Command PhaseScriptExecution failed with a nonzero exit code
。
这是错误的完整日志:
Showing Recent Messages
tools/game_tools/
tools/game_tools/__init__.py
tools/game_tools/sound.py
tools/game_tools/__pycache__/
tools/game_tools/__pycache__/__init__.cpython-311.pyc
tools/game_tools/__pycache__/sound.cpython-311.pyc
tools/kivads_src/
tools/kivads_src/BListener.java
tools/kivads_src/FullScreen.java
tools/kivads_src/ICallback.java
tools/kivads_src/RCallback.java
tools/kivads_src/RICallback.java
tools/kivy_tools/
tools/kivy_tools/__init__.py
tools/kivy_tools/image_button.py
tools/kivy_tools/image_with_text.kv
tools/kivy_tools/image_with_text.py
tools/kivy_tools/image_with_text_button.kv
tools/kivy_tools/image_with_text_button.py
tools/kivy_tools/screen.kv
tools/kivy_tools/screen.py
tools/kivy_tools/tools_kivy.py
tools/kivy_tools/images/
tools/kivy_tools/images/defaulttheme.atlas
tools/kivy_tools/images/defaulttheme.png
sent 2397664951 bytes received 1256148 bytes 15939675.08 bytes/sec
total size is 2394471022 speedup is 1.00
rsync warning: some files vanished before they could be transferred (code 24) at /AppleInternal/Library/BuildRoots/0032d1ee-80fd-11ee-8227-6aecfccc70fe/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]
Command PhaseScriptExecution failed with a nonzero exit code
为了解决这个问题,我在互联网上搜索了更多信息,发现这个page提到了类似的问题。我已经尝试了建议更新 CocoaPods 并清理构建文件夹的解决方案,但没有任何改进。
我已经使用此命令更新了 Cocoapods:
sudo gem install cocoapods
我当前的 Xcode 版本是 15.2,我的 CocoaPods 版本是 1.15.2。
您能帮我解决这个问题吗?我真的不知道如何解决它。
我设法找到了这个问题背后的原因,发生这种情况是因为我的应用程序编译文件夹(在 kivy 演示中表示为
touchtracer-ios
)位于我的项目文件夹内。这很糟糕,因为当项目尝试编译时,它还包含编译文件并尝试编译它们,这会创建一个循环,其中编译不断在 YourApp
文件夹内创建 YourApp
文件夹,依此类推。
要解决此问题,请从主项目文件夹中删除
<your_app>-ios
文件夹,然后通过在主项目文件夹外部运行命令 toolchain create <title> <app_directory>
将其放在其他位置。