目次
- 目次
- はじめに
- インストール方法と注意点
- kivy for iosで簡単なiOSアプリを作って、端末にインストールする方法
- kivy for iosのtoolchain.pyの使い方
- 最後に
- 参考資料
- MyEnigma Supporters
はじめに
先日、Kivyを使った、
マルチプラットフォームにおける
Hello world GUIアプリの作り方を説明しました。
今回はその中でもiOSアプリを作成できる、
kivy for iOSによるアプリの作り方の注意点や、
ツール群の使い方の説明をしたいと思います。
ネットで調べると、
いくつかkivy for iOSでモバイルアプリを作る記事を見かけますが、
build_all.shを使う古いバージョンの説明が多いため、
新しいバージョンの説明をしたいと思います。
インストール方法と注意点
kivyのインストール方法は下記を参照下さい。
しかし、いくつか注意点があります。
注意点1: kivy for iosはPython2.7.xしか対応していない。
Python3.3.xは現在対応中らしいので、
MacにはPython2.7.xをインストールした状態で、
kivy for iosを利用する必要があります。
注意点2: build_all.shを使う方法は廃止
以前のkivy for iosではbuild_all.shを使う方法が利用されていましたが、
その方法は新しいバージョンでは廃止されたようです。
もし古いバージョンのソフトを使いたい場合は、
old-toolchainというタグのkivy for iosを使いましょう。
kivy for iosで簡単なiOSアプリを作って、端末にインストールする方法
下記の記事を参照下さい
kivy for iosのtoolchain.pyの使い方
kivy for iosは基本的に、
toolchain.pyというスクリプトを使って、
iOS用のアプリをPythonコードから生成します。
下記がそれぞれのtoolchain.pyのオプションの説明です。
recipes: kivy for ios用のビルドされたライブラリの一覧を表示
recipesオプションは、
kivy for iosで使用できるライブラリの一覧とそのバージョンを
表示するオプションです。
kivy for iOSでは利用できるPythonモジュールをrecipeと言うようです。
下記のコマンドでライブラリの一覧とバージョンを表示することができます。
$ ./toolchain.py recipes
つまり、上記のリストに書かれたライブラリは、
iOS用のPythonスクリプトの中で利用できるということです。
逆に言うと、こちらのリスト以外のモジュールは
kivy for iosでは使用できないということのようです。
status: kivy for ios用のレシピとビルド状態の表示
statusオプションは、先ほどのrecepiesに似ていますが、
それぞれのrecepiesのビルド状況を
表示するオプションです.
$ ./toolchain.py status
まだビルドされていないライブラリは、
下記のbuildオプションでビルドすることができます。
build: 指定したレシピをビルド
buildオプションは、
指定したレシピをビルドするコマンドです。
$ ./toolchain.py build numpy
上記のビルドをすることで、
iOSのアプリ上でそのモジュールが使えるようになります。
clean: 指定したレシピをクリーン
cleanは指定したレシピのビルドを
クリーンするオプションです。
$ ./toolchain.py build numpy
レシピを再ビルドしたい時やアップデートしたい時に使うようです。
distcleanという似たようなコマンドもありますが、
こちらはどのような用途で使うのかわかりませんでした。。。
create: xcodeのプロジェクトを作成
下記のコマンドで指定したディレクトリの
Pythonソフトをxcodeのプロジェクトに変換します。
$ # ./toolchain.py create title app_directory
$ ./toolchain.py create test ~/test
ちなみに、アプリのタイトルはスペースを含まないものである必要があり、
指定するのはディレクトリで、
起点となるPythonスクリプトはmain.pyという名前である必要があります。
加えて、指定するディレクトリはフルパスである必要があります。
(相対パスはNGです)
そして、無事xcodeのプロジェクトが生成された場合は、
下記のコマンドでxcodeからプロジェクトを開くことができます。
open test/test.xcodeproj
ちなみに一度プロジェクトを作ってしまうと、
そのパスを使ってビルドを実施するため、
ディレクトリを移動させるとビルドが通らなくなるため注意しましょう。
update: 既存のxcodeプロジェクトを更新
前述のbuildコマンドを使って、
必要なレシピをビルドした際に、
その前にcreateで作成してしまったxcodeのprojectに
そのレシピを使いたい場合はこのupdateオプションを使います。
$ ./toolchain.py update test
以上のコマンドでtestプロジェクトが、
最新のビルド結果を使って再構築されます。
launchimage: 画像データからアプリのLaunch画像をxcodeのプロジェクトに登録
launchimageは、
アプリが立ち上がる時の画像(Launch画像)を
xcodeの設定に登録するオプションです。
まず初めにLaunch画像用の画像ファイルを準備し、
下記のコマンドでcreateで作成したプロジェクトに追加します。
$ #./toolchain.py launchimage app_dir image_path
$ ./toolchain.py launchimage test1-ios launch_image.png
しかし、自分の環境の場合
そのままビルドしてもlaunch画像は設定されませんでした。
下記のように、
xcodeの設定 General->Launch Image Sourceを
LaunchImageを設定する必要がありました。
すると、アプリを起動した時に
launch画像が表示されるようになりました。
icon: 画像データからアプリのアイコン画像をxcodeのプロジェクトに登録
アプリ用の画像データをxcodeのプロジェクトデータに追加するオプションです。
まず初めにアプリ用の画像データを作成し、
下記のコマンドでcreateで作成したプロジェクトに追加します。
$ #./toolchain.py icon app_dir image_path
$ ./toolchain.py icon test1-ios icon_image.png
すると、xcodeにアイコンの画像データが追加されるので、
そのままアプリを端末に送ると、
下記のようにアプリのアイコン画像が設定されます。
一つ注意点として、
事前に作成したアプリの画像データは縦横同じ長さでなくては、
アプリのビルドが失敗します。
下記のWebサイトを使うことで
アプリ用の縦横同じサイズの画像が作れます。
最後に
これで簡単なiOSアプリはPythonで作れそうです(^^)。
あとは、カメラや加速度計などの
センサのデータなどに
どのようにPythonからアクセスできるかを調べて、
追記したいと思います。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。