Проблема:Unity Cloud Build: post export method
Я не могу найти правильную подпись для метода экспорта почтовых сообщений Unity cloud build. Согласно документации:
The fully-qualified name of a public static method you want us to call after we finish the Unity build process (but before Xcode). For example: ClassName.CoolMethod or NameSpace.ClassName.CoolMethod. No trailing parenthesis, and it can't have the same name as your Pre-Export method! This method must accept a string parameter, which will receive the path to the exported Unity player (or Xcode project in the case of iOS).
Вот мой код:
public static void OnPostprocessDevBuildIOS(string ExportPath)
{
var projPath = ExportPath + "/Unity-iPhone.xcodeproj/project.pbxproj";
var proj = new PBXProject();
var nativeTarget =
proj.TargetGuidByName(PBXProject.GetUnityTargetName());
var testTarget =
proj.TargetGuidByName(PBXProject.GetUnityTestTargetName());
string[] buildTargets = {nativeTarget, testTarget};
proj.ReadFromString(File.ReadAllText(projPath));
proj.SetBuildProperty(buildTargets, "ENABLE_BITCODE", "NO");
File.WriteAllText(projPath, proj.WriteToString());
}
и вот ошибка:
Я пробовал несколько подписей методов испытаний и может» Кажется, что все работает. Я даже попробовал только метод, который выводит путь.
Дополнительная информация:
- Unity Версия: 5.3.1f
- Unity Облако Сложение: 5.3.1f
- Цель: IOS 8.0+
Кроме того, мое облако построить настройки скрипта находится в папке редактора по мере необходимости.
Ok так что я получил инвалидизирующий процесс после битового кода для работы со следующим кодом, но только тогда, когда я строю вручную. Когда я строю из облачной сборки, без ошибок приложение зависает на экране заставки. Когда я строю с моей локальной машины, приложение работает нормально.
[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
string nativeTarget = proj.TargetGuidByName(PBXProject.GetUnityTargetName());
string testTarget = proj.TargetGuidByName(PBXProject.GetUnityTestTargetName());
string[] buildTargets = new string[]{nativeTarget, testTarget};
proj.SetBuildProperty(buildTargets, "ENABLE_BITCODE", "NO");
File.WriteAllText(projPath, proj.WriteToString());
}
}
без OnPostProcessBuild, как я могу отключить BITCODE? – Kenshin