Unity

【備忘録】Unity2017.2でiosビルドするとエラー吐いた問題

はじめに

この記事には問題の解決するまでの手順はメモされていますが根本的な原因は書かれていません。
なので、同じ問題が起きた人すべてに当てはまるとはいえないので注意してください

起きたエラー

2017.2にあげて初めてiosビルドした時に起きたエラー

UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x00207] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:172 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:83 
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
ArgumentOutOfRangeException: Cannot be negative.
Parameter name: length
System.String.Substring (Int32 startIndex, Int32 length) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/String.cs:348)
UnityEditor.iOS.PostProcessiPhonePlayer.SetupBuildSettings (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:458)
UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (PostProcessorSettings postProcessorSettings, BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/BuildPostProcessor.cs:544)
UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/iPhonePlayer/Extensions/Common/ExtensionModule.cs:37)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:271)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

これが起こるまでに行っていたこと

ビルドセッティングからスイッチプラットフォーム
player settingからbundleIDを変える
シーンを追加
ビルド

解決までにやったこと

①あたらしくプロジェクトを作り直す→×
②過去のバージョン(2017.1)をダウンロードしてみる→×
③もう一度過去のバージョンをダウンロード→?
この際、スタンダードアセットをダウンロードし直した
④諦めてandroidでビルドしてみる→⚪︎
この際、きちんとbundleIDをきめた
⑤過去のバージョンのままでiosビルド→⚪︎

学んだ?こと

初めてアンドロイド実機で動かした
アンドロイド開発する予定はないがアンドロイドスタジオをダウンロードした
私の持っている実機はバージョンが古いのかVRは動かない
bundleIDきちんとつける

関係ありそうな記事

http://answers.unity3d.com/questions/1378775/i-dont-know-what-this-is-someone-help-me.html
http://answers.unity3d.com/questions/1380921/build-failed-with-errors-at-unityeditorbuildplayer.html

10月28日追記

約1ヶ月前につくったプロジェクトも同じような症状でビルドできなくなりました…
その時は2017.1でビルドができていたのですが、今、2017.1と2017.2では動きません
作業をする前に必ずビルドができるか確認したほうがよさそうです