[[NSMutableArray alloc] init] と [NSMutableArray array] の違い

                                                                • -

Because in the beginning i was declaring all my arrays with alloc and if in the end of a certain function i returned the array created with alloc i had to autorelease that array, because memory leak problems. Now using the first declaration i don't need to release anything

                                                                • -


That is exactly correct when you "vend" an object. But in other cases, when you create an object on iOS, where you have a choice between obtaining a ready-made autoreleased object and calling alloc followed by release, Apple wants you to use alloc and release, because this keeps the lifetime of the object short and under your control.

The problem here is that autoreleased objects live in the autorelease pool and can pile up until the pool is drained, whenever that may be.

Another thing to watch out for is loops. You may generate autoreleased objects without being aware of it, and they just pile up in the pool. The solution is to create your own autorelease pool at the start of the loop and release it at the end of the loop, so that the objects are released each time thru the loop.

EDIT - 12/18/2011: But with iOS 5 and the coming of ARC, the autorelease mechanism is far more efficient, and there is no such thing as release, so the distinction between alloc-init and a convenience constructor vending an autoreleased object becomes moot. (Also it's now an @autoreleasepool block rather than an autorelease pool (pseudo-)object.)

iphone - Difference between [NSMutableArray array] vs [[NSMutableArray alloc] init] - Stack Overflow

Cannot run on the selected destinationとは何ぞや…

とあるSDKを.frameworkからソースに差し替える機会があったのだけど、作業終えてBuildしたら↓のダイアログが…。(スクリーンショット撮り忘れた)

          • -

Cannot run on the selected destination


The selected destination does not support the architecture for which the selected software is built. Switch to a destination that supports that architecture in order to run the selected software.

          • -


調べたら、出現原因は多々あるとか何とか。
今回は下記で解決できた。

1. TARGETSのBuild Setting内で各種パスを正規にした後、ウインドウ下のValidate Settingsアイコンを押す

2.Users/your_usr_name/Library/Developer/Xcode/DerivedData/ の下にあるアプリに関係するデータを削除

3.シミュレータ(又は実機)にインストールされているアプリを削除

4.Xcodeを再起動

5.Clean & Build

http://d-studio.sakura.ne.jp/wordpress/?p=400

PHP_formで一度にアップロードできるファイルの上限数を変更する

phpinfo()でmax_file_uploads確認(デフォルト20)

php.iniを編集して変更


と簡単な話だったんだけど、.htaccessからphp.ini上書きしようとしたら変更が適用されず…。
調べたらバグか仕様かようわからんけど、php.ini以外からの変更は効かないらしい。

Mac+VirtualBox+modern.IEでIE6~10環境を無料で構築する

3月中に出すって言ってたmodern.IE日本語版が先日公開されていて、
ホーム | Internet Explorer の検証がより簡単に | modern.IE
※どうでもいい話だけど、modern.IEはレスポンシブデザインだったりする


複数メディアで取り上げられてた。
マイクロソフト、ブラウザーの互換性検証サイト「modern.IE」日本語版を公開 -INTERNET Watch
ニュース - 日本MS、Webサイト検証ツール「modern.ie」の日本語版を公開:ITpro
マイクロソフト、Webページ検証サイト「modern.IE」の日本語版を公開 | 開発・SE | マイナビニュース


提供サービスは2つ。
・有料:検証webサービス(2014年1月10日3ヶ月まで無料キャンペーン中 ※要Facebookアカウント)
・無料:検証用仮想環境の配布


検証用仮想環境は幅広く対応していて、MicroSoftの本気具合が伺える。<検証用仮想環境対応一覧>


Mac+VirtualBoxで検証用仮想環境を構築してみるの巻。

1、modern.IEから配布環境をダウンロード

まずここへ。
| Internet Explorer の検証がより簡単に | modern.IE


で、OSを選択して


仮想環境にVirtualBoxを選択すると、


ダウンロード先が出てくる。


IE6 - XPとIE8 - XPはファイル一つだけなんでそのままダウンロード。
他のは複数あるので一番下の「Grab them all with cURL」をクリック。


ポップアップで出てきた「curl -O "http://virtualization.modern.ie/vhd/IEKitV1_Final/VirtualBox/OSX/~」をTerminal.appにコピペして実行。


ユーザーフォルダに保存されていく。

1.5、VirtualBoxダウンロード

modern.IEの方は結構ファイルサイズ大きくてすぐにダウンロード終わらないんで、その間にVirtualBox
Downloads – Oracle VM VirtualBox


VirtualBox 4.2.10 for OS X hosts x86/amd64 を選択。


インストール方法は説明するまでもないので端折る。

2、解凍して.ovaファイルをVirtualBoxに突っ込んでく

modern.IEからダウンロードが終わったら、ファイルを解凍して.ovaファイルを手に入れる。
・IE8 - XP
.ovaのままダウンロードできるので一旦放置。


・IE6_WinXP.ova.zip
Mac標準のアーカイブユーティリティ.appを使うと、.ovaまで解凍してしまうので、StuffIt Expander.appとかThe Unarchiver.appで解凍する。
Mac App Store - StuffIt Expander
Mac App Store - The Unarchiver


・Terminal.appでダウンロードしたもの
一通りダウンロードが終わると、***.Part1.sfx、***.2.rar、***.3rar ~ と揃ってるはず。


ここで.sfxって初見の拡張子が出てきたので調べてみると、

.sfx

読み方:エスエフエックス
.sfxとは、自己解凍書庫(解凍ツールを必要としない圧縮形式で圧縮されたファイル)を作成する際に用いられるファイルに付く拡張子のことである。

すべての形式で用いられるわけではないが、ZIP形式やRAR形式で自動解凍書庫を作成する際には.sfxファイルが用いられている。

.sfx エスエフエックスとは:この拡張子のファイルを開くには? - 拡張子辞典 - IT用語辞典バイナリ


というものらしい。これを使って解凍していく。
Terminal.appを起動。chmodコマンドで.sfxファイルに実行可能権限を追加する。
例)chmod +x IE7.Vista.For.MacVirtualBox.part1.sfx


  • chmod(パーミッション変更コマンド)
    • +(権限指定:後術権限の追加)
    • x(実行可能権限)


これをすると、


てなってたのが、Unix実行ファイルになる。


権限追加を終えたら、Terminal.appで起動させる。しばらくかかる。
例)./IE7.Vista.For.MacVirtualBox.part1.sfx
※./をつけないで実行すると、bashにこんなんねーよばーかって怒られる。


無事終わると同階層内に.ovaファイルができてるはず。

    • -


.ovaファイルがある + VirtualBoxインストール済みなら、.ovaファイルをダブルクリックでVirtualBoxに突っ込むことができる。
その際、仮想環境上の設定画面が出てくる。
仮想環境はメモリちゃんと割り当てておかないと厳しいらしいので、増やしとくといいかもしれない。
※後から設定変更が可能なのでスルーしてもok


で、インストール開始。しばらくかかる。

3.5、予備知識を仕入れておく

インストールしてる間に色々見る。
ぱっと調べた感じ、下記辺りは目を通したほうがいいかも。


※英語
Making Internet Explorer Testing Easier with new IE VMs - Rey Bango
「Time Limits on the VMs」って項目を見ると、時間制限が受けられてるという話で、それに対する内容が書かれてる。
コメント欄でも何かと話が出てる模様。(ページ内をlimitで検索すればひっかかる)


modern.IEにのっかってみる(ievmsから乗り換え計画) - sugilogのブログ
一番下の「IEでのデバッグ環境構築。」の項目に、IEデバッグ環境を構築するための云々が紹介されてる。


無料でMacでIEの表示テストをする方法 │ Design Spice
一番下の「補足」、設定変更で日本語表示にする話。
重要なのはXP環境では日本語表示ができないということ。
日本語環境追加するにはインストールCDが必要なので、諦める。
スクリプト確認とかなら日本語は関係ないので、そういうのに使うのがよさそう。
※modern.IE日本語版公開に合わせてどうにかしてくれるかなと期待してたけどダメだった

4、VirtualBoxから起動する

インストール終わったら、左のOS一覧からダブルクリックするか、選択して上部起動ボタンで起動できる。


そんな感じでひとまず完成。お疲れさまでした。
日本語表示設定は起動したWindowsのコントロールパネルから設定する。
さっきのリンク先見たりとかぐぐったりすればわかるはず。
試しにIE9 -Win7でYahoo.co.jp見たけど、問題無さげでした。


Twitterウィジェット見たら漢字が若干中華だったんで、多分フォント足りてないのかもしれない。
でもまあ基本問題ないかと。

番外、VirtualBoxの設定

とりあえず[環境設定]→[言語]→[日本語]にしておけば謎要素は減る。
VirtualBox - Mac間で共有フォルダ設定が出来たりとか色々便利機能あるらしいけど全然把握できてないのでそのうち。


公式マニュアル※英語
https://www.virtualbox.org/manual/UserManual.html
日本語解説
VirtualBoxのインストール・設定・使い方を詳しく解説 | VirtualBox Mania