Edited at

WindowsでiOS Buildしたときに「Exception: Can't symlink files on this platform」と出る問題の解決

More than 3 years have passed since last update.

WindowsマシンでUnity5.2.3使用時

バッチモードなどでビルドした時に以下のエラーが出る問題の原因と解決策


エラー例

Exception: Can't symlink files on this platform

UnityEditor.iOS.Utils.SymlinkFile (System.String src, System.String dst)

これはBuildOptionsに BuildOptions.SymlinkLibraries を設定して

WindowsマシンでBuildPipeline.BuildPlayer を叩くと起こる問題


BuildOptions.SymlinkLibrariesの設定はXcodeプロジェクトを生成する時に

ランタイムライブラリをシンボリックリンクで生成するオプション。

しかしこのオプションはWindowsには対応していないようだ。

なので下記のようにBuildOptionsにSymlinkLibrariesを含めていた場合は


アカン例

BuildOptions option = BuildOptions.SymlinkLibraries;

BuildPipeline.BuildPlayer(scenePaths,outputPath,buildTarget,option);


次のような感じで修正します


修正例

BuildOptions option = BuildOptions.None; 

if(Application.platform == RuntimePlatform.OSXEditor)
option |= BuildOptions.SymlinkLibraries;

BuildPipeline.BuildPlayer(scenePaths,outputPath,buildTarget,option);


エラー文で調べると過去のUnityのBug Fixページしか出てこない上に2回も引っかかったので備忘録として。

そもそもWindowsでiOS Buildしないほうがいいと思うんだけどね…

BuildOptions.SymlinkLibraries

参考:http://docs.unity3d.com/jp/current/ScriptReference/BuildOptions.SymlinkLibraries.html