2014年8月5日火曜日

アプリのURLスキーマを設定する方法

アプリを別のアプリから、開きたい場合はURLスキーマを設定する必要があります。

手順は以下

TargetのinfoからURL Typesを選択して、「+」をクリック

そうすると入力欄が表示されるので、「identifier」と「URL Schemes」を入力


identifier は アプリのid
URL Schemes は開きたいurlにします。(他のアプリをかぶらない様に注意)

アプリのAppStoreのURLを調べる方法

アプリを宣伝する場合に、AppStoreのURLが必要になる場合があると思います。

そんな時は、以下の手順。

① iTunes Connectにログイン
② 対象のアプリのページにジャンプ
③ View in App StoreのURLをコピー


アプリから別のアプリを開く方法

アプリを複数作った時に、宣伝として別のアプリを起動したい場合があると思います。

そんな場合は以下のコードを書いておきます。


NSURL *appURL = [NSURL URLWithString:@"aaaaaa:"];  // aaaaaaにスキーマを設定
NSURL *strURL = [NSURL URLWithString:@"https://itunes.apple.com/us/app/aaaaaa/id000000000?l=ja&ls=1&mt=8"]; // AppStoreのURLを設定
    
if([[UIApplication sharedApplication] canOpenURL:appURL] == YES)
{
    [[UIApplication sharedApplication] openURL:appURL];
}
else
{
    [[UIApplication sharedApplication] openURL:strURL];
}

これでアプリが起動出来る時は、アプリが。
起動できない時はAppStoreが開く様になります。


スキーマについては以下
http://startup-objc.blogspot.jp/2014/08/url.html

AppStoreのURLについては以下をご参照下さい。
http://startup-objc.blogspot.jp/2014/08/appstoreurl.html

2014年6月4日水曜日

Swiftへ移行するべきかどうか

WWDCでiOS8とSwiftが発表になりましたね。

このブログ内でSwiftを取り扱う事は、基本的には無いと思いますが、
別ブログでいろいろ書いていこうかとは思っております。
(ここはあくまでもObjCだけの空間にしたいです。)

基本的にはObjCとSwiftは共存するとの事なので、一安心していますが
いつまた方針が変わるかはわかりません。
仕事的には当分はObjC一択の姿勢ですが、いつかはSwiftを本格的にやる必要があるかもしれませんね。

少し少しやっていこうと思います。

2014年4月27日日曜日

AdMobで「Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GADSlot state]: unrecognized selector sent to instance 0x1701dbc60'」という様なエラーが出る。

AdMob導入時に「Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GADSlot state]: unrecognized selector sent to instance 0x1701dbc60'」という様なエラーが出る場合、「Build Settings」の設定が足りない場合がある。

「Build Settings」の「Linking」の「Other Linker Flags」に「-ObjC」を設定すると解決する。


UITableViewのヘッダの背景色を変更する。

UITableViewを利用するとき、Viewを作るのは面倒だけど、背景色を変えたいという時が有ると思います。

そんな時はこのコード。


#pragma mark -
#pragma mark UITableViewDelegate method
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
    if(section == 0)
    {
        [view setTintColor:[UIColor orangeColor]];
    }
    else if(section == 1)
    {
        [view setTintColor:[UIColor greenColor]];
    }
}

サンプルとはいえ、色合いが。。。

2014年4月25日金曜日

【続報】アプリのアップロード時に「improper advertising identifier [IDFA] usage. your app contains the advertising identifier [IDFA] api but you have not indicated its usage on the prepare for upload page in itunes connect」というメッセージが出る

http://startup-objc.blogspot.com/2014/04/improper-advertising-identifier-idfa.html

以前の記事の続報です。

実はitunesconnectのアップ時の質問に以下の文章があります。

Advertising Identifier Does this app use the Advertising Identifier (IDFA)? The Advertising Identifier (IDFA) is a unique ID for each iOS device and is the only way to offer targeted ads. Users can choose to limit ad targeting on their iOS device.

これをNOと答えると、IDFA使ってませんと解釈されるので注意。

結果、利用したアプリはアップ時に弾かれます。

おまけに、アップしてもいないので、手動リジェクトが出来ません。

ぐぬる。