Storyboardから始めるiPhoneアプリ開発

Twitterボタン
Twitterブログパーツ

Xcodeやobjective-c、Storyboardについて得た知識などiPhoneアプリ開発の体験記を配信


草刈りパニック 海軍王アカデミー シンプルゆめ日記 シンプル表計算CelLion 魔球スラッガー 地頭を鍛えるでんしゃ算数 Don't 100
2012/04/30(月)

[Xcode][objective-c]UIScrollView上にUIButtonを置く方法

カテゴリ:Xcode / objective-c
以下のようにStoryboard上のViewControllerにUIButton(画像右上の矢印)を乗せてもRun(実行)すると画面に表示されません。
スクリーンショット 2012-04-30 21.13.56

スクリーンショット 2012-04-30 21.13.32


以下のコードを追加するとUIButtonが表示されるようになります。
[self.view addSubview:myButton];//myButtonはUIButtonクラスの変数

スクリーンショット 2012-04-30 21.14.19
関連記事
  1. 2012/04/30(月)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/29(日)

[Xcode][objective-c]文字列を文字数指定などで切り取る方法

カテゴリ:文字列操作

文字列の先頭から文字数を指定して切り取り

NSString *str_Text = @"Storyboard";
NSLog(@"%@", [str_Text substringToIndex:3]); //→Sto

文字列の途中から末尾までを切り取り

NSString *str_Text = @"Storyboard";
NSLog(@"%@", [str_Text substringFromIndex:3]); //→ryboard

文字列の途中から文字数を指定して切り取り

NSString *str_Text = @"Storyboard";
NSLog(@"%@", [str_Text substringWithRange:NSMakeRange(3,5)]); //→ryboa

参考
関連記事
  1. 2012/04/29(日)|
  2. 文字列操作
  3. | トラックバック:0
  4. | コメント:0
2012/04/28(土)

[iTunesConnect][GameCenter]Leaderboardにスコアが反映されない

カテゴリ:iPhoneアプリ開発
Leaderboardにスコアを送信しても反映されないことがあります。

原因はおそらく「スコア送信者が1人だから」です。
※言うまでもありませんがGameCenterの実装コードに不備がないことが前提です。

私もサンドボックス環境でテスト中に陥りました。

ネットで調べた所、「2人目以降の送信があれば正常に表示される」との情報を入手しそのままリリースしました。

最初はスコア送信者が私だけなので「No Scores」と表示されていましたが、別の方がスコア送信してくださり私のスコアを含めて無事表示されるようになりました。

推測ですが、「1人目の送信者」が影響を受けるようなので、GameCenter機能付きのiPhoneアプリをリリースした場合は速攻で自分自身のスコアを送信しておくと良いかもしれません。
関連記事
  1. 2012/04/28(土)|
  2. iPhoneアプリ開発
  3. | トラックバック:0
  4. | コメント:1
2012/04/27(金)

[Xcode][objective-c]UITextView,UITextFieldなどに枠線を付けたり角を丸めたりする方法

カテゴリ:Xcode / objective-c
UITextViewやUITextFieldは通常角が尖ってますよね。
その角の丸め方や枠線の付け方の紹介です。
今回はUITextViewを例とします。


UITextView *textView;
textView.layer.cornerRadius = 10.0f;//角の丸め
[[textView layer] setBorderColor:[[UIColor redColor] CGColor]];//枠色
[[textView layer] setBorderWidth:3.0];//枠太さ


こんな感じになります。
写真


角の丸め、枠の太さの数値は自分で弄って微調整して下さい。
共にfloat値です。

枠色については、「デフォルトで定義されている色を使う」か「自分でRGB値等を指定する」の2択です。
コチラのサイト様を参考に。

関連記事
  1. 2012/04/27(金)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/26(木)

[iTunesConnect]iAdの広告表示率フィルレート(FillRate)推移データ@2012/4/18週

カテゴリ:iAd / AdMob
以下3つのiPhoneアプリの合算フィルレート

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


地頭を鍛えるでんしゃ算数 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


スクリーンショット 2012-04-25 23.57.37



やはり概ね50%程度。
土日は低い傾向にあるのか?

AdMobを導入した「魔球スラッガー」は現在AppStore審査待ち。
恐らく明日アップデートされると思われる。
リジェクトを喰らわなければ…

魔球スラッガーも最近Requestsが落ちて来た…
関連記事
  1. 2012/04/26(木)|
  2. iAd / AdMob
  3. | トラックバック:0
  4. | コメント:0
2012/04/25(水)

[Xcode][objective-c]UITableViewCellのセル選択状態を解除する方法

カテゴリ:UITableView
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

UITableViewを使って何かの一覧を作った時、デフォルトの状態でセルをタップするとセルの背景が「選択状態」となり青くなって元の色に戻らなくなります。(別のセルをタップすればそのセルが青くなります)

その「セル選択状態」を解除する方法です。

セルタップデリゲートメソッド内に以下のようにセル選択解除コードを記述するだけです。
//セルタップデリゲートメソッド
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES]; // 選択状態の解除
}


Storyboardを使わずに、UITableViewでの画面遷移の実装方法について記事にしています↓
[Xcode][objective-c]コードで画面遷移する方法@UITableView

参考になれば。
関連記事
  1. 2012/04/25(水)|
  2. UITableView
  3. | トラックバック:0
  4. | コメント:0
2012/04/24(火)

[Xcodeエラー]「Undefined symbols for architecture armv7 」 「clang: error: linker command failed with exit code 1」

カテゴリ:エラー
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

XocdeでBuildしたとき、以下のようなエラーが出たときの対処法。
「Undefined symbols for architecture armv7 」
「clang: error: linker command failed with exit code 1」
スクリーンショット 2012-04-24 12.00.11


必要なフレームワークがXcodeに追加されているか確認してください。
上画像はTwitterフレームワークの追加忘れが原因のエラーです。

TwitterやGameCenter,iAdなどが考えられるでしょうか。

各機能の必要フレームワークをまとめた記事はコチラ↓
[Xcode][objective-c]iPhoneアプリ用途別、追加必須フレームワーク及びライブラリ一覧
関連記事
  1. 2012/04/24(火)|
  2. エラー
  3. | トラックバック:0
  4. | コメント:0
2012/04/23(月)

[Xcode][objective-c][SQLite]文字列数式から計算結果を得る方法

カテゴリ:文字列操作
例えば、@"10+4/2*3"という文字列数式を持っていて、この計算結果(16かな?)を得るにはどうしたらいいか。

演算子を「可変」で対応するとなると面倒だなぁなどと散々考えた結果、「SQLiteを使う」という結論に至りました。

SQLiteやFMDatabase(SQLiteのラッパクラス)の使い方は省略しますが、UPDATE文で文字列数式を入れてあげれば、計算結果がDBに格納されます。

T_CalcテーブルのCalcResultフィールドを使ってUPDATE文を投げるとすれば
UPDATE T_Calc SET CalcResult = 10+4/2*3

ってな感じで実行後、SELECT文で引っ張り出してあげればOKかなと。
SQL中の計算式を変数で挿入してあげれば使い回せますね。

こんな計算ごときでDBを使うのは気が引けますが現状これ以外思い付かないのでこれで決定!

他にうまいやり方があるのだろうか。。。
関連記事
  1. 2012/04/23(月)|
  2. 文字列操作
  3. | トラックバック:0
  4. | コメント:0
2012/04/22(日)

iPhoneアプリ『35歳までには“最低”知っておきたい 経済学ドリル』

カテゴリ:iPhoneアプリ紹介
経済学のスペシャリストが解説する経済学ドリル

経済を実際の数字を使いクイズ形式でわかりやすく学べます

へぇが出まくりの一品!オススメです。

35歳までには“最低”知っておきたい 経済学ドリル App

カテゴリ: ブック

価格: ¥85(記事掲載時)
関連記事
  1. 2012/04/22(日)|
  2. iPhoneアプリ紹介
  3. | トラックバック:0
  4. | コメント:0
2012/04/21(土)

[iTunesConnect]iAdの広告表示率フィルレート(FillRate)推移データ@2012/4/11週

カテゴリ:iAd / AdMob
以下3つのiPhoneアプリの合算フィルレート

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


地頭を鍛えるでんしゃ算数 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


スクリーンショット 2012-04-19 19.53.50


概ね50%程度。
前週より少し良くなったか。

先日、「Don't100」にAdMobを導入し、アップデートをした。
収益がどれほど伸びるかと期待したが、急にRequests(広告表示要求数)が減ったため、AdMobからの収入は皆無に近い。

比較的好調な稼働をしている「魔球スラッガー」にAdMobを導入し現在AppStore審査待ち。
来週中頃にはアップデートされる予定。

AdMobはiAdと違いインプレッション(広告表示)報酬がないのが痛い。
関連記事
  1. 2012/04/21(土)|
  2. iAd / AdMob
  3. | トラックバック:0
  4. | コメント:0
2012/04/20(金)

[iTunesConnect][GameCenter]設定したはずのLeaderboardが反映されていなくてリジェクトされる件

カテゴリ:iPhoneアプリ開発
iPhoneアプリにGameCenter機能を実装するためにまず、iTunesConnectにてLeaderboardと呼ばれる自分のアプリ専用のランキングを作成します。

そしてアプリに適用するためには、そのLeaderboardを有効にし、「このアプリのこのバージョンにはこのLeaderboardを使いますよ」という宣言が必要です。

その宣言の設定個所がこちら↓

自分アプリアイコンボタン >> View Detailsボタン >> Game Center
スクリーンショット 2012-04-18 16.32.00

スクリーンショット 2012-04-18 16.31.19
Enable for This Versionとなっていて、その下に「XXX(1以上) of XXX Selected to submit」となっていたらOK。
 → 例えば、0 of 1となっていたらダメ。選択されていない。


さて以上を踏まえて本題。

症状

一度上記状態になっているにも関わらず、次にもう一度同じ画面を開いたら「ダメな状態」になっていた。

原因

上記設定後、App Localizations >> Choose Another Language でDefault Language以外の言語に切り替えたから。

GameCenter有効ボタンと同じ画面の1項目上にあるApp LocalizationsのこのプルダウンでDefault Language以外を選択して、
スクリーンショット 2012-04-18 16.31.32

(この時点で、GameCenterの設定にまだ何も変化は無い)

その後、App Summaryボタンを押してページを戻る。
スクリーンショット 2012-04-18 16.31.51

再び、View Detailsボタンを押すと…
スクリーンショット 2012-04-18 16.32.08
※前述通り、「0 of 3」はダメな状態。

この状態に気付かずにレビューが開始されると、以下のように「LeaderboardをSubmitしろ」と言う内容のリジェクトを喰らう事になります。
2.3:
We found that your application is using Game Center leaderboard, however, you have not yet submitted the leaderboard for review. It would be appropriate to submit the Game Center leaderboard for review.


対処方法

Default Languageを表示している状態でLeaderboardをsubmitして、App Summaryボタンで撤収する。

以上。

記事中に登場したアイコン。
私が開発した魔球アプリです。
無料ですのでよろしければ遊んでやってください。
来週中には、ゲームセンター対応ミッションをアップデートする予定です。

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/20(金)|
  2. iPhoneアプリ開発
  3. | トラックバック:0
  4. | コメント:0
2012/04/19(木)

[Xcode][objective-c]画面が表示された瞬間に別のViewControllerを呼ぶ方法

カテゴリ:Xcode / objective-c
あるViewControllerが呼ばれ表示された瞬間に別のViewControllerを呼び出す方法を紹介します。

ポイントは以下メソッドに画面遷移コードを記述することです。
- (void)viewDidAppear:(BOOL)animated{}

viewDidLoadではありませんので注意。
viewDidLoadだとうまくいきません。

なぜこんなことをする必要があるのか。

私が開発した『シンプルゆめ日記』という日記アプリでパスワード機能を実装したのですが、起動時に「パスワード未設定」の場合と「パスワード設定済」の場合とで、以下のように処理を分けたかったのです。

「パスワード未設定」
パスワード入力画面を表示せずに初期画面を表示
passMISETTEI.png


「パスワード設定済」
パスワード入力画面を表示して、ロック解除後に初期画面を表示
passZUMI.png


今回の問題は「パスワード未設定」の場合の処理です。
viewDidAppearメソッドに画面遷移コードを記述することで実現出来ました。


シンプルゆめ日記もよろしくお願いします。
シンプルゆめ日記 App

カテゴリ: ユーティリティ

価格: ¥85(記事掲載時)
関連記事
  1. 2012/04/19(木)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/18(水)

[iOS]iPhoneアプリの起動に20秒掛かると強制終了

カテゴリ:iPhoneアプリ開発
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

iPhoneアプリに限ったことではないと思いますが、どうやら起動に20秒以上掛かると強制終了されるようです。

AppDelegateの以下メソッドにDBアップデートなどの重い処理をさせると「起動すらしない」とユーザレビューに書かれてしまうことになるかもしれません。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
}


なので、初期画面(Is Initial View Controller)を本来のタイトル画面ではなく、DBアップデート用のViewControllerに設定して。アップデート終了もしくはアップデート不要の時は、本来のタイトル画面に遷移してやれば良いかと思います。

※↓Is Initial View Controllerの設定画面
スクリーンショット 2012-04-18 11.19.58

起動中画面のDefault.pngをDBアップデート用のViewControllerでうまく使えば、このViewControllerの存在をユーザに意識させる事も無くなりますね。
もちろんこれは「DBアップデート不要時」の話であって、「DBアップデート中」はその旨の表示をすべきです。
関連記事
  1. 2012/04/18(水)|
  2. iPhoneアプリ開発
  3. | トラックバック:0
  4. | コメント:0
2012/04/17(火)

iPhoneアプリ『メガ盛りポテト』

カテゴリ:iPhoneアプリ紹介
上から降ってくるポテトをキャッチしてメガ盛りポテトを作るiPhoneアプリです。

結構な速度でポテトが降ってくるので反射神経が試されます。

結果発表では盛ったポテトの量に応じてサイズが表示されますが、こんなサイズ某ファーストフード店では見た事ありません(笑)

盛って盛って盛りまくりましょう!!

メガ盛りポテト App

カテゴリ: ゲーム

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/17(火)|
  2. iPhoneアプリ紹介
  3. | トラックバック:0
  4. | コメント:0
2012/04/16(月)

[Game Centerエラー]このゲームはGameCenterにより認識されません。This game is not recognized by Game Center

カテゴリ:エラー
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
iPod touch(第3世代) iOS ver.5.0.1
==============

症状

Game CenterのLeaderboard機能を実装時、テストでGame Centerを開こうとしても以下のエラーが出て先に進めなくなった。
このゲームはGameCenterにより認識されません
This game is not recognized by Game Center

※実機でのテスト中に起きた。(シミュレータでは未確認)
※以下確認済み。
  1. iTunesConnectでのGameCenter機能「Enabled」
  2. iTunesConnectで設定したアプリの「Bundle ID」とXcodeで設定している「Bundle Identifier」の一致
  3. GameCenterへのログインに使用しているアカウントが「サンドボックス環境でテスト用に作成したもの」であること

対処方法

デバイスからアプリを削除し、再びXcodeからRunする。

…たったこれだけ。
2時間イカれた。
関連記事
  1. 2012/04/16(月)|
  2. エラー
  3. | トラックバック:0
  4. | コメント:0
2012/04/15(日)

[AppStore審査]iPhoneアプリ『シンプルゆめ日記』〜アプリ登録からリリースまでのステータス変動〜

カテゴリ:iPhoneアプリリリース
シンプルゆめ日記 App

カテゴリ: ユーティリティ

価格: 無料(記事掲載時)


紹介記事はコチラ

iPhoneアプリ「シンプルゆめ日記」のアプリ情報を登録し、リリース出来る状態になるまでのステータス変動をまとめておきます。
参考になれば。

日付ステータス備考
4/8Waiting For UploadiTunesConnectでアプリ情報を登録するとこのステータスになる。
4/8Upload ReceivedXcodeのオーガナイザーからSubmitするとこのステータスになる。
4/8Waiting For Review数分でUpload Receivedからこのステータスになる。
4/13In Reviewレビューが開始されるとこのステータスになる。
4/13Processing for App StoreAppStoreへの登録準備のステータス。この時点でレビューは通っている。
4/13Ready for SaleAppStoreでの審査が終了し、販売出来る状態になるとこのステータスになる。
ちなみに[In Review]から[Ready for Sale]になるまでの時間、1時間1分。鬼レビュー。


というわけで今回はノーリジェクトでリリース出来ました。
『シンプルゆめ日記』をどうぞよろしくお願いします。

紹介記事はコチラ

シンプルゆめ日記 App

カテゴリ: ユーティリティ

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/15(日)|
  2. iPhoneアプリリリース
  3. | トラックバック:1
  4. | コメント:0
2012/04/14(土)

[おすすめ]iPhoneアプリ『シンプルゆめ日記』リリース

カテゴリ:iPhoneアプリリリース
管理者が開発したiPhoneアプリをご紹介します。
期間限定無広告無料アプリですので良ければダウンロードしてお楽しみください。

シンプルゆめ日記 App

カテゴリ: ユーティリティ

価格: 無料(記事掲載時)


☆★ 毎日が楽しくなる♪シンプルなゆめ日記アプリが登場 ☆★

[ 概要 ]
朝起きてその日見た夢をサクッとメモ出来るシンプル仕様のiPhoneアプリ

[ 特徴 ]
- パスワードロック
- 全50種類のゆめアイコン
- 記録したゆめ日記が簡単に確認できるカレンダービュー
- 記録した日付だけのゆめ日記をまとめたリストビュー

DreamDiary_01.png


[ 機能 ]
1.カレンダービュー画面
閲覧:ゆめ日記の内容とゆめアイコンの表示
削除:自由選択削除、全削除
切替:前月、翌月、当日(上部バー日付をタップ)
※画面下の"クイックビューワー"で日記の内容を確認できます。

2.テーブルビュー画面
閲覧:ゆめ日記の内容とゆめアイコンの表示
削除:自由選択削除、全削除
切替:前月、翌月、当月(上部バー日付をタップ)

3.ゆめ日記編集画面
編集:ゆめ日記の入力、ゆめアイコンの選択
閲覧:ゆめ日記の内容とゆめアイコンの表示
削除:ゆめ日記、ゆめアイコンの削除
切替:前日、翌日、当日(上部バー日付をタップ)

4.パスワードロック
起動時パスワード認証
※アプリが終了してからロックが掛かるまでの時間を設定可能です。

DreamDiary_02.png

▼ヒント
1.ゆめアイコンとは?
その日に見た夢を象徴する"顔"などのアイコンです。
全50種類の中から見た夢にピッタリのアイコンを探しましょう。

2.クイックビューの使い方
- 中央部をタップ
ゆめ日記編集画面へ移動します。

- 中央部をダブルタップ
ゆめ日記編集画面に移動して、さらにキーボードを表示します。

- 左右部をスワイプ
長文のゆめ日記をスクロールします。

※中央部のタップ、ダブルタップ時の動作を設定可能です。

3.ゆめ日記の一括削除のやり方
- 全件一括削除
設定画面で"ゆめ日記全データの削除"を選択すると、それまでに記録したゆめ日記を全件削除します。

- 月単位一括削除
カレンダービュー、リストビューそれぞれ"1件も選択されていない状態"で削除実行ボタンを押すとその月のゆめ日記を削除できます。


レビューを元に改善点などアップデートしていく予定です。
ご意見ご要望など頂けると嬉しいです。
よろしくお願いします。

シンプルゆめ日記 App

カテゴリ: ユーティリティ

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/14(土)|
  2. iPhoneアプリリリース
  3. | トラックバック:0
  4. | コメント:0
2012/04/13(金)

[iTunesConnect]iAdの広告表示率フィルレート(FillRate)推移データ@2012/4/4週

カテゴリ:iAd / AdMob
以下3つのiPhoneアプリの合算フィルレート

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


地頭を鍛えるでんしゃ算数 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


スクリーンショット 2012-04-13 7.14.40

前週と変わらず50%に満たない状況。

AdMobを導入し近日アップデート予定。
収益がどの程度上がるか期待。
関連記事
  1. 2012/04/13(金)|
  2. iAd / AdMob
  3. | トラックバック:0
  4. | コメント:0
2012/04/12(木)

[Xcode][objective-c]コードで色々なアニメーションの画面遷移をする方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

以前、Storyboardを使わずにコードで画面遷移する方法を紹介しました。


今回はさらに画面遷移のアニメーションを指定する方法を紹介します。
以下のコードを画面遷移コードの前に記述するだけ。

//画面遷移アニメーションの指定
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;


上記コードの場合、画面遷移元と画面遷移先が透明度によって切替ります。
「UIModalTransitionStyleCrossDissolve」を以下に変えれば別のアニメーションにもなります。
どのような画面遷移アニメーションになるのかはそれぞれご自身の目で確かめて下さい。
UIModalTransitionStyleCoverVertical
UIModalTransitionStyleFlipHorizontal
UIModalTransitionStylePartialCurl


画面遷移コードの部分のみですが、冒頭にリンクしてある記事を元に記述例を載せておきます。

[Xcode][objective-c]コードで画面遷移する方法@UIAlertView

//ボタン押下時の処理
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
//遷移先ViewControllerクラスのインスタンス生成
TestViewController2 *testVC2 = [self.storyboard instantiateViewControllerWithIdentifier:@"testVC2"];//手順1で付けた名前

//画面遷移アニメーションの指定
testVC2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

switch (buttonIndex) {
case 0://押したボタンがCancelなら何もしない
break;

case 1://押したボタンがOKなら画面遷移
[self presentModalViewController:testVC2 animated:YES ];
break;

}
}
関連記事
  1. 2012/04/12(木)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/11(水)

[Xcodeエラー]Unknown class XXXXX in Interface Builder file.

カテゴリ:エラー

現象

実行時、コンソールに以下のエラーが出力された。

Unknown class XXXXX in Interface Builder file.
※XXXXX はクラス名

対処方法

対象クラスファイルを一度Xcodeから削除(Remove Reference Only)して、再度登録する。
※バックアップ無しで完全削除しないように注意

原因は分からない。1時間もってイカレた。
関連記事
  1. 2012/04/11(水)|
  2. エラー
  3. | トラックバック:0
  4. | コメント:0
2012/04/10(火)

[Xcode]iPhoneアプリアイコンのグロス(光沢感)をなくす方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
iOSシミュレータ ver.5.0
==============

iPhoneアプリは基本的にXcodeで開発します。
Xcodeではデフォルト設定で「アイコンにグロスを掛ける」ようになっています。
下画像の右側がグロスが掛かっている状態です。
222.png

densya.png

dont100.png


今回はこのデフォルト設定の変更方法を紹介します。

Xcodeを開いて、プロジェクトファイル >> TARGET(自分のアプリ) >> Info >> Icon files(iOS 5) >> Primary Icon と辿って行って下さい。
その中の、Icon already includes gloss effects のValueを変更します。※値の意味は以下を参照。

111.png

YES : 自動でグロスを掛けない
NO : 自動でグロスを掛ける


「NO」に設定すると、勝手に光沢のあるボタン感を出してくれます。
しかし、アイコンのデザインによってはグロス無しの方が「映える」場合があるので一度は試してみる価値アリです。
ちなみに、アプリを既にシミュレータや実機に転送している場合は、一度アプリを削除しないと設定変更が反映されないことがあるので注意が必要です。

[お知らせ]←本題
今回記事に使用したアイコンは、先日リリースしたばかりの私の処女作アプリ達です。
無料ですのでよかったらダウンロードしてください。
レビュー欄にてご意見ご感想、不平不満などなどお待ちしています。

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


地頭を鍛えるでんしゃ算数 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/10(火)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/09(月)

[iTunesConnect]iPhoneアプリのInAppPurchase(アプリ内課金)導入でAppStore審査の際に必要なスクリーンショット

カテゴリ:iPhoneアプリ開発
iTunesConnectにてInAppPurchase(アプリ内課金)導入の手続きをしていると、スクリーンショットをアップロードする項目が出てくる。

一体なんのスクリーンショットをアップロードすればいいのかわからなかったので、ネットで調べたところ、「ご購入ありがとうございました」的なアラートのスクリーンショットをアップロードしたら審査通った!という情報を得た。

しかしいくら実機テストしようとそんなアラートは出て来ない。

しかたないので、「85円で買いますか?」的なアラートをアップロードしたら、審査を通過した。

1_20120406012009.png
関連記事
  1. 2012/04/09(月)|
  2. iPhoneアプリ開発
  3. | トラックバック:0
  4. | コメント:0
2012/04/08(日)

[Xcodeエラー]To include Newsstand features, the Info.plist must include the UINewsstandApp=true.

カテゴリ:エラー
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1

iPhoneアプリを開発し、AppStoreに申請する段になった。

そしてXcodeからバイナリーをアップロードするためにオーガナイザーで手順を進めていたら突然次のエラーが出現し怒られた。(デジャヴ

To include Newsstand features, the Info.plist must include the UINewsstandApp=true.
スクリーンショット 2012-04-05 22.40.04


対処方法

Info.plistの項目から[Newsstand Icon]を削除する。
スクリーンショット 2012-04-05 22.54.09
※[-]ボタンを押下すれば良し
関連記事
  1. 2012/04/08(日)|
  2. エラー
  3. | トラックバック:0
  4. | コメント:0
2012/04/07(土)

[Xcodeエラー]warning: Icon specified in the Info.plist not found under the top level app wrapper

カテゴリ:エラー
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

iPhoneアプリを開発し、AppStoreに申請する段になった。

そしてXcodeからバイナリーをアップロードするためにオーガナイザーで手順を進めていたら突然次のエラーが出現し怒られた。

warning: Icon specified in the Info.plist not found under the top level app wrapper
スクリーンショット 2012-04-05 22.27.48


対処方法

Info.plistの項目からIconの空のItemを削除する。
スクリーンショット 2012-04-05 22.36.53
※[-]ボタンを押下すれば良し
関連記事
  1. 2012/04/07(土)|
  2. エラー
  3. | トラックバック:0
  4. | コメント:0
2012/04/06(金)

[Xcode][iOS]iPhoneアプリ開発でマルチタスクを無効にする方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

iOS4から追加されたマルチタスク機能を無効にする方法を紹介します。

手順1 info.plistを開く


手順2 適当なKeyの[+]ボタンを押す


手順3 Application does not run in backgroundを選択する


手順4 Valueを[YES]に変更する


以上
関連記事
  1. 2012/04/06(金)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/05(木)

[iTunesConnect]iAdの広告クリック率(CTR)推移データ@2012/3/28週

カテゴリ:iAd / AdMob
以下2つのiPhoneアプリの合算広告クリック率

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


スクリーンショット 2012-04-04 2.48.18

1%に満たない程度。
これは案外高いように思う。
そうでもないのだろうか。
関連記事
  1. 2012/04/05(木)|
  2. iAd / AdMob
  3. | トラックバック:0
  4. | コメント:0
2012/04/04(水)

[iTunesConnect]iAdの広告表示率フィルレート(FillRate)推移データ@2012/3/28週

カテゴリ:iAd / AdMob
以下2つのiPhoneアプリの合算フィルレート

魔球スラッガー 〜2次元野球〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)


Don't 100 〜100を言ったら負け〜 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)



スクリーンショット 2012-04-03 21.23.48

概ね50%程度と言った所か。
低いなぁ。
AdMobとの併用を考えないといけませんね。
関連記事
  1. 2012/04/04(水)|
  2. iAd / AdMob
  3. | トラックバック:0
  4. | コメント:0
2012/04/03(火)

iPhoneアプリ『レジの達人』

カテゴリ:iPhoneアプリ紹介
次々に出てくる商品の値段をレジに打ち込むiPhoneアプリです。

段々値段の桁数が増えて難しくなります。

攻略法と言うかコツは、暗記力とレジの数字配列に慣れることでしょうか。

中毒者続出中!面白いです!!

レジの達人 App

カテゴリ: ゲーム

価格: 無料(記事掲載時)
関連記事
  1. 2012/04/03(火)|
  2. iPhoneアプリ紹介
  3. | トラックバック:0
  4. | コメント:0
2012/04/02(月)

[Xcode][objective-c]メソッドが多すぎてどこにあるか分からなくなったときの整理方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

売れるiPhoneアプリを作ろうと頑張って開発途中、メソッドをいっぱい作りすぎてカオスになっていませんか?
そんなとき、メソッドをカテゴリ別に整理する方法を紹介。

Xcodeで新規プロジェクトを作成するとき「Single View Application」を選択したときのViewController.mはこんな感じ。
#import "ViewController.h"

@implementation ViewController

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end


私のようなiPhoneアプリ開発初心者にとってはすでにカオス(笑)
Xcodeのここ↓をクリックするとメソッドなどの一覧を表示出来ます。
スクリーンショット 2012-04-01 21.31.39

スクリーンショット 2012-04-01 21.31.56


この一覧をカテゴリごとに整理しようというのが今回のテーマです。

簡単です。このコードを追加するだけ。
#pragma mark - カテゴリ名


試しにコードを追加してみました。(追加位置は適当です)
#import "ViewController.h"

@implementation ViewController

//--------------------------------
#pragma mark - メソッドカテゴリ1
//--------------------------------
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}

//--------------------------------
#pragma mark - メソッドカテゴリ2
//--------------------------------
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}

//--------------------------------
#pragma mark - メソッドカテゴリ3
//--------------------------------
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end



メソッド一覧はこんな感じになります。
スクリーンショット 2012-04-01 22.11.20

ちょっとは見やすくなったでしょうか。
関連記事
  1. 2012/04/02(月)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0
2012/04/01(日)

[AppStore審査]Xcodeからバイナリーをアップロードするときにアーカイブコマンド(Archive)が表示されない時の対処方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
==============

iPhoneアプリをAppStoreで審査してもらう為には、Xcodeからバイナリー(プロジェクトファイル)をアップロードする必要があります。

現行バージョンのXcodeでは、Product >> Archiveコマンドで行うのですが、下画像のようにアーカイブコマンド(Archive)がグレーになり選択できない状態の場合があります。

スクリーンショット 2012-03-31 14.07.15


原因は、「実機テストをしていないから」です。
厳密に言うと、「1度も実機転送していないから」です。

1度実機転送すれば、アーカイブコマンド(Archive)を選択できるようになります。

ちょっとしたアップデートの時に、シミュレータだけで動作確認した場合は注意が必要ですね。


[2012/4/8追記]
実機テストをした後でも、シミュレータで実行をしてしまうと同じ現象になるようです。
なので、厳密に言うと「最後に実行した環境が実機ではないから」ですね。
もう一度、実機で実行すれば、アーカイブコマンド(Archive)を選択できるようになります。
関連記事
  1. 2012/04/01(日)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:0

検索フォーム

アプリ紹介記事

おすすめ書籍

入門者向けおすすめサービス

iPhoneアプリ開発やリリースに必須と思われるサービスです。開発と並行してリリースの環境を整える必要があります。

    シティバンク
    アプリから得られる収入やアプリ製作関連の支出を管理する口座が必要です。アプリから得られる収入は日本円だけではなく米ドル等の外貨の場合がありますので、グローバルで貨幣の両替が簡易な銀行口座を選択します。一旦はここで無難です。

    FC2ブログ
    アプリをリリースする際、サポートサイトが必須です。無料で使い勝手の良いFC2ブログがおすすめです。

    リンクシェア
    アプリの下によくある広告のあれです。ここと提携してアプリ内に広告を設置することで、広告収入を得ることができます。少しでも下心があるなら必須です。

    三井住友VISAカード
    デベロッパー登録やその他経費をクレジット払いにしておけば支払いの履歴も残りますし、一々振り込む手間が省けます。三井住友VISAカードならcitiバンクを支払い口座に指定できますし、なにかと便利です。

中級者向けおすすめサービス

iPhoneアプリをリリースしても、ダウンロードされなければ意味がありません。さらに集客力・発信力を向上させましょう。

    お名前.com
    格安で独自ドメインを取得することができます。自社サイト・個人サイトを作成する際にご利用ください。

    さくらのレンタルサーバ
    レンタルサーバーです。webサイト用もしくはアプリのデーターサーバー用にどうぞ。

    ロリポップ!レンタルサーバー
    レンタルサーバーです。webサイト用もしくはアプリのデーターサーバー用にどうぞ。

その他のおすすめサービス

私のオススメのサービスです。
参考なれば幸いです。


1位   リクナビNEXT

iPhoneアプリエンジニアは求人市場で需要があります。一般企業はアプリを広告として使うケースがありますから。私自身もリクナビNEXTを利用しています。


2位   随時更新していきます。

QRコード

QR

全記事表示リンク

全ての記事を表示する

カテゴリ

最新記事

月別アーカイブ

プロフィール

CasualAppTeam

Author:CasualAppTeam
初めまして。
iPhoneアプリ開発についてブログを綴っていきます。
xcodeやobjective-c,storyboardなどについて詳しく書いていきます。

最新コメント

最新トラックバック

RSSリンクの表示

自分のための外部リンク