iOSでメモリ使用量がわかるモジュール
これ使ったろーって思っていっつもどこかに行ってしまうのでメモがわりに。。。。
iOS開発の時にリアルタイムでメモリの増減の変化を見たいときありませんか?
そんなときに使えるモジュールです。
製品では使わないとは思いますが、デバッグ時に重宝します。
ソースはめっちゃ単純なんですが、自分で作るのがめんどくさいのでこんなのあってすっごく助かります。
アプリのメモリ使用量をリアルタイムに表示するクラスを公開しました
http://d.hatena.ne.jp/shu223/20110428/1303930059
ちなみに、Arc版じゃないので「-fno-objc-arc」をソースオプションに設定しないとエラーが出ます。
ん?使い方って?メモ代わりなんで。。。。めんどくさい(-。-) ボソッ
いやいや、ソースや作者のサイト見た方がわかりやすいでしょぅ。
(要望によっては・・・・・)
ではでは。
StoryBoardでiPhone5とその他のiPhoneを別々に作成する方法
ども、不定期的にネタを小出しにしてるため、PVが全然増えないTAMAです。
まぁ、増やす気もなくって、自分のメモ程度で書いてるだけなんですけどねw
今回は、開発のネタっす。
いつもの通り途中で適当になるかもしれませんがあしからず( ̄∇ ̄)
今回、iPhone5がでて、世界中で良いやら悪いやら賛否両論ですが、
たぶん、あいぽんプログラマが一番気になったのは、画面が縦長になったことでしょう。
その当時を再現すると
アップルさん:「新しいあいぽんでま〜す」じゃじゃ〜〜ん。
私ら :「おぉ!!」((((o゜▽゜)o))) ドキドキ♪
アップルさん:「これです!!」つ[あいぽん5]
ユーザ1 :「ほほぉ〜〜〜!!」(*^o^*)
ユーザ2 :「ちっ、噂されてたとうりじゃん」チェ〜ッ… ( ̄、 ̄)
ユーザ3 :「ほちぃ」(@@)ウルウル
プログラマ1:「え”!!が、画面が。。。。」(゜-゜)
プログラマ2:「うにゃ?が、画面が。。。。」(ノ_・。)
プログラマ3:「げぇ?が、画面が。。。。」(O_O)
・
・ 以下同文
・
てなかんじでしたよねぇ。(笑)<注意> 本ブログはかなり脚色が入っています。
っで、最近、iOS5以上のユーザが増えてきたので、StoryBoardに移行する人が多くなってきたと思いますが、どうしたら良いのだろうと思った人はいるのではないでしょうか。
すっげぇ〜〜〜〜簡単っすよぉ( ̄∇ ̄)
簡単に言うと、アプリのデリゲートで、画面判別し、画面の大きさごとにStoryBoardを作成しておき、対応するものを表示するんです。
( ゚Д゚)ハァ?わかるかぼけぇ!!
って言われそうなんで、具体的に書きましょうか。。。。。
「SingleView Aplication」で作っている前提で話します。
ここがわからない場合は他のサイトを見て勉強してください。m(__)m
○ 新しいプロジェクトを作成するとiPhone5用のStoryBoardで自動生成されていると思いますので、古いiPhone用のStoryBoardを作成します。
1.プロジェクトより右クリックする。
2.New Fileを選ぶ
3.StoryBoardを選択する。
4.あいぽんようなんで、そのままNEXT!!
5.StoryBoardの名称を入れ、次へ。
6.これで土台は出来ました。が、中身はありません。
7.UIViewコントローラを貼り付ける。
8.見た目がiPhone5のUIが張り付きます。
9.iPhone4以下のものにするには、下の方の縮まりを示すアイコンを一回押します。
←これ。
10.するとiPhone4以下のUIに見た目はなります。
11.ついでなので、どっちのStoryBoardを使ったかわかるようにラベルを貼っておきましょう。
画面は完成です。
これで、iPhone5用、iPhone4以下用の二つのStoryBoardが出来ました
○次に、このStoryBoardの呼び出し方ですね。
一般的には、プロジェクトのTargetの設定でStoryBoardは呼び出されます。
それを無視して、「AppDelegate」から起動するように、ソースを変更します。
具体的には、「application:didFinishLaunchingWithOptions:」に書きます。
以下を参考にしてください。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UIStoryboard *storyboard; // StoryBoardの型宣言
NSString * storyBoardName; // StoryBoardの名称設定用
// 機種の取得
NSString *modelname = [ [ UIDevice currentDevice] model];
// iPadかどうか判断する
if ( ![modelname hasPrefix:@"iPad"] ) {
// Windowスクリーンのサイズを取得
CGRect r = [[UIScreen mainScreen] bounds];
// 縦の長さが480の場合、古いiPhoneだと判定
if(r.size.height == 480){
// NSLog(@"Old iPhone");
storyBoardName = @"MainStoryboard_Old_iPhone";
}else{
// NSLog(@"New iPhone");
storyBoardName =@"MainStoryboard_iPhone";
}
}else{
// NSLog(@"iPad");
storyBoardName =@"MainStoryboard_iPad";
}
// StoryBoardのインスタンス化
storyboard = [UIStoryboard storyboardWithName:storyBoardName bundle:nil];
// 画面の生成
UIViewController *mainViewController = [storyboard instantiateInitialViewController];
// ルートウィンドウにひっつける
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = mainViewController;
[self.window makeKeyAndVisible];
returnYES;
}
説明しなきゃいけない?見たらわかりますよねぇ。
しゃーないなぁ。。。。ちょっとだけ話すよぉ。( ̄△ ̄)
最初に機種を判断し、iPadなら「MainStoryboard_iPad」、iPhoneなら現在起動している画面の長さをmainScreenから取得して判断し、画面が480なら「MainStoryboard_Old_iPhone」、そうでなければ、「MainStoryboard_iPhone」を設定してStoryBoardインスタンスを生成します。
それを、ルート画面に貼り付けるんですよぉ。
わかったぁ?わからんかったら上のソースを貼り付けてくださいw
これをシミュレーションでテストすると以下のようになってます。
☆iPhone3G系
☆iPhone4、4S用
☆iPhone5用
簡単でしょ?
そろそろ、いつもの通り、終わりが尻切れトンボで終了します。( ̄∇ ̄)
あっ、ここの情報は、URLで紹介してくださいね。(⌒〜⌒)ニンマリ
転載しても良いけど、紹介はしてくださいm(__)m
App Storeのレビューの状況について
今頃知ったんですが、App Store(iOS)のレビューは8日以降かかる
(2012年7月6日現在)というのが、
ちょっと古いけどアップルのデベロッパーニュースサイトに書いてありましたね。
公式にアナウンスされてたんですね。ちゃんとサイトも読まなきゃ。。。。
でも、今は、2週間程度かかる状況です。(因みに体感時間ですw)
NSLogで関数名を表示する方法。
XCodeででバッグをしているときに、関数がどう通ったかを確認したいときがありますよね。(え?ない?いや、あると思ってくださいよ(^0^;))
関数名を途中で変更したら、そのログも変更しなきゃならない。
そんなときにいちいち関数名を自力でコピペするのめんどくさくないですか?
実はこんなマクロがあるのです。まぁ、これってC++用なのかな?
NSLog(@"%s [Line %d]", __PRETTY_FUNCTION__, __LINE__);
こんな風に。。。。。
アプリのバナーを自動で作ってくれるサイト
iOSのアプリを簡単にバナーにしてくれるサイトを見つけました。
アプリスコア.comさんのこのページ。
宣伝をするのがめんどくさくていつも放置してしまうんですけど、
アプリ名を検索してクリックするだけで簡単にバナー用のHTMLを作ってくれる。
それをブログにペタって貼るだけです!!
1.アプリを検索。今回は私の作成した「TimerMusicStop」を検索しました。
2.検索ボタンを押すと、合致したアプリが表示される。
名称は、デフォルトの名称が出るので、
(注意)英語をデフォルトにしていていると和名の名称は出てこないようです。
3.「このアプリへのリンク作成する」を押すと以下の表示が出てきます。
4.あとは、表示されているHTMLリンクをコピペして貼るだけ♪
どうです?簡単でしょ?
っと言うわけで自分が作ったアプリを貼り付けてみました。
(密かに宣伝w)
表示用のアイコンが変更された。。。。
本日にiOSアプリアップデート申請しようとすると、
なんと、表示用アイコンが512×512から1024×1024に変更しろって言われた。
仕様が変更されたんならAppleさんお知らせしてくれよぉ。
はらたつぅ〜〜〜〜〜〜!!(ノ_・。)
新たに作るの時間かかるから512×512を引き延ばした。。。。
さすがアメリカですなぁ。。。。。