まず動かしてみてから考える(3)

2010. 01. 26
さて、紆余曲折の末iPhone Developer Programの登録が済みましたが、実機で動かすにはまだいくつかハードルがあります。

皆さんご存知の通り、iPhoneは常時インターネットに接続可能で、個人情報を多く抱えているデバイスです。

従ってユーザが安心して使えるよう、アプリケーション開発者にはセキュリティ面でかなり足枷を付けられています。

開発者としてメールアドレス、氏名、住所、電話番号を登録するだけでなく、デバイスIDを申請して開発用証明書を受け、制作したアプリケーションに署名をしなければなりません。
また、アプリの配布もApple Storeに限定されており、自由に配布できません。

これはウィルスなど悪意あるアプリが流布されても開発者が特定できるようにし、作らせないような抑止力の意味合いもあります。

結構な手間がかかり、よく分からない単語の目白押しですが、これをやらないと実機でのテストもアプリの配布もできませんのでめげずにやりましょう。

例によって『目指せ!iPhoneアプリ開発エキスパート』の『第9回 デバイスでアプリを動かす』 に沿って話を進めます。

●アプリを動かす準備

まず証明書署名要求を作ります。

キーチェーンアクセスで証明書署名要求のファイルを作り、iPhone Developer ProgramのiPhone Developer Program Portalに入ります。

044

(記事と)I/Fが若干変わったようです。
キーチェーンで作った証明書署名要求を提出し、開発証明書とWWDR intermediate certificateoをダウンロード、キーチェーンに登録します。

045

●App IDの作成

デバイスを登録し、App IDの作成に入ります。

046

記事とレイアウトが異なりまして、まず画面右上の『New App ID』ボタンをクリックします。

047

記事中の『App ID Name』は『Description』、『App ID』は『Bundle Identifier(App ID Suffix)』になっていますが、意味するところは同じです。

Descriptionは本来、商品概要の項目なのですが、しばらくはテスト用なので名前でもいいでしょう。

中央の『Bundle Seed ID(App ID Prefix)』は、『Generate New』しか選択できませんのでそのままに。

Bundle Identifierは調べてみると人によって『*』『逆ドメイン』『逆ドメイン.*』と違います(『逆ドメイン.*』だとエラーになるという人もいるそうです)。

本来はアプリケーションを個別認識させるためもので、バンドル識別子にはアプリケーション名を含まなければならないので、公開アプリの際には注意してください。

今回はテスト用なので『*』だけにし、右下の『Submit』を押して提出します。

048

●プロビジョニングのインストールと設定

049

後はダウンロードしたプロビジョニング・ファイルをインストールし、先日作ったBargainSaleの設定をデバイスに変更してビルドすると、実機で動かすことができます。

手順だけを追って、そのまま手続きすれば一応動かすことはできますが、App IDのバンドル識別子など、中身や意味を理解していないと公開時に困ることになるので、それまでにきちんと調べておく必要があります。

それとエミュレータと実機では、やはり操作に対する印象が異なります。
BargainSaleの場合、スライダを操作する際に、割引後の価格が手の下に表示されて見難いことも判明しました。
例えテストであっても、I/Fの確認には実機で試さないとダメですね。
 





Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose QuietComfort 20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR