Xcode7ではdylibファイルがtbdファイルに切り替わったことがあり、
Unityでもその対応が必要になりそうです。
実際UnityからXcodeをビルドすると
libiconv.2.dylibがミッシングになっています。
こちらビルドは正常に通るみたいですが、
気になるのでPostProcessBuildとPBXProjectを使って自動置き換えを試みました。
(のちのち他のtbdを追加することもありそうですし...)
ちょっとさわってわかったのですが、
そもそも現状のPBXProjectはdylibファイルの追加も対応してないみたいです。
AddFrameworkToProjectやAddFileToBuildだと、
ProjectのヒエラルキーにはでるけどBuild Phasesには表示されないなどへんな感じです。
PBXProjectはソースが公開されているため確認すると、たしかにFrameworkのことしか考慮されていないもよう。
とういうことで、tbdを含めてLibraryを扱う機能を追加してみました。
https://bitbucket.org/mikito/xcodeapi/branch/feature/tbd
改造版PBXProjectの導入方法はこちら
http://qiita.com/mikito/items/0a1f14c6d9d573c1ab27
以下のようなコードで修正や追加を実行します。
using UnityEngine;
using System.Collections;
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
public class FixIconvPostprocessBuildPlayer
{
[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget != BuildTarget.iPhone) return;
string projPath = PBXProject.GetPBXProjectPath(path);
PBXProject proj = new PBXProject();
proj.ReadFromFile(projPath);
string target = proj.TargetGuidByName("Unity-iPhone");
proj.RemoveLibraryFromProject(target, "libiconv.2.dylib");
proj.AddLibraryToProject(target, "libiconv.2.tbd", false);
proj.WriteToFile(projPath);
}
}
Unityが公式に対応するまでは、
こんな感じでやってくしかなさそうです。