MyEnigmaスマートフォン用の表示で見るMyEnigmaとあるエンジニアのブログです。iOS,AndroidのGUIを作ることはできない。Supportersはじめに先日、PythonのGUIライブラリPyQtの使い方を紹介しました。綺麗なGUIが作れるので良いのですが、2つ問題があります。iOS,AndroidのGUIを作ることはできない。Linuxなどのコンピューター上のみの対応で、スマホや、タブレットには対応していません。iOSを使えば良いという声も聞こえてきそうですが、Pythonで無料&単一ソースコードが理想です。(PySideというLPGLの実装形態もありますが、こちらは実装が古いようです。GUIライブラリを見つけました。Linuxだけでなく、iOSやAndroidにも対応しています。ライセンスもMITで安心です。iOS上で非常に簡単なGUIアプリを作成する方法について説明したいと思います。後日追記したいと思います。GUIフレームワークです。マルチタッチなどのユーザインターフェイスを簡単に実装できます。2をベースにしています。これにより、GPUによるスムーズなレンダリングが可能になっています。単一の同じコードで利用することができるのも特徴です。商用、非商用の両方で使いやすい形になっています。各プラットフォームへのインストール方法は下記の通りです。Macへのインストール公式マニュアル通り、brewとpipを使った方法でインストールできました。基本的には、下記のREADMEにある通りにソフトのインストールとビルドを実施します。iOS初めに、下記をインストールします。cython==0.21cythonのバージョンが先ほどと違うような気がしますが。続いて、kivy-iosのソースコードをクローンして、kivy-iosをビルドします。kivy上記のビルドは結構時間がかかりました。使い方の説明が表示されたら、インストールは完了です。./toolchain.pyUbuntuへのインストール公式のドキュメント通りでOKでした。python-kivyWindowのインストール公式のドキュメント通り、pipでインストールしました。Windowを作る方法について説明します。初めに、下記のpythonコードを適当な名前(今回はhelloworld.py)で保存します。World')TestApp().run()上記のpythonコードを各プラットフォームで実行させる方法は下記の通りです。GUIアプリが表示されました。bashを使った場合、アプリがエラーで落ちてしまいました。標準のコマンドプロンプトから起動するとちゃんと実行できました。GUIiOSでGUIアプリを起動させるのはアプリとしてiOS端末にソフトをインストールする必要があるため、すこし手順が必要です。いくつかハマり所があるので注意しましょう。先ほどのhelloworld.pyをmain.pyという名前で、そのディレクトリの中に保存します。kivyの場合、メインのpythonスクリプトは、main.pyという名前である必要があるようです。下記のコマンドで先ほどのアプリのディレクトリを元に、xcodeのプロジェクトファイルを作成します。../helloworldすると、helloworld-iosというディレクトリが出来ているはずです。xcodeのプロジェクトファイルを開く下記のコマンドでxcodeのプロジェクトファイルをターミナルから開きます。helloworld-ios/helloworld.xcodeprojするど自動的にxcodeでプロジェクトが開きます。xcodeでビルド続いて、xcodeで先ほどのアプリをビルドします。基本的には、インストールしたい端末をMacにつなぎ、左上のデバイスの部分から端末を選び、より左側にある三角のマークを押すとソフトのビルド&インストールが実行されます。Xcode7.3では色々エラーが発生しました。Identifierの部分を変更します。今回の場合は、helloworld201605としました。BitcodeをNoにしましょう。端末にアプリがインストールされました。iOSの端末でアプリを実行する無事インストールできた場合は、kivyのアイコンのアプリがiOS端末にインストールされているはずなので、そのアプリをタップすれば、アプリが起動します。設定->一般->プロファイルとデバイス管理でデベロッパAPPをクリックして認証する必要があります。worldが表示されました。iOSの使い方は下記の記事を参照下さい。myenigma.hatenablog.comkivyによるGUIの作り方こちらを参照下さい。myenigma.hatenablog.com最後にこれでPythonでiOSアプリが作れますね(^^)。Pythonが好きになりそうです。Supportersもしこの記事が参考になり、ブログをサポートしたいと思われた方は、こちらからよろしくお願いします。はてなブログProとあるエンジニアのブログです。Page月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。