Rubymotionのアレコレ2

RubyMotionのアレコレの続き。

・app.provisioning_profileの指定
Xcode5でファイル特定ができなくなった?っぽいのでterminalから直接調べにいきます。
cd ~/Library/MobileDevice/Provisioning Profiles で移動して、head * すると、ファイルの中身に

<key>AppIDName</key>
<string>アプリ名</string>

みたいなのが出てくるので、そのファイルをapp.provisioning_profileに指定する。
ちょっとめんどくさい。

・AppStoreへのリリース時
rake archive:distributionで.ipaを作成。
Xcodeを起動して、メニューの[Xcode] > [Open Developer Tool] > [Application Loader]を起動する。
Deliver Your Appをクリックすると事前にiTunes Connectで登録した情報が出てくる(出てこない場合は何かしら情報が足りてないかAgreeしていない項目があるかも)ので、そこからアップロードする。
指定したprovisioning profileが違うとか、アイコンファイルが足りないとか色々でるので頑張って用意する。
あとはレビューを経てReady For Saleになるまで待つ。

広告

RhodesでAndroidとiPhoneのアプリを、と思ったけれど…

たぶん使わないと思うので足早に。

インストール

> mkdir rhodes_projects
> cd rhodes_projects
> rbenv gemset create 1.9.3-p194 rhodes
> echo rhodes > .rbenv-gemsets
> gem install rhodes
> rbenv rehash
> rhodes-setup
We will ask you a few questions below about your dev environment.

JDK path (required) (/Library/Java/Home): 
Android SDK path (blank to skip) (): /usr/local/Cellar/android-sdk/r20.0.1
Android NDK path (blank to skip) (): /usr/local/Cellar/android-ndk/r8b
Windows Mobile 6 SDK CabWiz (blank to skip) (): 
BlackBerry JDE 4.6 (blank to skip) (): 
BlackBerry JDE 4.6 MDS (blank to skip) (): 
BlackBerry JDE 4.2 (blank to skip) (): 
BlackBerry JDE 4.2 MDS (blank to skip) ():

プロジェクト作成

> rhogen app basestation
> cd basestation
> vi build.yml
android:
  version: 4.1

scaffold的ななにか。

> rhodes model cbase id
Generating with model generator:
     [ADDED]  app/Cbase/index.erb
     [ADDED]  app/Cbase/edit.erb
     [ADDED]  app/Cbase/new.erb
     [ADDED]  app/Cbase/show.erb
     [ADDED]  app/Cbase/index.bb.erb
     [ADDED]  app/Cbase/edit.bb.erb
     [ADDED]  app/Cbase/new.bb.erb
     [ADDED]  app/Cbase/show.bb.erb
     [ADDED]  app/Cbase/cbase_controller.rb
     [ADDED]  app/Cbase/cbase.rb
     [ADDED]  app/test/cbase_spec.rb

ビルド
> rake -T
> rake run:android

rakeながいよ

run:iphoneするならXcodeのPreferencesからiOS 5.0 Simulatorをinstallしておく。

> rake run:iphone

ながいー

うーん、Rubyでマルチプラットフォームは魅力なんだけど、うーん。。

RubyMotionのアレコレ

詰まりそうなところ。

・app.provisioning_profileの指定

XcodeのOrganizerでプロファイルなど作っているとどこにあるのか、また誰のデバイスを登録してあるのかわからなくなることがありますが、Provisioning Profilesの適当なプロファイルを右クリックして、Reveal Profile in Finderとかクリックすればファイルの場所がわかります。

ちなにみOrganizerで更新するとファイル名が変わったりすることがあり混乱。

・testflightappでテストアプリをインストール出来ない

デバイス登録ができてないはず。
testflightappからテスター登録した人のデバイスIDのメールが来たら、iOS Provisioning PortalのDevicesからAdd Devicesで追加し、それが反映したProvisioning Profileをapp.provisioning_profileで指定してあげればよい。
ワイルドカードだとうまくいかない?のかもしれないので、App IDsから新しいID作って、それからProvisioning Profileを作るといいかも。
Portal上でApp ID作ったらProvisioning ProfileはそのままPortalで作りダウンロードしてもいいし、XcodeのOrganizerで作ってもいい。

・Rakefileまわりのひな形

bundle install –path vendor/bundleした時にbundle exec rakeは面倒なのです。
なので自分テンプレ

これでbundle execしなくても、ちゃんとvendor/bundleを見てる。

・app.podsで指定したライブラリが読み込まない?

pod ‘NanoStore’とかで指定したのにNanoStoreクラスないよとかエラーがでたらrm -rf vendor/Podsしてrakeすればよい。

・AppStoreへのリリース時

rake archive:releaseでできた.ipaをアップするんだとおもうが、これOrganizerからできるのかな。
TODO: リリースしたら書く
続きを書いた。

あまりメモってなかったな。。

iPhone, 実機転送で詰まったところをメモ

今更感のある。

基本的に、iPhone Developer ProgramのPortalにあるHow Toの通りにやれば出来るのですが、最後のビルドでこけたのでー。

XcodeのオーガナイザーからProvisioningを追加するのですが、これDeviceのところのProvisioningの+ボタンから追加するだけではダメらしく、IPHONE DEVELOPMENTのProvisioning Profileにファイルをドラッグ&ドロップすると追加できるのです。

こうしておくとコード署名IDのところで証明書を選択できて、「ビルドして実行」した時に証明書エラーが出なくなり実機で動かす事が出来るのでした。

というかAndroidアプリも調べねばー

モバイル系のアプリは作るの楽しいんだよね!