たまたんのぶろぐ

たまたんが時たま言いたいことを書いてます。ジャンルはめっちゃええ加減ですwソフトやプログラムのことが多いかもしれませんが。。。。。

iOSでメモリ使用量がわかるモジュール

これ使ったろーって思っていっつもどこかに行ってしまうのでメモがわりに。。。。

iOS開発の時にリアルタイムでメモリの増減の変化を見たいときありませんか?

 

そんなときに使えるモジュールです。

製品では使わないとは思いますが、デバッグ時に重宝します。

ソースはめっちゃ単純なんですが、自分で作るのがめんどくさいのでこんなのあってすっごく助かります。

 

アプリのメモリ使用量をリアルタイムに表示するクラスを公開しました

http://d.hatena.ne.jp/shu223/20110428/1303930059

 

ちなみに、Arc版じゃないので「-fno-objc-arc」をソースオプションに設定しないとエラーが出ます。

 

ん?使い方って?メモ代わりなんで。。。。めんどくさい(-。-) ボソッ

いやいや、ソースや作者のサイト見た方がわかりやすいでしょぅ。

(要望によっては・・・・・)

 

ではでは。

今日は、スティーブジョブズさんの命日

20年前は、Appleの製品、つまりMacと言えば高くて金持ちが買う道楽と言われてたこともあり、「なにそれ?」って言われることもありました。

今は、Appleという名前を知らなくてもiPhoneiPadというものは、子供から年寄りまで知られております。

すごいですよねぇ。一時期は傾いて倒産寸前でした会社ですよね。

 

今日は、そのアップルをこの世に誕生させ世界的に有名にさせたスティーブジョブズさんがなくなられた日ですね。

正確には、日本時間の6日7時頃だそうです(正確って言いながら「頃」ついてますが。。。。。)

 

ホームページのトップもスティーブジョブズさんの映像が流れてます。

f:id:tama-jp:20121005231247p:plain

「Remembering Steve」だって(T^T)

 

Appleユーザさんは、みんな哀愁を漂わせているのではないかな?

本当に、惜しい人を亡くしましたね。

スティーブジョブズさんのすごいところは、技術者じゃないのに製品への思いやりと探究心が技術者以上に持っていたことですね。

どこかの輩は、この人はプログラムも何も出来ないから技術者じゃない!!といわれてますが、良い製品を作ろうとお金や時間がかかっても悪いものを出したくないという志、つまり職人魂を持っている方でした。これって、立派な技術者じゃないですかね?

 

私はこの人の伝記「スティーブ・ジョブズ I ・ II 」を読みましたが、仕事の仕方には賛同出来ませんが、

探究心はすごく心を揺さぶるものがありました。

日本の職人に似てるんではないかなと考えられました。

師匠と弟子の関係で、弟子は、師匠のきつい修行に耐えて技術を磨きいいものをあみ出す力を作っていく。

なんか同じように思えませんか?

そう、日本も昔からこのような力を思っていたから発展してきたのですよね。

 

Appleさんもこれからこの力を衰えなく末永く良い製品を出して欲しいですよね。

 

ぜんぜん、いつものようにまとまってないですが、なんか今日は、故人を偲んで愛本でも眺めておきますw

 

ではでは。

 

ーーーーーーーー(おまけ)ーーーーーーーー 

リンク:

スティーブジョブズさんの1周忌(あまりない用途は関係ないですがリンクしておきます)

スティーブ・ジョブズがいないAppleはやはり寂しい http://j.mp/Qzv2cK

10月5日はスティーブ・ジョブズの命日。Appleのウェブサイトに一周忌の追悼ビデオとメッセージが公開。 http://j.mp/T5e8B6

【1周忌】スティーブ・ジョブズが逝去して変わった5つのこと http://j.mp/T58b7d

StoryBoardでiPhone5とその他のiPhoneを別々に作成する方法

ども、不定期的にネタを小出しにしてるため、PVが全然増えないTAMAです。

まぁ、増やす気もなくって、自分のメモ程度で書いてるだけなんですけどねw

今回は、開発のネタっす。

いつもの通り途中で適当になるかもしれませんがあしからず( ̄∇ ̄)

 

今回、iPhone5がでて、世界中で良いやら悪いやら賛否両論ですが、

たぶん、あいぽんプログラマが一番気になったのは、画面が縦長になったことでしょう。

その当時を再現すると

 

アップルさん:「新しいあいぽんでま〜す」じゃじゃ〜〜ん。

私ら    :「おぉ!!」((((o゜▽゜)o))) ドキドキ♪

アップルさん:「これです!!」つ[あいぽん5]

ユーザ1  :「ほほぉ〜〜〜!!」(*^o^*)

ユーザ2  :「ちっ、噂されてたとうりじゃん」チェ〜ッ… ( ̄、 ̄)

ユーザ3  :「ほちぃ」(@@)ウルウル

プログラマ1:「え”!!が、画面が。。。。」(゜-゜)

プログラマ2:「うにゃ?が、画面が。。。。」(ノ_・。)

プログラマ3:「げぇ?が、画面が。。。。」(O_O)

 ・

 ・ 以下同文

 ・

プログラマX:「(好きな言葉を入れてください)!!が、画面が。。。。」(×_×;)

 

 

てなかんじでしたよねぇ。(笑)<注意> 本ブログはかなり脚色が入っています。

 

っで、最近、iOS5以上のユーザが増えてきたので、StoryBoardに移行する人が多くなってきたと思いますが、どうしたら良いのだろうと思った人はいるのではないでしょうか。

 

すっげぇ〜〜〜〜簡単っすよぉ( ̄∇ ̄)

 

簡単に言うと、アプリのデリゲートで、画面判別し、画面の大きさごとにStoryBoardを作成しておき、対応するものを表示するんです。

 

( ゚Д゚)ハァ?わかるかぼけぇ!!

 

って言われそうなんで、具体的に書きましょうか。。。。。

「SingleView Aplication」で作っている前提で話します。

ここがわからない場合は他のサイトを見て勉強してください。m(__)m

 

○ 新しいプロジェクトを作成するとiPhone5用のStoryBoardで自動生成されていると思いますので、古いiPhone用のStoryBoardを作成します。

 

1.プロジェクトより右クリックする。

f:id:tama-jp:20120927100735p:plain

2.New Fileを選ぶ

f:id:tama-jp:20120927100741p:plain

3.StoryBoardを選択する。

f:id:tama-jp:20120927100834p:plain

4.あいぽんようなんで、そのままNEXT!!

f:id:tama-jp:20120927100926p:plain

5.StoryBoardの名称を入れ、次へ。

f:id:tama-jp:20120927100935p:plain

6.これで土台は出来ました。が、中身はありません。

f:id:tama-jp:20120927100949p:plain

7.UIViewコントローラを貼り付ける。

f:id:tama-jp:20120927101727p:plain

8.見た目がiPhone5のUIが張り付きます。

f:id:tama-jp:20120927101015p:plain

9.iPhone4以下のものにするには、下の方の縮まりを示すアイコンを一回押します。

f:id:tama-jp:20120927101058p:plain←これ。

10.するとiPhone4以下のUIに見た目はなります。

f:id:tama-jp:20120927101109p:plain

11.ついでなので、どっちのStoryBoardを使ったかわかるようにラベルを貼っておきましょう。

f:id:tama-jp:20120927101221p:plain

f:id:tama-jp:20120927101243p:plain

 

画面は完成です。

これで、iPhone5用、iPhone4以下用の二つのStoryBoardが出来ました

 

○次に、このStoryBoardの呼び出し方ですね。

一般的には、プロジェクトのTargetの設定でStoryBoardは呼び出されます。

f:id:tama-jp:20120927102529p:plain

それを無視して、「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系

f:id:tama-jp:20120927103705p:plain

iPhone4、4S用

f:id:tama-jp:20120927103749p:plain

☆iPhone5用

f:id:tama-jp:20120927103725p:plain

簡単でしょ?

そろそろ、いつもの通り、終わりが尻切れトンボで終了します。( ̄∇ ̄)

 

あっ、ここの情報は、URLで紹介してくださいね。(⌒〜⌒)ニンマリ

転載しても良いけど、紹介はしてくださいm(__)m

iCloudのメールが(ノ_・。)

昨日の夕方ぐらいから、iCloudのメールが読めなくなってます。

クライアントソフトだけでなく、Webからも。。。。。

f:id:tama-jp:20120912120952p:plain

 

っで、iCloudのシステム状況ページを見てみると、

こんな感じです。。。。

f:id:tama-jp:20120912121148p:plain

影響を受けるユーザ1.1%の中に入ってるって。。。。orz

結局半日メールが見られないんですけどどうすればいいのでしょう。。。。

マジでこれは困るよねぇ。早く復旧してくれないかな。。。。。

 

追記:

2日後復旧してましたが、こんなに時間がかかる復旧だと仕事に使えませんよね。こっちも対策考えないと。。。。

京料理 銀水さんのお料理。うまかったぁ〜〜〜ヾ(^v^)k

昨日、FaceBookTwitterで知り合った方の「残暑納涼企画♫ 京都:鴨川 納涼床 オフ会」に参加させていただきました。

 

納涼床とは、京都の鴨川の夏の風物詩で、屋外に川を眺めながらみんなとおいしい食事をすることです。(かなり意訳が入ってますw)

 

今回は、京都四条木屋町にある「京料理 銀水」さんにて開催されました。

あっ、お店の様子や景色を撮るの忘れてましたσ(^◇^;)

ど、どうしよ、、、、

 

え、えっと、ご一緒した方のブログがきれいですのでそちらを見てください。w

セッケイヤローさんのブログ「京料理銀水さんで鴨川納涼床!

 
っで、料理の方を少々あげておきますぅ〜〜〜〜〜
ちょっとぼやけてるかもしれませんが、ご勘弁を!!

 

まずはビール。。。まずは一杯。(飲めないんですけどね)

f:id:tama-jp:20120908182652j:plain

 

付け出し

f:id:tama-jp:20120908183221j:plain

 

鱧の熱いお吸い物。

夏だし、熱い者は会わんだろうと思ってましたが、

これが意外とおいしくていくらでも口に入りました。

それに、鱧って小骨が多い魚なんですけど骨の感覚ありませんでした、

すごく手が込んでいるのだなと思いましたねぇ。

味は、さすが京料理です。下味がしっかりしていて醤油味でもまろやかな味でした。

f:id:tama-jp:20120908184309j:plain

 

鱧とウニと湯葉?だったかな。。。

ウニにはした味がついており、

あられ(すみません確認してないですがたぶんあられです)とで、

柔らかいのとポリポリした食感がブレンドされ楽しみながら食べれました。

それと、この鱧も骨がないように思えました。ぱくぱく口に入りましたねぇ。

f:id:tama-jp:20120908190131j:plain

 

ちょっと甘辛な味付けの鱧と

くり、しゃけ?豆、あと。。。。(-。−;)わからん。

ちょいとぼやけてますが、彩りもよく大きさが一口サイズで、

上品なお味です。

f:id:tama-jp:20120908192951j:plain

 

なすのなんて言うんですかね?

ボキャブラリー少ないですんません(;゙゚'ω゚'):

たぶん炊いてあるんだと思いますが、

なすの皮を贅沢にも取り除かれていて、

飲み物のように食べられるぐらい柔らかい食感でした。

お味もなすの特徴が消されないように軽く味をしみこませてありますね。

f:id:tama-jp:20120908193637j:plain

 

でました!!あゆです!!アユの裸まつり!!w

葉っぱの上で焼くんですねぇ。これで焦げないようにするんですかねぇ。

f:id:tama-jp:20120908194205j:plain

 

知らなかったのですが、

こんなけ柔らかいアユを食べたことあんましないので、

一生懸命アユを押さえて骨をとろうとしまいしたw

見栄えもいいですよねぇ。

キュウリの横にレンコンをたたせてあります。

屏風というか敷居の感じでまたこういうのが

京料理の憎さですかねぇ。(笑)

f:id:tama-jp:20120908194641j:plain

 

これ、天ぷらなんですよ!!

大衆の天ぷらは、衣がごっそりですが、

ぼやけててすみませんが、

ほとんど食材が見えます。

シースルーですw

こんなのだから衣の味がしないのかなって思いますが、

意外と強調するんですねぇ。

食材の味を生かしながら衣の味もして。。。。

さすが。。。。。。

f:id:tama-jp:20120908195121j:plain

 

ご飯者とお吸い物。

こういう納涼床には2回出てくるんですよね。

知らなかったですが。。。。。

山椒のきいたじゃこのご飯。

赤だしですね。

そう言えば、この前にお漬け物が出てきてたのですが、

おいしすぎて写真も撮らずにぱくぱく食べてしまいました。。。。

f:id:tama-jp:20120908202620j:plain

 

最後にデザート。

f:id:tama-jp:20120908204944j:plain

 

ふぅ。。。。

生まれて初めての納涼床での料理。

すごく堪能できました。

雨が途中で降ってきたため途中でお部屋の中で、

お食事になってしまいましたのが、

少し残念でしたが、とてもおいしくて楽しめるお料理でした。

 

銀水さんありがとうございます。m(__)m

う〜ん。もう少しちゃんと料理を聞いておけば良かった。。。。。

 

ではでは。

皆さんフィッシングに気をつけて!!TwitterのDMにて。。。。

TwitterのDMに知り合いからこんなのが届きました。

(本名はでてないですが一応人権もありますのでモザイクかけております。)

f:id:tama-jp:20120904125837p:plain

 

あれ?なぜ英語?日本人だったはずなのに・・・・

しかも、2つ持っているアカの両方共に。。。

っで、載っているサイトにアクセスしてみたら、(注意:絶対にまねはしないでください。)

 

f:id:tama-jp:20120904130046p:plain

あれ?Twitterのサイト?英語?日本語環境でアクセスしてるのに?

ん????URLアドレスを見ると

f:id:tama-jp:20120904130144p:plain

[tvivvte.com] 

・・・・・。何の冗談?しばくぞわれ( ̄△ ̄)

 

Twitterのサイトじゃねぇ!!なのに、Twitterのロゴを入れてるじゃん。

明らかにフィッシングサイトです。(>。<)

2回目同じ場所にアクセスしたら、VirusBarrierがこんなのを表示。

f:id:tama-jp:20120904131123p:plain

いや、初期アクセス時に出てこいよ!!セキュリティーに意味ねーじゃん(`へ´)フンッ。

 

こりゃまずいなぁと思い、いろいろググってみると出てきますな。。。。

 

斬り賊の1日は短い

【至急】TwitterのDMで【500枚】
こんなDMにはご注意ください、・・・
 
アカウントの乗っ取りですね。
これ気をつけないとメールアドレスとかばれるかもしれないですしね。
 
でも、フィッシングサイトを行かないでってあとからだとどうしようもないので
とりあえずしておかなければならないことを思いついたので書いておきます。
 
該当Twitterで以下のことをしておいてください。
1.メールアドレスを使用していないもの(捨てアカ)に変更。
  (使用しているメールがばらまかれる恐れがあるので)
2.パスワードを変えておく
  (再度侵入されないようにするため)
3.連携アプリで知らないアプリを解除しておく
  (再度侵入されないようにするため)
4.知り合いには注意を呼びかけておく。
  (他の方が、同じ事にならないように呼びかけておきましょう。)
 
これぐらいですかね。
 
因みに3.の仕方がわからない人が多いと思いますので、
手順を以下に書いておきます。
 
連携アプリの削除手順:
① Twitterへ行って該当のユーザでログインする。
② 右上の人の形をしたアイコンをクリックし、設定を押す。
f:id:tama-jp:20120904125319p:plain

 

③左に設定メニューが出るので「アプリ連携」を押す。

f:id:tama-jp:20120904125325p:plain

④ すると連携しているアプリケーションが表示される。

見知らぬアプリケーションがあれば削除をする。

※アプリ連携とは、iPhone等のアプリで本人がログインしたときに

作られる証明書(パスポート)みたいなのがここに保存されます。

パスワードを変えてもこれが残っていれば、ログインできてしまいます。

これを削除してやれば、悪意のあるアプリケーションから、

勝手にTwitterを使うことはありません。

f:id:tama-jp:20120904125341p:plain

 

ではでは。