2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

kivy-iosで作ったプロジェクトがXcodeでビルドできない(Command PhaseScriptExecution failed with a nonzero exit code)

Last updated at Posted at 2021-08-06

# 困ったこと
kivy-iosで作成したプロジェクトファイルが、XcodeでビルドしようとするとCommand PhaseScriptExecution failed with a nonzero exit codeというエラーを出して止まる。

環境情報

MacOS: Big Sur 11.5.1
XCode: 12.5.1
kivy-ios(toolchain): 1.2.1
Python: 3.9.4
フォルダ構造:

~/working_dir/
 └ MyApp/
    ├ main.py
    ├ main.kv
    └ resources/

エラーが出た方法

※ 事前準備として、Xcodeのインストールと、2021.8.6時点の公式readmeに従って、「Installation & requirements」セクションまで終わらせた。

cd ~/working_dir/MyApp/ #すべての元凶
toolchain build python3 kivy # recipeのビルド
toolchain create toshoapp /Users/MyName/working_dir/MyApp/
open toshoapp-ios/toshoapp.xcodeproj

以上を行うと、XCodeが立ち上がる。ビルド(左上の▶︎)すると、10-30分後ぐらいにエラーで止まる。
(さらにエラー内容が表示されるまでに異常に時間がかかる・・・)

そして実際に発生したエラーがこちら↓↓↓↓

エラー画像

rsyncのエラーに見える。
この時のディレクトリ構造が以下

~/working_dir/
 └ MyApp/
    ├ main.py
    ├ main.kv
    ├ resources/
    ├ build/ # ここから下が増えた
    ├ dist/
    └ toshoapp-ios/
       ├ toshoapp/
       ├ YourApp/
       ├ LaunchImages/
       ├ toshoapp/
       ├ resources/
        ├ toshoapp.xcodeproj
       └ 雑多なファイル類

試した右往左往

色々試した。

結局、解決策

ここで議論されていた。issue探しまくった・・・
書いてある問題の原因を転記する。自分が書いたソースコードのディレクトリ(main.pyが含まれるディレクトリとその配下)でtoolchain buildtoolchain createを行うと、toolchainが作ったフォルダをXcodeが誤って参照しエラーが起こるらしい。

具体的には以下のようにした。
①まずrecipeを使用したライブラリのコンパイル

cd ~/working_dir/
mkdir ./for_link/ # toolchain用の別のフォルダを作成
cd for_link
toolchain build python, kivy # 新しく作ったフォルダ内でtoolchainを利用

↓①の結果

~/working_dir/
 ├ MyApp/
 │  ├ main.py
 │  ├ main.kv
 │  └ resources/
 └ for_link/ #ここから下が増えた
    ├ build/
    └ dist/

②次に、Xcodeプロジェクトの生成

toolchain create toshoapp /Users/MyName/working_dir/MyApp/
cd ~/working_dir/
mkdir ./prdct/
mv ./MyApp/toshoapp-ios ./prdct/
cd ./prdct
open toshoapp-ios/toshoapp.xcodeproj

↓②の結果

~/working_dir/
 ├ MyApp/
 │  ├ main.py
 │  ├ main.kv
 │  └ resources/
 ├ for_link/
 │  ├ build/
 │  └ dist/
 ├ prdct/ #ここから下が増えた
    └ toshoapp-ios/
       ├ toshoapp/
       ├ YourApp/
       ├ LaunchImages/
       ├ toshoapp/
        ├ toshoapp.xcodeproj
       └ 雑多なファイル類

以上のようにフォルダを分けることで、動かすことができました〜!

学び

公式のりーどみーの書き方に騙されたが、常識的に考えてビルドするのに使う作業ディレクトリはソースコードのディレクトリと分けた方が良かった。
まさかカレントディレクトリを汚すとは思わなかったが・・・・

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?