Unity4.3.4でiOS版を作成すると、
WWWクラスを使用した場合にメモリが正しく解放されない不具合が存在します
なので、シェルを使って上記の問題を解決する方法を書き残しておきます
1.Macのターミナルを起動する
2.下記のコマンドを実行してgnu-sedをインストールする
brew install gnu-sed
3.下記のコマンドを実行してgsedコマンドのエイリアスとしてsedを登録する
alias sed='gsed'
これらの手順を行わないと次のコマンドの実行時に下記のエラーが出力されてしまいます
extra characters after \ at the end of i command
4.UnityでiOSビルドを行い、Xcodeプロジェクトを出力したら下記のコマンドを実行する
sed -i -e "259i\ [delegate.data release];" "【Xcodeプロジェクトのパス】/Classes/Unity/WWWConnection.mm"
5.「【Xcodeプロジェクトのパス】/Classes/Unity/WWWConnection.mm」を開いて
259行目に「[delegate.data release];」が追加されていれば成功です
extern "C" void UnityDestroyWWWConnection(void* connection) { UnityWWWConnectionDelegate* delegate = (UnityWWWConnectionDelegate*)connection; [delegate.connection cancel]; delegate.connection = nil; [delegate.data release]; // この一行が追加されていればOK [delegate release]; }
JenkinsでiOSビルドを自動化している場合は
上記のようなシェルを実行するようにしておくと良いかなと