2012年10月28日星期日

[iOS]古いバージョンのxcodeをinstall

4.5のxcodeから、armv6のsimulatorとコンパイルがもうサポートしないので、必要な場合、古いバージョンのxcodeをインストールしかないみたいだ。
しかし、古いバージョンのxcode 3.2 dmgファイルからinstallすると、xcodeの開発アプリ(xcodetoolset)が新しいOS(10.7以上)ではinstallできない。install内容を指定する時、xcodetoolsetがチェックしていない状態で、変更もできない。

解決方法:
(例の環境 ーー xcode 3.2.5 dmg, Mac OS 10.7.5)
  1. ディスクユーティリティを使って、正式のdmgファイルを書き込みdmgファイルに変換する。
  2. 変換後のdmgファイルをマウントする。
  3. 「Xcode and iOS sdk」ファイルを右クリックして、「パッケージの内容を表示」を選択する
  4. textEditで Contents/iPHoneSDKSL.distファイルを開く
  5. 「10.7」を検索して、「10.8」に変更し、保存する。スクリプトを見ると、現在のシステムOSのバージョンにより大きいならばOKと思う。
今度インストールする時、「xcodetoolset」がチェックしている状態になる。

しかし、結果失敗!!!
インストール最後にクラッシュになって失敗した。
xcode自体は Mac OS 10.7.5には対応しないから。

一番簡単な方法がある:
Xcode 4.3をインストールすればいい、古いiOSバージョンを対応できる。



2012年10月4日星期四

[Android]ActionProvider

おかしかった。

昨日にActionProviderはoptionItemSelectedとうまく共存できなかったのに、今日referenceを読んだ後、何もせずでうまく行った。
referenceのところでこう書いた:
A menu item selection is processed in the following order:
The default implementation does not perform any action and returns false.
つまりdispatchEventみたいに処理順番がある。昨日多分どこかで順番を間違って、ShareActionProviderの動作を上書きした。あり得ないと思うけど、こうで自分の記憶をごまかすしかない。

ちなみに、ShareActionProviderのソースを見て、1番目のonMenuItemClickを使った。

[Android]Android library project作成と使用

最新のEclipse pluginで実験してみた。
Android Projectのproperty 設定の方にisLibraryをチェックすれば、eclipseが勝手にcompileして、jarを作ってくれる。

また使用する時、root folderの直下にlibsのフォルダーを作成して、jarファイルをそこに置いて(assetに入れると、無駄にpackage sizeを増やすだけ)、jarのclassファイルがapkに一緒にcompileするから。