SIHOのプログラミングわーくワク

興味の赴くままに勉強してたら、読み書きできる言語は9個になりました。他にもいくつか気になる言語があったりなかったり?  まだまだ続く、楽しいお仕事わーくワク♪

  • « 
  • 10 
  • 11 
  • 12 
  • 13 
  • 14 
  • 15 
  • 16 
  • 17 
  • 18 
  • 19 
  • 20 
  • 21 
  • 22 
  • 23 
  • 24 
  • 25 
  • 26 
  • 27 
  • 28 
  • 29 
  • 30 
  • 31 
  • »

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AIR for iOSで作成したアプリの起動速度比較

2012.11.12 (Mon)

AIR for iOSで作成したアプリとObejective-Cで開発したアプリの速度を比較しました。
いずれも「Hello World」の文字が表示されるだけのものです。

Obejective-C:1秒
AIR for iOS:2秒
AIR for iOS(.ane入り):2秒


やはり、ネイティブアプリには敵いませんでしたが、体感的にはほぼ差を感じませんでした。
スポンサーサイト

iOS開発便利リンク[追記中]

2012.03.09 (Fri)

「Xcode4が重い時は」
http://yomoapp.tumblr.com/post/10111690224/xcode4
→重いといやだよね。

iOS5情報[追記中]

2012.03.09 (Fri)

iOS5 では UIViewController.parentViewController が nil
 →こ、こわい。

Xcodeの過去バージョンが必要になったら

2012.03.09 (Fri)

Xcodeは頻繁にバージョンアップするし、パッケージが大きいし、全部をローカル環境にそろえておくのは大変ですね。
そんなときは下記のページから過去バージョンのXcodeなどが落とせます。
※ログインが必要です。
「過去バージョンのXcode とかが落とせるページ」
https://developer.apple.com/downloads/index.action

[Tips]viewDidLoadのときにperformSelectorを使う

2011.05.26 (Thu)

アプリの起動のときは次の順でメソッドが呼ばれます。
a)application: didFinishLaunchingWithOptions:
b)applicationDidBecomeActive:

rootViewControllerはこのaで作成することが多いと思うのです。
でも、bを通り過ぎるまでの時間がかかりすぎると(20秒以上?)iOSの方で強制的にアプリを落としちゃいます。
これが、「起動しない」といわれる原因のひとつですね。
aで行われる標準的な処理は次のものだと思います。
1)Windowをつくる
2)rootViewControllerをつくる
3)windowにrootViewControllerを加える
4)キーをアクティブにする

ここで処理負荷がかかるのは(2)ですね。
「2)rootViewControllerをつくる」ときは、rootViewControllerのなかのviewDidLoadとviewDidAppearが呼ばれます。
たいてい、viewControllerの中の素材は、viewDidLoadメソッド内で用意すると思います。

ここでたくさんの素材を一度に表示しようとすると当然時間がかかります。
そこで、オススメなのが、performSelectorメソッドを使う方法です。
[self performSelector:@selector(hoge:) withObject:(filename) afterDelay:2];

viewDidLoadないで作成する素材は必要最低限のみにしぼっておき、viewDidLoad内の最後の1行にこのperformSelectorメソッドを書いて、その他の素材は時間差で作成することにします。

これにより、起動時間の短縮がはかれるし、「起動しない」アプリにもなりにくくなります。
また、これをしてもviewDidLoadは基本的(*1)に起動時に一度通るだけのものなので、performSelectorによって時間差で呼ばれるメソッドもまた呼ばれるのは基本的に1度です。

※1)viewDidUnLoadが呼ばれたあとに該当のviewControllerを表示するときはviewDidLoadが呼ばれることもあります。

iPhone開発でLuaを使う方法

2011.03.25 (Fri)

◇Luaのこと
Luaって言語があります。
iPhone/Androidの両方にビルドできるCorona SDKでも使用されているスクリプト言語です。
ゲーム開発では前々から使われているらしい。
理由は、処理が高速であることと開発の効率化にあるそう。

◇Luaでの開発経験
私にはゲーム開発の経験はないけど、国立天文台4D2Uプロジェクトで開発されたMitakaから派生したMitaka PlusでもLuaのスクリプトを使って、Mitakaのエンジンを動かす(=つまり宇宙空間で好きな場所&時間に行けちゃう!sample)ことができるので、そちらではLuaを触っていました。j
Mitakaを改変するなんて(ソースコードが公開されているから見てみたけど)とってもできないけど、Mitaka Plus+ Luaスクリプトなら、Mitakaを好きなようにコントロールできちゃう。
Lua自体は見た目不思議な書き方をします。
でも、2週間も本気でにらめっこしたらそこそこ書けるようになります。
見た目は全然違うけど頭の中ではjavascript的な設計脳でだいじょうぶです。
ちなみに、Mitaka pro + Luaで開発した事例は名古屋市科学館新館5Fの「デジタル惑星儀」です。
13個のコンテンツをあわせて「デジタル惑星儀」と呼ぶのですが、そのうちの「銀河群・銀河団」をちらみせ。

more »

UIWebViewでBASIC認証のあるページを開く

2011.03.22 (Tue)

UIWebViewでBASIC認証のあるページを開くには、次のように記述するとあら不思議。
簡単にできちゃいます。
書き方:
http://user:password@www.example.com/

一般公開前ってBASIC認証をかけることが多いので、とっても便利です。

Xcodeのキャッシュ

2011.03.22 (Tue)

最近つくったアプリは時間をみて、処理を変えるというものでした。
そのため、動作検証中には、マシンやデバイスの日時を変更しながらしていました。

そのとき、困ったことが起きました。

挙動がオカシイので、NSLog(@"hoge"); と書いてみても、hogeが出力されないのです!

ちょうどマシンも調子悪かったので、ディスクユーティリティとかでチェックしてみたり、プロジェクトファイルを作り直してみたりしたけど、どうにもこうにもhogeがでない。

「これはきっと、どこかのオプションを変えてしまったに違いない!」とあたりをつけ、Xcodeのメニューを一つ一つチェックして行ったところ、怪しいメニューを発見!

Xcode>キャッシュを空にする...

早速ためしてみたら、BINGOでした。

そのご、ようく落ち着いて考えてみたら、ビルドの高速化のためにキャッシュを作っているようで、プロジェクトを開いている状態でパソコンの時間を変更したら、もちろんキャッシュの方もおかしくなるのは当然でありまして。。。。。なんというか、自業自得ってことですね。

◇教訓
日時を変更するときは、一度「Xcode>キャッシュを空にする...」を実行してからビルドするようにしましょう。結果に慌てないで済みます。ちゃんちゃん。

アナログ時計の作り方

2011.03.22 (Tue)

某案件の背景にアナログ時計があった。
単なるデザインかと思いきや、やっぱり動いてほしいとか。
アナログ時計
なので、アナログ時計の作り方を調べました。
2つ作り方を見つけて両方試してみました。
1)openFrameworks for iPhone:時計をつくる

2)Analog Clock using Quartz Core

◇結果
2つ目の方を使いました。

◇理由
1つめの方はopenFrameworksを使うため、通常のUIKitとの共生は難しそうだったこと。
プロジェクトを選ぶところから、openFrameworksのプロジェクトを選択して進まないとイケナイみたいだったので、既に通常のプロジェクトで制作しているものと組み合わせるのはちょっと調べた限りわかりませんでした。

2つめの方はサンプルファイルがダウンロードできたので、そちらを落として、組み込みたいデザインにあわせて調整したクラスファイルを実際のプロジェクトに持っていて組み込んでみたら、すんなりできた。

◇感想
やっぱりサンプルファイルがあるのって大事。

 | HOME | 

プロフィール

siho_prof

SIHO
しほ

Twitter:
SIHO_o

viva mambo, inc.
iPhone&iPad / Flash / Kinect
使用言語:Objective-C, ActionScript 3.0, Javascript, Lua, PHP, C#, C, C++, WSH。
F-site staff

Solar System Simulator 広報

Web,スマートフォン、Desktopを問わず、アプリ制作が好物。執筆は必要に応じて。お仕事くださいまし。

サイネージ:ガンダムフロント東京・キャラクターフォトスポット設計(2012/4~常設)

アトラクション:富士急ハイランド 戦国BASARA ゲーム設計&プログラミング(2010/7-2012/4にて常設展示)

イントラシステム:「某メーカー研究所KJ法システム」DB,Flash,PHPを含むソリューション設計&DB構築、「美術系専門学校の生徒管理システム」iPadクライアントを含むソリューション設計&DB構築

iPhone/iPadアプリ:某球団試合速報アプリ、『魂を熱くさせる 宇宙飛行士100の言葉』『Mitaka Gallery -てのひら宇宙-』

書籍同梱ソフト:『4次元デジタル宇宙紀行Mitaka』『DVD-ROM&図解 動く! 深海生物図鑑』『DVD-ROM&図解 ハッブル望遠鏡で見る宇宙の驚異』

著書:『世界一わかりやすい Windows 7』『世界一わかりやすい Flash CS3』

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。