Table Of Contents
Create a package for IOS(翻訳済み)¶
注釈
現在、iOS用のパッケージのみPython 2.7で生成ができます。Pythonの3.3+サポートについては途中です。
IOS用パッケージを作成する全体的なプロセスは、4つのステップで説明します:
IOS用にpython +モジュールをコンパイルします
Xcodeのプロジェクトを作成し、ソースコードをリンクします
Customize(カスタマイズ
Prerequisites(前提条件)¶
cython、autotoolsのようにいくつかの依存関係をインストールする必要があります。依存関係をインストールするには Homebrew を使用することをお勧めします::”
brew install autoconf automake libtool pkg-config
brew link libtool
sudo easy_install pip
sudo pip install cython==0.23
より詳細については、 :ref:`IOS の詳細<packaging_ios_prerequisites>`を参照してください。 第二段階を開始する前に、すべてが大丈夫であることを確認してください!
Compile the distribution(ディストリビューションをコンパイル)¶
ターミナルを開き入力してください:
$ git clone git://github.com/kivy/kivy-ios
$ cd kivy-ios
$ ./toolchain.py build kivy
Pythonディストリビューションのほとんどはp`python27.zip`にパックされています。 何か問題が発生した場合は`ユーザーグループ<https://groups.google.com/forum/#!forum/kivy-users>`_ または`kivy-IOSプロジェクトページ<https://github.com/kivy/kivy-ios>``_ を参照してください。 。
reate an Xcode project(Xcodeのプロジェクトを作成する)¶
次のステップに進む前に、アプリケーションのエントリポイントのファイル名が「main.py」であることを確認してください。
私たちは、実行するとXcodeプロジェクトを作成するスクリプトを提供しています。以下のコマンドラインでは、プロジェクト名に`test`を置き換えます。これは、任意のスペースや不正な文字を含まない名前にします:
$ ./toolchain.py create <title> <app_directory>
$ ./toolchain.py create Touchtracer ~/code/kivy/examples/demo/touchtracer
注釈
アプリケーションディレクトリへの絶対パスを使用します。
指定されたディレクトリ<`<title>-ios`の中にXcodeプロジェクトが作成されます。Xcodeのプロジェクトを開きます:
$ open touchtracer-ios/touchtracer.xcodeproj
Play をクリックして楽しんでください。
Updating an Xcode project(Xcodeプロジェクトの更新)¶
プロジェクトにnumpyを追加したいとしましょう、しかしXcodeプロジェクトを作成する前にそれをコンパイルしませんでした。 まず構築されていることを確認します:
$ ./toolchain.py build numpy
その後、Xcodeプロジェクトを更新します:
$ ./toolchain.py update touchtracer-ios
すべてのコンパイル済みのレシピを実行するために必要なすべてのライブラリ/フレームワークはXcodeプロジェクトに追加されます。
Known issues(既知の問題)¶
iOSのパッケージングに関する既知の問題はすべて、issues ページで追跡されてます。掲載されていないiOS用のパッケージ固有の問題が発生した場合は、お気軽に新しいissueを提出してください。
ほとんどの場合、ここに書き込むには技術的な面がありますが、重要な問題の1つは、kivyプロジェクトで必要とするライブラリ(SDL_Mixerなど)の削除は現在不可能です。将来のバージョンでこれと他のものを修正します。
FAQ(よくある質問)¶
アプリケーションが異常終了します!¶
デフォルトではコンソールやファイルへのすべてのprint文は無視されます。 アプリケーションの実行時に問題が発生した場合、main.mの以下の行をコメントアウトしてログを有効にできます。
putenv("KIVY_NO_CONSOLELOG=1");
その後、Xcodeのコンソール上にすべてのKivyのログが表示されるはずです。
How can Apple accept a python app ?¶
libpythonと呼ばれる単一のバイナリにすべてのライブラリとアプリケーションバイナリをマージしました。これはすべてのバイナリモジュールがあらかじめロードされていることを意味するので、動的にはロードされません。