2014年11月8日土曜日

【2015/1/2 更新】【Xcode 5以降が対象】開発したiOSアプリを実機へ転送して動作テストするまでの手順


【2014/11/10 更新】
 下記で案内していました日本のBlogger(blogspot.jp)へのアクセス障害の件ですが、
昨日11/9の時点にて復旧が確認され、更にはTwitterなどで「アクセスが可能になった」という報告が多く寄せられていますことからも、
今回の障害は現時点で既に収束したと見てよいでしょう。


 また本件については、Bloggerの運営元であるGoogleにより公式の声明が発表されています。

Blogger - サービスの詳細

以上のように、
「本日11/10のAM10:00時点にて、日本からのアクセス障害の問題は解決した」と発表されています。


【11/8 一時的に記載】
 本投稿の公開した本日2014/11/8 22:58の時点にて、
本ブログを含む日本のBloggerサービス(blogspot.jpドメイン)により運営されているサイトが、全てアクセス出来ない状況となっています。
本件について、運営元であるGoogleによる直接の声明は現時点で発表されていないのですが、
Twitterなどで検索すると同様のアクセス障害に見舞われている方が大勢いらっしゃることが確認できます。




当サイトをスマホからではなくPCやタブレットでご覧の方に対しては、ブログ脇の方で私のTwitterアカウント(@kento_nagano)にて対処法をつぶやいていますのでご存知であるかもしれませんが、
スマホからアクセス頂いている方に対しましても改めてこの場で対処法をご紹介したいと思います。

 http://ringonoashiato.blogspot.tw/」のように、URL末尾のjpを「tw」(台湾)といった他国のドメインに書き換えてアクセスする
 ただしcomでは、jpに自動転送されてアクセスできない場合があるので、もしcomを使いたい場合は「http://ringonoashiato.blogspot.com/ncr」のようにncrも付け加えるとアクセス可能


 上の2つの方法のどちらかをお試しいただくことで、
本ブログ以外のBloggerを利用して作られた日本のサイトについても、アクセス障害が発生している現時点においてアクセスが可能でした。

例えば、日本にてParallels Desktopを代理店として販売していることで有名なact2様のブログも同様にアクセスできませんので、
その場合は各ブログの「http://act2blog.blogspot.jp/」といったURLに対し、お手数ではありますが上記2つの方法のどちらかにてアクセスを試みますようにお願い致します。
【11/8 ここにて記載終了】



 本サイトの記事としては紹介していないものの、以前Twitterにて私より紹介していたことがあります。
それが何かと申しますと、
駆け出しのiOSアプリ開発者であれば気になるであろう「iPhoneで実際に自作アプリを動かす方法」についてです。


厳密に言うと、上のつぶやきでは自作アプリと言えるほどに全てを自分で手がけたわけではありませんが、
本投稿の趣旨としましては、皆様に対し自作アプリをiPhone/iPad/iPod Touchにインストールして動かす方法をご紹介したいと思います。

この方法ですが、
最近流行りのSwiftだけでなく今までのObjective-Cで作られたアプリでもOKであり、さらにはこれら両言語が混在するアプリでも通用しますので大丈夫です。




 では早速その方法について、詳しく触れたいと思います。

ただし、表題やTwitterのつぶやきにて示しています通り、
本投稿ではXcode 5以降にて新しく使えるようになった方法をご紹介しますので、それより前のバージョンのXcodeをお使いの方はご注意下さい。


 ということで実際の方法をご紹介する前に、
下記にて本方法を実践するための前提条件を記しました。

 Xcode 5以降(現在の最新版は6.1)がインストールされていること
2 iOS Developer Programにおける年間のライセンス登録(有料)が、現在において有効であること

上の2つがクリア出来ている方につきましては、以降の注意書きを飛ばして次へお進み下さい。
 いずれかをクリア出来ていない場合についてですが、
1については、ご自身のMacにてOS X Mavericksのバージョン10.9.4以降をお使いの方は上のリンク経由でMac App Storeからインストールできますので、そちらのXcodeをお使い下さい。
2についてですが、
こちらでは有効なクレジットカードを用意したり英語のフォームから個人の登録情報を入力したりといったように、最初の登録の手順においては非常に面倒であると言わざるを得ない手続きを踏む必要があります。
私は既にライセンス登録を済ませていることから、本ブログの別記事にて登録方法をご紹介するといったことが出来ずに心苦しいのですが、
他の多数のサイト様にて詳しく解説がなされていますので、宜しければそれらのサイト様をご参考の上ご準備をお願い致します。
【2015/1/2 更新】
 iOS Developer Programにおける、1年間の有料ライセンスの登録方法を記した記事を書きました。
こちらの内容を実践頂くことで以降の内容についても実践可能になりますので、まだの方は是非こちらもよろしくお願いします。 



 注意事項が長くなりましたが、以下より実際の設定方法の記述を始またいと思います。
※以下にて記載されているスクリーンショットでは OS X Mavericks バージョン10.9.5でのXcode 6.1の環境にて、Swift公式ブログにて設計手順が動画でのチュートリアルとして公開されているiOSアプリを題材に解説していますが、
これにつきましては最新のOS XであるYosemiteでも同じ手順で設定できますので問題ありません。
(同様に、Xcode 5でも通用する方法となります)


1.Xcodeを起動し、画面上端のXcodeメニューより「Preference...」を選択する。


2.現れたダイアログ内の「Preference」タブを開く


3.画面左下の「+」ボタンをクリックすると現れるメニューから「Add Apple ID...」を選択し、
ご自身での開発用途として用意したアカウントを登録する


 Apple IDとパスワードを正確に入力し、その後「Add」をクリックすることで、
Xcodeに対しiOS Developer Programのアカウントが登録されます。

4.画面右下の「View Details...」ボタンをクリックし、プロビジョニングプロファイルの作成を開始する

 以降でのプロビジョニングプロファイルの作成が、現在はXcode単体で行えますので、
私のつぶやきでも触れましたように、自身の所有するiOSの実機でのテスト時における敷居が格段に下がりました。

5.現れたダイアログの上の枠から見て左下の「+」ボタンをクリックし、
表示されるメニューから「iOS Development」を選択する


6.「Signing Identity Generated」のメッセージが表示されるまで待機する

 
 お使いの環境によっては長い待ち時間を要するかもしれませんが、
この際に裏ではAppleとの通信が行われていますので、上記のメッセージが表示されてプロビジョニングプロファイルの生成が完了するまでは大事な手続きであることから待機しましょう。
私の場合、数10秒程度でこのメッセージが表示されました。

 「OK」ボタンをクリックすると、元の画面に戻ります。
プラットフォームが「iOS」、状態が「Valid」(有効)なプロビジョニングプロファイルが生成されたことを確認できます。 

7.iOSの実機をMacに対しUSB接続し、テストの準備を開始します


 これより、いよいよ実機でアプリを動作させるための準備を開始します。

まずはiPhone/iPad/iPod Touchで動かしたいアプリのプロジェクト(本解説では「PhotoFilters」)を、Xcodeから開きます。
次にそのプロジェクト内にある「Code Signing Identity」という設定項目にて、DebugとReleaseのそれぞれに対し「iOS Developer」を選択して下さい。
これについては、上でのプロビジョニングプロファイルの生成が既に済んでいればデフォルトで設定されていることが殆どなのですが、
念のため下のスクリーンショットを参考に、辿る階層は深いですがご確認下さい。

※ここでは「Debug」と「Release」の両方に対しiOS Developerを選択しましたが、
本投稿のように自身の保有するiOS端末で動かすのみの目的であればDebugのみでも構いません。
Releaseについては、App Storeにアプリを提出する際に初めて活用する場面がありますので今回は使わないということになりますが、
再度深い階層を辿って設定し直すのも面倒ですので、今後の活動を考慮しこちらについても一緒に設定を済ませてしまいましょう。

8.iOSの実機に対し、Macからアプリを転送する

 アプリの動作テストに用いるiOSの実機についてですが、既にMacに対しUSBで接続できておりますでしょうか?
既に接続できている場合、おそらくはそのデバイスを表す名前がXcode上に表示されているとは思いますが、
もし表示されていない場合は、Xcode上に表示されているデバイス名をクリックすることで現れるメニューから該当の端末を選択して下さい。


MacにUSB接続されているiOS端末のみが選択できます。

 それに対し、いつでも表示されているのは表記の通り「iOSシミュレータ」と呼ばれるものです。
iOS端末の実機を用意しなくても、おおまかな動作はこれらを利用することでMacだけの力により確認が可能です。
 ただし、
これは「おおまかなの挙動の検証」という用途に用いることを前提に作られていることから、iOS端末の全ての挙動を実機なしに検証できるとは保証されていませんのでご注意下さい。
例えば気圧計やGPSといったハード固有の機能を用いるアプリの場合、
そもそも実機を用意しなければ動きをテストすることすら叶わない場合もありますし、
このような点からも「あくまでおおまかな挙動の検証である」ということを、頭の片隅に常識として留めておきましょう。

 長かった設定は次で最後です。
実際にMacからiOS端末の実機に対し、アプリを転送してみましょう。

その際はMacに接続したiOSデバイスのロックを解除した状態であるか事前に確認してから、作業するように常に心がけましょう。
所定の待ち時間操作しなかったことで、省電力目的のためにiOSデバイスの画面の電源が自動的に切れるロック状態に入るように設定している方は多いと思いますので、
私もよくロックの解除をし忘れることがありますが、下記のメッセージが表示された際はロックを解除して再度トライするようにしましょう。
ロックされているとiOSデバイスは外部からの刺激を一切受け付けないため、この場合のMacからアプリの転送は必然的に失敗します。


 では今度はきちんとロックが解除されている状態で、Xcodeの画面左上にある黒塗りの右矢印ボタンをクリックしましょう。
それ以外のマークのボタンが表示されている場合、
そのボタンをクリックして長押しすることで同位置に表示させておくボタンを設定し直すことが出来ますので、今回は右矢印である「Build for Running」のボタンに設定すると良いでしょう。



 以上にて、iOSアプリの実機テストを行う際に必要な手順の解説を終わります。
皆様の環境でも、本投稿の冒頭での私のつぶやきに掲載したスクリーンショットのように、
実際のiOS端末にて動く自作アプリが再現できましたでしょうか?


 なお一度iOS端末に転送したアプリについてですが、
実行する度にXcodeを用いてインストールを行う必要はありません。
これは文字通りiOS端末内にインストールされるためであり、使用期限付きである可能性はありますが今後はMacなしでインストールされたアプリを起動させることができます。
 また、ここで「使用期限付きである可能性」と表記しました理由ですが、
以前はiOS端末から「インストールされている証明書の一覧画面」にて、本投稿での意味合いのプロビジョニングプロファイルも確認でき、その詳細画面から有効期限をチェックすることができた仕様であったためです。
私の手持ちの環境(iOS 8.1搭載のiPhone 6 Plus)において、
同様の方法では同プロビジョニングプロファイルが一覧画面に表示されず、従いまして自作アプリの有効期限を確認することが出来ませんでした。

 またこの方法が通用した時代においては、
有効期限が切れた状態の自作アプリを立ち上げると「再インストールが必要である」というメッセージが表示されるだけで、肝心のアプリ本体は立ち上がらないという仕様でした。
あまり無責任なことは発言できませんが、
以上の点から現在はテスト用途で実機にインストールした自作アプリの使用期限が撤回されたのでは?と、私は考えています。
このような手順の解説記事を公開する身でありながら、細部の仕様を聞かれると分からないという状況に対し、自身の能力の無さを痛感しております。
 ですが本件に対する対応としましては、
出典がはっきりとした確定情報が得られ次第、後日本記事内にて追記する次第です。


9.自作アプリの実行停止方法について

 大げさに表記しましたが、自作アプリであってもアプリを終わらせる方法は同じです。
iPhoneとiPod Touchの場合は、ホームボタンを素早く2回押しこむことで普段通りのやり方で終了させることが出来ますし、
iPadの場合については、4本指のマルチタッチジェスチャーを使って終わらせることが可能な点も変わりません。


 ただし、今回はアプリを自作したため、
MacのXcode側からUSB接続されているiOS端末に対し、実行中の自作アプリを停止させる命令を送ることが可能です。
これを実現するには、
実行する際にクリックした右矢印のボタンの右隣に存在する、黒塗りの正方形のボタンを押すだけです。

実行停止前

実行停止後

その際にXcodeの画面上部のエリアをじっくり見ていると、
「Running アプリ名 on iOS端末名」の表記が「Finished running アプリ名 on iOS端末名」に変化することが確認できます。
これはXcode側からだけではなく、iOS側から自作アプリを終了させた際にも同様の挙動が確認できます。



 本投稿でご紹介したいことは、これにて以上になります。

本記事がきっかけで、インターネット上の誰かにおける自作アプリ開発の一歩を踏み出すことに繋がるのであれば、こんなに嬉しいことはありません。






0 件のコメント:

コメントを投稿