iPhone

iPhoneアプリでPopoverを実現するライブラリ(FPPopover)

 調べたのでメモです。
 iPadにはUIPopoverControllerがありますがiPhoneではこれに相当するものがありません。ボタンを表示するだけなら問題ありませんが、viewを表示したい場合もあるかもしれません。
 そこでiPhoneアプリでUIPopoverControllerを実現する方法を調べたところ、これを実現するライブラリがあったので紹介します。(自分では最終的に使いませんでした。自分の場合はそもそものボタン数を減らした上でUIAlertViewに全部任せました)

FPPopover
FPPopover, iPad-like popovers for iPhone
50pixels/FPPopover · GitHub

特徴
・矢印の向きは自動で配置される、矢印を非表示にする事もできる
・iPadでも動く
・カスタマイズ可能
・ライセンスはMIT License。


 なお、UIBarButtonを使うには注意が必要だそうです。
objective c - iPhone: Error when using the FPPopover class when using it with a UIBarButtonItem - Stack Overflow

Xcode4.5におけるiOSアプリのローカライズ方法

Xcode上での準備

 プロジェクトを選択し、Infoタブを開くと、そこにLocalizationsという項目があります。まずここの「+」ボタンを押して、必要な言語を追加します。
blog-xcode45localize
これでローカライズする準備ができます。

Info.plistのローカライズ

ホーム画面に並ぶアプリ名を言語毎に設定したりする場合に必要です。まずInfoPlist.stringsというファイルが無ければそれを作成します。これを選択した状態で、画面右側にあるであろうLocalizationという項にて必要な言語にチェックを入れると、多言語化ができるようになります。
blog-localizationstring-done
アプリ名の設定をするには以下の行を追加。
CFBundleDisplayName = "アプリの名前をここに記入";


文字列のローカライズ

 Info.plistをローカライズした時と同じようにLocalizable.stringsというファイルを作成します。そしてLocalizationにて必要な言語にチェックを入れます。  このLocalizable.stringsには、言語毎の文字列を定義します。
"ResetButtonString" = "リセット";
そしてプログラム中でこれを使うときは以下のように呼び出します。第二引数はnilでも可。
NSLocalizedString(@"ResetButtonString", @"リセットボタンの文字列")


その他ファイルのローカライズ

画像ファイルもxibファイルも、これらと同じような方法で多言語化が可能です。Localizationにチェックを入れれば、ファイルが生成されます。

コメント

必要で調べた事をまとめた記事です。以前のXcodeと多言語化の方法が異なり、迷いました。

参考

ios - Localize Localizable.strings with Xcode 4.5 - Stack Overflow
Xcode 4.5 でのローカライズ方法 - Debian GNU/Linux 3.1 on PowerMac G4

iOS Developer Programの更新方法



 iPhoneアプリを公開するのに登録が必要なiOS Developer Programは、有効期限が1年しかありません。アプリの公開を続ける為には、期限切れ前に毎年更新が必要です。この登録には今まで年間10800円かかりましたが、昨今の円高の影響か現在、年間8400円になっています。この値段設定がいつまで続くかわかりませんが、運良くこの機会に更新することができました。以下に具体的な手順を示します。




■手順

iOS Dev Centerに行くと「Updated Program License Agreement(iOS Developer Programを更新て下さい)」というメッセージが表示されているので、「Review Agreement(契約の見直し)」をクリック。

Member Centerに移動し、iOS Developer Program License Agreementが表示されるので、内容確認し、同意したらチェックボックスをチェックし、「I Agree(同意します)」ボタンをクリック。

・Member Centerのページに「Your iOS Developer Program is about to expire.To maintain your access to certain technical resources, please visit the Programs & Add-Ons section and renew your membership(s). (お使いのiOS Developer Programの有効期限が近づいています。技術的リソースへのアクセスを維持する為に、Programs & Add-Ons sectionに行ってmembership(s)を更新して下さい)」と表示されるので、メッセージをクリック。(この画面は出ないかも)

・「Add Your Program」画面でプランが選べるので、自分に該当するプランを選ぶ。今回はiPhoneアプリ開発なので「iOS Developer Program」にチェックを入れて、右下のContinueをクリック。

・「Review your purchase details」画面で自分の情報の詳細を確認し、あっていれば右下のContinueをクリック。

・「Proceed to your country's Apple Online Store to purchase.(購入する為のあなたの国のAppleオンラインストアに進んでください)」と表示され、Japanが選択されているのを確認し、「Add to cart」ボタンをクリック。

・Apple Storeのカート画面に移動するので、「iOS Developer Program 」が商品として1つ入っていることを確認し、指示に従がって購入。なお、画面には配送のことが書いてありますが、初回登録時と同様に何も発送されて来ません。支払い方法はクレジットカードと銀行振込と法人向け後払い。今回は銀行振込を選択しました(三井住友銀行でした)。

・振込が確認されると、Apple Storeから注文成立を知らせるメールが届き、その後Apple Developerから「Thank you for renewing your Apple Developer Program(Apple Developer Programを更新してくれてありがとう)」というメールが届きます。私の場合は、午前0時に振込手続きをしたら午後4時にこのメールが来ました。これにてとりあえずの更新作業は完了しました。

・しかし有料アプリを販売している場合はまだ確認する事があります。。iTunes Connectへログインして「Contracts, Tax, and Banking」に行き、Expiration Date(有効期限)が更新されていることを確認しましょう。

・この時Contact Info欄が「SETUP」となっている場合は、自分の口座情報等を登録して下さい。私の場合は「Edit」と表示されていたので登録済みだったのですが、更新のタイミングで再登録しないといけない場合があるようです。

・また、実機テストに使用する証明書とプロビジョニングプロファイルも新しいものに更新する必要があります。これはiOS Dev CenterのiOS Provisioning Portalから新しい証明書とプロビジョニングプロファイルを登録する必要があります。


以上です。お疲れ様でした。


■参考

Support - iOS Developer Program - Program Renewals
公式のFAQです。

iOS Developer Program更新: iPhoneアプリ開発備忘録
EZ-NET: iOS Developer Program を更新する
手順を参考にさせて頂きました。

iOS Deveoper Programを更新して気がついたこと - もとまか日記Z
値段改定をこちらの記事で知りました。

App Storeから全アプリがDL出来ない状態になってしまった件に関するお詫びとその顛末 - frnk*blog
iOS Paid ApplicationsがContracts In Effectになっていなかった為に有料アプリがApp Storeから消えてしまった例。

AdMobから収益を受け取る方法・手数料比較

iPhone・AndroidアプリにAdMobなど海外の広告サービスを組み込むと、報酬はドルで受け取る事になります。今回はAdMobにおける換金手順と、手数料の比較を行いました。なおお金も関わる事ですし、参考にする際は各自調べて裏を取ってから行動するよう、よろしくお願いします。

■まとめ
・銀行振込かPayPalで受け取る事が可能。
・銀行振込は手数料が高い。
・PayPalは換金レートが悪い。

■手順
AdMobにログインして、「アカウント」→「支払い情報」へ移動。入力する情報は以下の通り。

○銀行・PayPal共通で入力
・国
日本。
・アカウントの種類
私の場合は個人、場合による。
・商号
説明に「納税申告書の氏名と一致する必要があります」とあるので、個人の場合はその人の名前。
・納税者ID
一般には記入不要。

○ACH/電信送金の場合
・受取人名
・銀行名
・銀行の住所
・受取人の口座番号/IBAN
・銀行 SWIFT コード

※SWIFTコードとは国際的な送金などに使用される銀行の識別コードのこと。全ての銀行が持っている訳では無いので注意する必要がある。
こちらのサイトによれば、日本語で入力した結果送金されず、問い合わせた所、英語で修正するよう言われたらしい。ので、英語で入力します。

○PayPalの場合
・PayPalのログイン名(ログインする時に使うメールアドレス)を入力。

○小切手の場合
・現在小切手による換金は利用出来ないはず。銀行振込開始前に存在していた。


これで登録は完了となる。しかしどの方法を取っても何らかの形で手数料が取られる。どのルートが最適か検証してみよう。


■手数料等の比較
○銀行振込の場合
・振込手数料はAdMob側が負担してくれる
・しかし日本の銀行に手数料を取られる。海外からの電信送金を入金するのに為替手数料が掛かる。2500円くらいだが銀行ごとに違うので、自分の銀行の金額を調べる必要がある。
・SWIFTコードを持っている銀行で無いといけない。たまに持っていない銀行がある。

(2012.01.18、20120.09.30追記 beepappsさん情報ありがとうございます!)
・銀行振り込みの場合、外貨で直接受け取ると手数料がかからない銀行もあるようです。beepappsさんが新生銀行で確認してくださいました。

○Paypalの場合
・ドルから円の為替レートが相場より悪い。(ドルで買い物する時はpaypalのレートかカード会社のかを選べる場合もあるのですが、この場合は関係無いはず)
・PayPalから自分の銀行口座へ入金できる最低金額は、米ドルで$10、日本円で1000円から。50000円未満の入金は、250円が手数料として引かれる。50000円以上なら手数料は無料。(なおこの銀行口座はSWIFTコードが無いものでも大丈夫。)
・支払いを受け取るには、個人ならPaypalのプレミアアカウントである必要がある。PayPalなのでクレジットカードが必要。

○小切手の場合
・現在は出来なくなったはず(銀行による送金が開始された為)。
・どのみち換金手数料が非常に高く、魅力はあまり無かった。


■まとめ
・自分がいくら換金するのかにも依存するが、Paypalの方が良いだろう。
・少々複雑なので、送金する前に自分が幾ら換金するのか一度シミュレートして計算した方が良い。
・後は何を信用するかの問題です。


■補足
・Android向けアプリ広告の比較(AdMob・AdLantis・AdMaker)は以前検討した事があるので、そちらも合わせてお読み下さい。Paypalを経由する手間と手数料を考えると、AdMob以外が魅力的に見えて来ます。これは普段PayPalを使うかそうで無いかで分かれる点だと思うので、個々人の判断でお願いします。
・(2011.12.21追記)こちらの記事に、paypalと銀行振り込みのどちらが得かの閾値について言及があります。そんな夢のような金額には到達しないですよ…。


■参考
AdMob 電信送金支払い情報の設定方法 - 技術脳塗
Paypal公式サイト 手数料について 手数料 - PayPal
引き出し手数料 - PayPal

iPhone App StoreとAndroid Marketのざっくりとした比較

スマートフォンアプリは盛り上がりを見せていますが、iPhoneとAndroidで違った成長を見せています。今回は、アプリ技術や開発についてではなく、アプリのマーケットに焦点を当て、その違いについてまとめてみましょう。


■ざっくりまとめ
どちらにも大きな問題は無いものの、多言語対応で違いあり。


■利用者にとって

○iPhone App Store
・メリット
-審査したアプリが並んでいるので、ある程度のクオリティが保証されている。
-言語毎の区分けがきちんとしている。
・デメリット
-容量の大きなアプリは3G回線でダウンロードできず、wi-fiを使う必要がある。

○Android Market
・メリット
-うーん…特筆すべき事は無い…。
-多少エロ方向のアプリがある。
・デメリット
-無審査でクオリティの保証は無い。
-Android Market以外の選択肢が広がる可能性があるが、ウイルス等のリスクがある。
-外国語のアプリも区別なく並んでいる(メリットかもしれない)。

■開発者にとって

○iPhone App Store
・メリット
-アフィリエイトがあるので、誰かがアプリをプロモーションしてくれる可能性がある
-iAdもあり、iTunes Connectがあれば全部完結させる事もできる。

・デメリット
-アプリの登録や修正の申請から反映までの間に1週間程度の時間がかかる。
-審査落ちの可能性もある。
-Primary Languageに設定した言語版を必ずリリースする必要がある(そのPrimary Languageは変更することはできない)
-アプリの合計ダウンロード数が見られない。

○Android Market
・メリット
-アプリの公開、修正がすぐに可能。
-宣伝用の画像がアイコンとスクリーンショット以外に設定できる。
-apkファイルを直接配布する事もできる。(セキュリティ上、やらない方が良いでしょう。)
-アプリの合計ダウンロード数、使用端末や国籍の一覧が見られる。

・デメリット
-アプリの容量制限が結局何MBなのか、よくわからない(→こちらのサイトによれば、まあiPhoneと同程度か。)
-開発者登録にクレジットカードが必須。
-言語毎にスクリーンショットを設定することができない。(※審査が無いので言語毎に違うアプリにする事は可能だが、ダウンロード数の面で不利になるのでは)
-全体として、有料アプリがiPhoneよりも売れていない。


■まとめ
・iPhone App Storeは審査に時間がかかる以外、大きな問題は無い。
・Android Marketは利用者にとって使いづらいのと、スクリーンショットを言語毎に設定できないのが問題。
・多言語対応に違いがあり、iPhoneは融通が効かない、Androidはマーケットでの多言語対応が不十分、という問題があります。そのようなアプリを予定している方は注意しましょう。

iPhone・AndroidアプリにGoogle Analytics for Mobileを設定して出来る事

 アプリをより良く使ってもらう為には、ユーザーが実際どのようにアプリを利用しているか調べる必要があります。Google AnalyticsはWebアクセス解析として有名ですが、スマートフォン向けアプリに組み込む事も可能です。これにより、様々な事が測定可能になります。今回は私のアプリを例に、何が調査できるのかを見てみましょう。


■この記事のまとめ
・ユーザー数などを調べるのは非常に簡単
・どのページが見られたか、どのボタンが押されたか、もきちんと設定すれば調べられる
・今すぐアプリにGoogle Analyticsを設置してみるべき


■設置方法
 設置方法はAndroidiPhoneで基本的に同じです。ライブラリの追加、必要なものをimport、トラッキングコードを追記、AndroidならAndroidManifest.xmlへの追記、iPhoneならFrameworkの追加、です。


■すぐに測定できること
 まずは、適当にトラッキングコードを書くだけで何が測定できるのかを見て行きます。ここではチェックトレンド(Android版iPhone版)を例に結果を見て行きましょう。

○ユーザー数
google_analytics_user_summary
ユニークユーザー数、訪問数、直帰率、新規訪問数、がわかります。

○画面の解像度
Android(左)とiPhone版(右)
google_analytics_android_screen_resolution google_analytics_iphone_screen_resolution
Androidならばユーザーの画面の解像度、iOSならばiPhone・iPod・iPad(多分)のどれからアクセスされたかわかります。(iPadからアクセスされた事が無いので、そこは未検証)

○サービス プロバイダ
google_analytics_iphone_service_provider
通信事業社名です。どのキャリアからアクセスされているかの他に、無線LAN経由のアクセスについてもわかります。おそらく、NTTドコモは「ntt docomo inc. 」、KDDIは「kddi corporation 」、ソフトバンクは「japan nation-wide network of softbank bb corp.」、と表示されるようです。

○アクセス元の国
google_analytics_android_country
どの国からアクセスされたかがわかります。

○総評
ウェブ版のGoogle Analyticsのように、ある程度の情報を簡単に測定する事が可能です。しかし、アプリの操作に関する情報は集められない為、この情報をアプリ開発にフィードバックするのは難しいのでは。現状把握や概要を掴むのに向いています。


■きちんとトラッキングコードを設置すると測定できること
 ここからは、自分でトラッキングコードをきちんと設定すれば測定できる項目です。基本的に、1つの画面でPVを測定、ボタンやメニューでEventを測定、と考えましょう。私のアプリを例に、いくつか例を見て行きます。

○ボタンやメニューが押された回数
google_analytics_iphone_event_tracking_category_clicks
イベントというものを測定することにより、どのボタンが何回押されたか、メニューボタンは何回押されたか、等を自由に測定可能です。

○画面が見られた回数
google_analytics_iphone_contents_summary
ページビューを測定することにより、どの画面が何回見られたかを測定可能です。
注意して欲しいのは、いつトラッキングコードが読み込まれるかを考えないと正しく測定できないという事です。この画像の例だと、iPhoneアプリでtabbarを使い、それぞれのviewDidLoadにtrackPageviewを書いた為、アプリが起動するたびに全てのtrackPageviewが記録されてしまっています。

○端末が縦か横か
カスタム変数を使う事で、取得する値を自由に設定する事ができます。先日のGoogle I/OではAndroid端末が縦か横かを調べるのに
tracker.setCustomVar(1,"Screen Orientation","orientation",2); //(Orientationにはlandscapeかportraitが入ってる)
という書き方が使われていました。このように書くと、Google Analyticsのカスタム変数の項目に「Screen Orientation」というのができ、そこにlandscapeとportraitの回数が記録されていきます。

○総評
イベントトラッキングはコードが呼ばれた回数を記録するので、これ以外にも色々と応用できます。また、カスタム変数を使えばより細かく自由な測定が可能です。これらの測定により、アプリのどの機能がよく使われているのか把握でき、開発の参考となるでしょう。


■まとめ
 全体として、このようなデータが取れます。Android(左)とiPhone版(右)。(iPhone版はgoogle Analyticsを最近組み込んだのでこのようになっています。)
 google_analytics_android google_analytics_iphone
 使ってみた感想としては、非常にシンプルに色々な情報が集められるな、というのが第一です。しかし、ボタンの押された回数等を測定するには自分で考えて設定する必要があり、複雑なアプリでは面倒な作業。何を調べたいのかを設定しておくのが大事そうです。


■補足
・プログラムがどのように動いているか、その状態遷移をきちんと把握していないと正確な測定ができません。例えばGoogle Analyticsでは平均滞在時間の測定も可能ですが、これを正確に知りたければ、いつどのような条件でアプリが終了or中断されるか、どう再開されるか、知らなければなりません。
・Google Analytics for Mobileではアプリがオフラインの時もデータを保存し、次にオンラインになった時にデータを送ってくれます。自分から通信しないアプリでも、いつ送信するか制御可能です。
・文中でGoogle I/Oに言及しましたが、先日のGoogle I/Oでも講演がありました。その後の報告会でもこのトピックが紹介されたようで、アプリへのGoogle Analyticsの導入はますます進んでいくでしょう。 該当講義のYoutubeはこちら:YouTube - Google I/O 2011: Optimizing Android Apps with Google Analytics。日本での報告会の報告はこちら: GTUG主催Google I/O報告会レポート: 一流モバイル開発者を夢見るブログ。Youtube動画は機能の紹介に終始していたので、あんまり面白く無いです。でもカスタム変数の使い方は面白かったかも。

iPhoneアプリをブラウザでテストできるPieceable Viewerを試しました

■概要  
Pieceableとは、プログラミング無しでiPhoneアプリケーションを作成できるサービスです。現在「Pieceable」はまだ提供されておらず、「Pieceable Viewer」が提供されています。こちらは、iPhoneアプリケーションをWeb上で動作させてくれる、というもの。Flashにより実現しており、アプリのβテストや動作デモとして面白そうです。今回はこのPieceable Viewerを試してみましょう。


■動作するアプリの条件
・iOS Simulatorで動作するものなら基本的に動かせる。
・UIKitは動作するが、OpenGLとMapViewは動くものの表示されない。これらは今後対応していくとのこと。
・iPadアプリも今後対応していくらしい。


■登録方法
※ここでは無料のTRIAL版を使った場合について説明します

・まずappファイルを見つけます。Xcode3では、プロジェクトが置いてあるディレクトリのbuild/Debug-iphonesimulatorにappファイルがあります。拡張子が表示されていないかもしれませんが、ファイルの種類がアプリケーションになっています。(Xcode4でのやり方がわかりません。私の環境だとbuildディレクトリが空になっています)
・ターミナルを起動し、「$ ditto -cj build/Debug-iphonesimulator/YourApp.app - | curl -F "email=you@somewhere.com" -F "file=@-" http://www.pieceable.com/view/publish」と入力。アプリのディレクトリとメールアドレスは適宜変更して下さい。
・入力すると、ターミナルにはこのように表示されます。
hogehoge:~ hoge$ ditto -cj アプリ.app  - | curl -F "email=you@メルアド" -F "file=@-" http://www.pieceable.com/view/publish 
            ___ _                     _     _      
           / _ (_) ___  ___ ___  __ _| |__ | | ___ 
          / /_)/ |/ _ \/ __/ _ \/ _` | '_ \| |/ _ \
         / ___/| |  __/ (_|  __/ (_| | |_) | |  __/
         \/    |_|\___|\___\___|\__,_|_.__/|_|\___|
                                                   
.
     
  Hi you@メルアド!  You need to confirm your email address before
  you can publish.  Go check your email - we just sent you a link.
・ここで入力したメールアドレスにメールが届くので、書かれたURLをクリック。「Confirmed! Now just go back to your terminal and upload again to publish.」と表示されたら登録完了です。
・再びターミナルに戻って、先程と同じコマンドを入力します。
hogehoge:~ hoge$ ditto -cj アプリ.app  - | curl -F "email=you@メルアド" -F "file=@-" http://www.pieceable.com/view/publish 
            ___ _                     _     _      
           / _ (_) ___  ___ ___  __ _| |__ | | ___ 
          / /_)/ |/ _ \/ __/ _ \/ _` | '_ \| |/ _ \
         / ___/| |  __/ (_|  __/ (_| | |_) | |  __/
         \/    |_|\___|\___\___|\__,_|_.__/|_|\___|
                                                   
.   
  
  Application loaded!
  
  Name: CheckTrendJ
  ID: アプリの識別子
  Size: 0.61M
  SHA: SHAが表示
  URL: http://www.pieceable.com/view/qb/c4b4b3791794951b030d8be34009e6bd7182e530
・このように表示されれば成功です。返ってきたURLにアクセスしてみましょう。


■動作結果
・私のアプリはこちら。TRIALで動かした場合は1時間という時間制限がつくので、もう動いていません。以下はその時のスクリーンショットです。英語版なので、日本向けのアプリ画面とは少し違います。
PVImage
・動かした感じだと、私のようにシンプルなアプリなら何も問題無いようです。凄い。(ちなみに動かしたアプリはこちらです)
・特徴は、シミュレータの言語設定は英語、ちょっと重たい、WebViewも正常に動作、sharekitフレームワークからtwitterへの投稿も成功、といった感じ。
・Pieceableが用意しているデモはこちらとか。このように、iOS Simulatorの感覚で操作できます。


■使用場面
・サイトでは、クライアントとのアプリの共有、ベータ版の配布、プレゼン、デバイスID無しでのデモの配布、と書かれています。ベータ版の配布には便利かもしれません。ただ、肝心のタッチの具合がわからないので、動作や仕様の確認までに適していそうです。


■その他
・Titanium iOS appsにも対応しているらしい(Titanium iOS apps and Pieceable Viewer! - Pieceable's Blog
4月12日の記事に「数週間後には、Androidもサポートされるそうだ」と書いてあるのですが、まだ対応していないようです。
・利用料金はTRIAL、BASIC、PROの3通り用意されています。TRIALでは1つのアプリを1時間までしかテストできないので、ほんとにTRIAL用にのみ使えます。BASICでは5つのアプリをずっと動作させられるので、本格的に利用するならば有料のBASIC以上を考える必要があります。


■参考:
iPhone/AndroidアプリのデモをWebブラウザ上で提供するサービスPieceable Viewer

iPhoneアプリ「下敷き」をリリースしました


■アプリについて
 このアプリはiPhoneを「下敷き風」の画面にするアプリです。画面上に任意の感覚で縦横に線を表示します。罫線の上に紙や物を乗せて役立ててください。

[注意] 決してiPhone等の上で、物を書く等の作業をしないで下さい。表面が傷ついたり汚れたりします。iPhone等の上で作業する場合は、本物の下敷きを間に挟む事を強く勧めます。

iTunesでダウンロード
icon_sitajiki



■使い方
1.縦線と横線の間隔を選ぶ
2.右下のボタンを押す
3.完成
以上。


■イメージ
冗談みたいな画面ですが、これがこのアプリです。
SS1J SS2 SS3J SS4


■その他
・なお、このアプリはiPad2発売の時に、あれが下敷きにもなるという@mAayagiさんとの会話から思いついたものです。
・よくこのアプリで審査が通ったと思います。
・このアプリの広告はiAdとAdMobの両方(取得できた片方)が表示されるようになっています。国内でiAdが開始されたら思い出して見てください。

Xcode4でiPhoneアプリをiTunes Connectに登録する方法

■概要
 ここではXcode4でアプリをiTunes Connectに登録する方法を説明します。アプリの登録方法は、Xcode3とXcode4で手順がちょっと違います。Xcode4ではApplication Loaderを使わず、Xcode4のみで登録ができます。
 なお、この文章は2つ目以降のアプリを登録する人向けです。アプリを登録するのが初めての人はこちらこちらを参考にして下さい。

■事前にやっておくといいこと(忘れがちなこと)
・説明文の用意
・スクリーンショットの撮影
・「Info.plist」の「Bundle identifier」と「Bundle version」の設定
・アプリの対応バージョンに関する設定(参考:iOS 4.0 と iPhone OS 3.x の両方で動作するアプリケーションをビルドする設定 - 24/7 twenty-four seven)、Xcode4においてプロジェクトエディターへ行くには、プロジェクト名をダブルクリックすると行けます。「Build Settings」→表示を「Basic」ではなく「All」に。これで見れます。


■作業手順
※ Web側での操作は以前と同じはずです。

【App IDの作成】
iOS Dev Centerにログイン ・右側にあるリンクから「iOS Provisioning Portal」に移動。そこの左側にあるリンクから「App IDs」→「New App ID」→「Create App ID」へ移動
・「Description」に通称または説明を入力
・「Bundle Seed ID (App ID Prefix)」は「Generate New」
・「Bundle Identifier (App ID Suffix)」には他とかぶらないように入れる。自分のドメインを逆から書いたものが推奨されている。入れたらSubmit。

【Provisioningファイルの作成と登録】
・左のメニューから「Provisioning」に移動して「Distribution」タブ
・「New Profile」を押して「Create iPhone Distribution Provisioning Profile」へ
・「Distribution Method」→「App Store」に設定。
・「Profile Name」→アプリ名とかわかる名前を入れる。
・「Distribution Certificate」→公開用証明書作ったときの名前が表示されているはず。そのまま。
・「App ID」→さっきのAppIDを選ぶ。
・「Devices (optional)」→そのままでOK(?)
・で「Submit」を押す。
・しばらくするとStatusが「Pending」から「Active」になる。(画面のリロードをして下さい)
・Downloadを押してProvisioning Profilesをダウンロード。
・「[さっき入れた名前].mobileprovision」を適当な場所に保存。
・ダブルクリックするとオーガナイザに登録される。(オーガナイザはXcodeのメニューから「ウインドウ」→「オーガナイザ」で行ける。今回の作業により、「DEVELOPMENT」→「Provisioning Profiles」にProvisioning Profileが登録される)

【アプリの情報を登録する】
・iTunes Connectにてアプリの情報を登録します。ここは以前と変わらないので、こちらの記事を参考にして下さい。登録が終わり「Waiting For Upload」の状態になっていればOKです。
iPhoneアプリの公開手順、ビルドから登録まで - えんたつの記録

【Distributionビルドを作る】
・ここからはXcode4で作業します。Xcode3でやる場合はこちらをご覧下さい。
・画面左上にある「Scheme」のプルダウンメニューにある「Edit Scheme」をクリック
・左側のメニューの中から「Archive」をクリック
・「Build Configuration」を「Distribution」にして、右下の「OK」を押す(Xcode4では、Distributionを選択せずReleaseで良いようです。(2011.04.06 16時頃追記。))
・左側にあるプロジェクト名をクリックしたら行ける画面から、上のタブの中の「Build Settings」を選択。その中の「Code Signing」の「Code Singing Identity」を、今回のアプリに合わせて適切に設定する。
・画面左上にある「Scheme」のプルダウンメニューから「iOS Device」を選択(これ不要かも?必要っぽいです)
・画面上部にあるメニューの「Product」から「Archive」を選択
・自動的にOrganizerの「Archives」が開くので、右上の「Validate…」をクリックし、IDとパスワードを入力(アプリがiTunes Connect側に登録されていない場合、「No suitable application records wer found.」と表示される)
・Applicationを、先ほど登録したアプリ名に。Identityを自分の名前のiPhone DistributionにセットしてNextをクリック
・正常に行けば何もエラーが出ません。右下のFinishをクリック。この時アプリのStatusは「Passed Validation」になっているはずです。
・今度は右上の「Submit…」をクリック。先ほどと同じようにApplicationとIdentityをセットしてNextを押す。(※2011/04/02 01:30に一部訂正しました。通りすがりさん、ご指摘ありがとうございます。)
・正常に行けばエラーが出ない。右下のFinishをクリック。この時アプリのStatusは「Submitted」になります。
・これで完了です。iTunes Connectの該当アプリのStausを確認すると、「Waiting For Upload」だったのが「Upload Received」になり、そのうち「Waiting For Review」に変わります。

以上です。後は審査を待ちましょう。お疲れ様でした。


■メモ
・iAdを登録している場合は有効化を忘れない。iTunes Connectのアプリ詳細ページにて、「Set Up iAd Network」から「Enable iAds」をクリック。


■参考
・Xcode4について(@sazameki氏)
Xcode 4 移行ガイド
Ustream.tv: ユーザー sazameki: Xcode 4 Transition Guide, Recorded on 11/03/26. コンピュータ

・アプリ登録方法について
Xcode4におけるiTunes Connectへのアプリ登録手順: iPhoneアプリ開発備忘録
Xcode4 実機テスト|cowのブログ



■追記(2011/04/05 17時頃)
この方法で登録したアプリが公開されました。
http://itunes.apple.com/jp/app/isalarytimer-free/id428766495?mt=8

iPhoneアプリ「iSalaryTimer」をリリースしました

iPhoneアプリ「iSalaryTimer」を本日リリースしました。

iTunesでダウンロード(有料版)
icone_noedge


無料版


○アプリについて
時給や月収を入力すると、リアルタイムに給料を計算します。

○機能詳細
・時給や、月収と働いている時間から、リアルタイムの給料を表示します
・背景色と文字色を自由に設定できます
・時計機能あり
・twitterやメールと連携しており、働いた時間などをツイートできます(メール、Twitter、Facebook、Tumblr、Evernote)

○イメージ
ST-SSJ1-1 ST-SSJ2-1 ST-SSJ3-1 ST-SSJ4-2 ST-SSJ6-1

○注意
・このアプリが表示する金額は計算上のものであり、実際に発生する報酬とは異なりますのでご注意下さい。

○コメント
・このアプリは1日=1,440分とか86,400秒という表現から着想をもらってます。後輩がよく歌ってる歌にそういうのがあったんです。(曲名とかはわかりません)
・このアプリは多言語化にちょっと失敗しています。XIBファイルの設定で言語を切り分けられるはずですがそれが上手く行かなかったので、タブ部分は英語になっちゃっています。あと英語と日本語に対応するため、全体的にデザインが中途半端になっています。原因がわからないので、とりあえずこのままです。

○謝辞
このアプリは以下の画像とフレームワークを仕様させて頂いています。
Joseph Wain - http://penandthink.com/
Masahiro Kurokawa - http://8casette.net/
Pink Moustache - http://www.pinkmoustache.net/
ShareKit (Nate Weiner) - http://www.ideashower.com/
このサイトは
 Webアプリケーション開発のことや、iPhone・Android向けアプリ開発の話題がメインです。技術情報を取り扱っています。
 管理:えんたつ。twitter: @tattyamm
mimage
カテゴリ別アーカイブ
RSS
リンク
プログラミング本
アプリを作る時などに読んだ本
iPhoneプログラミングUIKit詳解リファレンス iPhoneプログラミングUIKit詳解リファレンス Android Layout Cookbook アプリの価値を高める開発テクニック パーフェクトPHP (PERFECT SERIES 3) JavaプログラミングBlack Book 2nd Edition (Black Bookシリーズ)
表記
当サイトではGoogle Analyticsを使用しております。詳細はこちらを御覧ください