2012年2月22日水曜日

iphone ストップウォッチアプリの作り方
















今日はiphoneアプリのストップウォッチを作ろうと思います。
機能としては、
●スタートボタン
●ストップボタン
●クリアボタン

●時間を表示する部分

が必要ですね。


1、XcodeからView based で新規ファイルを作ります。

いつものように、xibファイルを開いてボタンやラベルを配置します。


2、.hファイルに以下を記入

@interface stopwatchViewController : UIViewController {

IBOutlet UILabel *lbl;

NSTimer *timer;

}

@property(nonatomic,retain) UILabel *lbl;


-(void)onTimer:(NSTimer*)timer;

- (IBAction) start_down:(id) sender;

- (IBAction) stop_down:(id) sender;

- (IBAction) clear_down:(id) sender;

@end


3、Interface builderで機能を繋げます


4、.mファイルに以下を記入


#import "stopwatchViewController.h"


@implementation stopwatchViewController

@synthesize lbl;


NSDate *stdate;

BOOL timeflg=FALSE;


- (void)onTimer:(NSTimer*)timer {

if(timeflg){

NSDate *now = [NSDate date];

self.lbl.text = [NSString stringWithFormat:@"%.3f",

[now timeIntervalSinceDate:stdate]];

}

}


-(IBAction) start_down:(id) sender{

timeflg = TRUE;

stdate = [NSDate date];

[stdate retain];

}


-(IBAction) stop_down:(id) sender{

timeflg = FALSE;

}


-(IBAction) clear_down:(id) sender{

timeflg = FALSE;

self.lbl.text = @"0.000";

}

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.

- (void)viewDidLoad {

[super viewDidLoad];

timer = [NSTimer scheduledTimerWithTimeInterval:(0.001)

target:self

selector:@selector(onTimer:)

userInfo:nil

repeats:YES];

}



/*

// Override to allow orientations other than the default portrait orientation.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

// Return YES for supported orientations

return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

*/


- (void)didReceiveMemoryWarning {

// Releases the view if it doesn't have a superview.

[super didReceiveMemoryWarning];

// Release any cached data, images, etc that aren't in use.

}


- (void)viewDidUnload {

// Release any retained subviews of the main view.

// e.g. self.myOutlet = nil;

}


- (void)dealloc {

[super dealloc];

}

@end


これで完成!

うまくできましたでしょうか??







2012年2月21日火曜日

iphoneアプリの申請について ⑦iTune Connectに登録しよう(Manage Your Applications)



次はいよいよManage Your Applicationsの登録です。
ここでは、申請しようとしているアプリの詳細なデータを登録していきます。

あらかじめ以下のことを決めておくと、
スムーズに登録ができるでしょう。

●アプリの名前
●アプリの説明文
●アプリの紹介画像(iphone用と、ipad用と登録するところがある)
●アイコン画像(512px×512px)


それではいってみましょう!!!






















まずはiTune Connectにログインしたら、
Manage Your Applicationsをクリックします。























こんなページです。
登録した後に、修正することもできるので、
気軽にまずは登録してみましょう。

ここでは、
Default Language:どこの国をメインでリリースするか
App Name:アプリの名前
SKU Number:任意の好きな数字
Bundle ID:Provisioninで登録したApp ID
















Availability Date:アプリの公開日(特に決まっていない人は今日の日付を選択)
Price Tier :値段を選択(freeはただ、tire1から選択でき、tire1は85円)
Discount for Educational Institutions:教育機関向け割引をするかどうか

















Version Number:アプリのバージョンナンバー
Copyright:コピーライト
Primary Category:カテゴリーを選択
Secondary Category (optional):第二のカテゴリーを選択
Review Notes (optional):アプリの説明を記述


アプリに以下のものが入るかどうかチェックを入れて選択する。

------
Cartoon or Fantasy Violence
Realistic Violence
Sexual Content or Nudity
Profanity or Crude Humor
Alcohol, Tobacco, or Drug Use or References
Mature/Suggestive Themes
Simulated Gambling
Horror/Fear Themes
Prolonged Graphic or Sadistic Realistic Violence
Graphic Sexual Content and Nudity

アニメやファンタジーの暴力
現実的な暴力
性的な内容やヌード
冒涜または下品なユーモア
アルコール、タバコ、薬物使用や引用
熟女/挑発的なテーマ
ギャンブル
ホラー/恐怖のテーマ
長時間のグラフィックやサディスティックリアルな暴力
グラフィック性的なコンテンツとヌード


----


最後にメタデータを記述。

Description:アプリの説明
Keywords:キーワード(xxx,eee,ddd,fff,rrr)などカンマで区切って入力
Support Email Address:サポートのアドレス
Support URL:サポートサイトのURL
Marketing URL (optional):もしあればマーケティングサイトのURL

EULA:自分で使用許諾契約書を提供する場合に設定してください。

iphoneアプリのアイコン画像や、キャプチャ画像をアップロードして下さい。
全部の登録が済むと、ページの右側に青色のボタンで、
アプリをアップロードする準備をするボタンが表示されます。

ここのボタンを押し、
アプリ内に暗号化している処理があるかどうか、聞かれるので、
暗号化処理がされていない場合はNOを選択してください。

※HTTPS (SSL) を使ってる場合は YES にしてください。



以上でApple Connectの設定は終了です!
準備ができたら、いよいよアプリをアップロードしましょう!!







iphoneアプリの申請について ⑥iTune Connectに登録しよう

iOS Provisioning Portalの設定ができたら、
次はiTune Connectの設定です。


■iTune Connect





















IDとパスワード(Apple IDと同じ)を入れてログインしたら、
Manage Usersっていうところ(ページの右下の人影のアイコン)を
クリックします。















iTunes Connect Userを選択して下さい。
















First Name :名前
Last Name :名字
Apple ID :アップルID

上記を登録してContinueボタンを押します。
これでManage Usersの設定は終わりです。

iphoneアプリの申請について ⑤iOS Provisioning Portalの設定をする(provisioningについて)

ちょっと時間が空いてしまいましたが、
今日はProvisioningのところを設定します。

まずはApple のiOS Provisioning Portalから、
右側のメニューでProvisioningを選択し、Developmentのタブを選択します。















右上にある、New Profileボタンをクリックします。



















Profile Name:プロフィール欄のところに表示させる名前を指定します。
Certificates:チェックボックスにチェックを入れます
App ID:先ほど作ったApp IDsをプルダウンで選択
Devices:チェックボックスにチェックを入れます


全て入力できたら、ページ右下にある「Submit」ボタンを押します。
暫くすると、Provisioning Profoleが反映され、
「Download」ボタンが押せるようになるので、ダウンロードしてみましょう。

「XXXXX.mobileprovision」というファイルがダウンロードできるので、
ダブルクリックして保存します。




















次は同じ様に右側でProvisioningメニューを選択したら、
タブをDistributionに移動します。

先ほどと同じように、ページ右上にある「New Profile」ボタンを押します。


Distribution MethodApp Storeを選択
Profile Name:プロフィール欄に反映される名前を指定
Distribution Certificate :(証明書のことです)
App ID:どのApp IDを使用するか選択します



以上を入力し、「Submit」ボタンを押すと、
こちらもProvisioning Profileが作成されますので、
「Download」ボタンを押してファイルをダウンロードして下さい。


こちらも「XXXXX.mobileprovision」というファイルがダウンロードできるので、
ダブルクリックして保存します。



2012年2月16日木曜日

iphoneアプリの申請について ④iOS Provisioning Portalの設定をする(App IDsについて)

以前、アプリを実機で動かすのブログでもちょこっと書いたのですが、
今回はApp IDsの登録についてです。















以前に引き続き、iOS Provisioning Portalから、
右側のApp IDsを選択します。


App IDsは一回登録しちゃうと消せないので、
慎重に登録しましょう!!!!
私は適当に登録しすぎてゴミIDがいくつか残ってしまいました(涙)
誰か消す方法を知ってたら教えて下さい。。



















「ADD App IDs」をクリックすると、
こんな感じの画面が開きます。
英語ばかりで意味が分からないので、google翻訳を使って訳します。




Description (説明)

Enter a common name or description of your App ID using alphanumeric characters. The description you specify will be used throughout the Provisioning Portal to identify this App ID.
You cannot use special characters as @, &, *, " in your description.

-----

英数字を使用してアプリケーションIDの共通名または説明を入力します。指定した説明は、このアプリIDを識別するためにプロビジョニングPortal全体で使用されます
@などの特殊文字を使用することはできません、&、*、"



→これからアプリを申請していくにあたって、
アプリを識別するためのIDの名前ってことです。
好きな名前を登録してみましょう。





Bundle Seed ID (App ID Prefix) (バンドルシードID(アプリケーションIDの接頭辞

Your Team ID (94R76G4L68) will be used as the App ID Prefix.

---

あなたのチームID(12347894L68)は、アプリケーションIDの接頭辞として使用されます



→アプリの識別IDが他の人とかぶらないように、
appleが用意したチームIDってのがつくみたいです。






Bundle Identifier (App ID Suffix) (バンドル識別子(アプリケーションIDのサフィックス)

Enter a unique identifier for your App ID. The recommended practice is to use a reverse-domain name style string for the Bundle Identifier portion of the App ID.

Example: com.domainname.appname

---

あなたのアプリケーションIDの一意の識別子を入力します。お勧めは、App IDのバンドル識別子部分に逆ドメイン名の形式の文字列を使用することです。

例:com.domainname.appname



→認識するIDが他の人とかぶらないように、
ドメインを逆にした形がおすすめだということです。
ここも好きな名前でつけてしまっても大丈夫ですが、
後悔のないように!

アプリケーション毎に App ID を作成するのが面倒なので、
「com.domainname.appname.*」のようにワイルドカードを指定するといいかもしれません。

詳細はこちらのブログが参考になりました。


そして、「Submit」ボタンを押すと、
App IDsが登録されています!!






iphoneアプリの申請について ③iOS Provisioning Portalの設定をする(Devicesについて)


次は、直接アプリの申請には関係ないかも知れませんが、
iOS Provisioning Portalから、Devicesを登録します。


■iOS Provisioning Portal

を開きます。














右側のメニューから「Devices」を選択し、
「ADD devices」ボタンをクリックします。
















こんなページにやってきます。

・Device name(デバイスの名前):好きな名前を登録
・Decive ID(デバイスID):iphoneのデバイスID

を登録します。
ここのiPhoneのデバイスIDは、Xcodeを開き、iphoneを接続したときに出てくるIDで、
以下のようにして取得します。

話が前後してしまってすみません><

1、iphoneをmacに接続する

2、Xcodeを開く

3、何かプロジェクトを開く(何でも大丈夫です。なければ適当に新規作成して下さい。)



















Xcodeのメニューの
ウインドウ→オーガナイザからオーガナイザを開きます。



















こんな画面です。
ここに出てくるIdentifierってのが今回登録するiPhoneのIDです。
長いですが、コピーして貼付けて下さい。


これでiOS Provisioning Portalの設定をする(Devicesについて)は終わりです。
次はApp IDsについて登録しましょう。


iphoneアプリの申請について ②iOS Provisioning Portalの設定をする(Certificatesについて)


アクセスキーチェーンから証明書を取得できたら、
次はiOS Provisioning Portalにいろいろ設定をしていきます。

■アップルデベロッパーセンター
https://developer.apple.com/jp/

からメンバーセンターにログインをします。














ログインをしたら、iOS開発ページの右上にある、
iOS Provisioning Portalをクリックします。

下のようなページにたどり着くことができるると思います。















これはHOME画面ですね。












右側のメニューのところから「Certificates」を選択し、
最初は何も登録されていないので、登録ボタンを押します。

ページの一番下にあるアップロードボタンを押し、
先ほどキーチェーンアクセスから取得した
「証明書」を選択肢、アップロードします。


しばらくすると、Actionのところに「Download」ボタンが出てくるので、
ボタンを押してダウンロードしてみましょう。
「developer_identity.cer」っていうのをダウンロードできると思います。













次は、同じ「Certificates」のメニューから「Distribution」タブを選択します。
同じように、登録ボタンを押して(テキストリンクだったかな…??)

遷移した先のページの下にあるアップロードボタンから、
同じようにキーチェーンアクセスから取得した、
証明書をアップロードします。

こちらも暫くすると、「Actions」のところにDownloadボタンができるので、
こちらもダウンロードしてみましょう。

「distribution_identity.cer」ってのをダウンロードすることができます。


ここでそろった、

・developer_identity.cer
・distribution_identity.cer

二つの証明書をクリックしてみましょう。
アクセスキーチェーンに証明書が登録されると思います。

これでiOS Provisioning Portalの設定をする(Certificatesについて)は終わりです。












iphoneアプリの申請について ①証明書を取得する

iphoneアプリを申請するために、
すごーくすごーく手間取って、いろいろ大変だったので、
それをメモするつもりで、少しずつブログにまとめたいと思います。

まず第一回目は、証明書の取得です。























まずはfinderを開いて、右上の検索ボックスでキーチェーンアクセスを
検索します。

そうすると、キーチェンアクセスが出てくるので、クリックして開きます。


















キーチェーンアクセスを開いたら、
メニューのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求を
選択します。
























ユーザーのメールアドレス:あなたのメールアドレス
通称:あなたの名前
CAのメールアドレス:何も入れない
要求の処理:ディスクに保存を選択

そして続けるを押します。

「続ける」ボタンを押して、鍵ペア情報を選択する画面が出るので、

  • 鍵のサイズ:2048ビット
  • アルゴリズム:RSA

を選択して完了します。
そうすると、デスクトップに「CertificateSigningRequest.certSigningRequest」が完成しています。
これで証明書の取得は完了です。

次回は「iOS Provisioning Portal」から証明書を登録しましょう。


2012年2月15日水曜日

X-codeコンパイルエラー Warning: The バンドルリソースをコピー build phase contains this target's Info.plist file 'hoge-Info.plist'.

X-codeでいろいろいじっていたら、
以下のエラーが出るようになってしまった。

Warning: The バンドルリソースをコピー build phase contains this target's Info.plist file 'hoge-Info.plist'.

これが出たときは以下のようにすると、
エラーがなくなります。

1、Resourcesのなかの「Info.plist」を右クリック
2、情報を見るを押す
3、ターゲットタブを選択
4、ターゲットのチェックを外す

以上でエラーが消えます。