我已将4.5.1
的统一升级为2007.0.1f3
,此后我无法使用Unity云构建进行IOS构建并出现此错误
找不到-lGoogleToolboxForMac 的库
我在我的项目中使用过Google firebase和Facebook SDK。
用于传输libs的构建后脚本:
[PostProcessBuild]
public static void OnPostprocessBuild (BuildTarget buildTarget, string path)
{
#if !UNITY_CLOUD_BUILD
Debug.Log ("[UNITY_CLOUD_BUILD] OnPostprocessBuild");
ProcessPostBuild (buildTarget, path);
#endif
}
private static void ProcessPostBuild (BuildTarget buildTarget, string path)
{
#if UNITY_IOS
string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
PBXProject proj = new PBXProject ();
proj.ReadFromFile (projPath);
// This is the Xcode target in the generated project
string target = proj.TargetGuidByName("Unity-iPhone");
proj.AddBuildProperty(target, "CLANG_ENABLE_MODULES", "YES");
proj.AddBuildProperty(target, "OTHER_LDFLAGS", "-ObjC");
proj.AddBuildProperty(target, "OTHER_LDFLAGS", "-v");
List<string> frameworks = new List<string>() {
"AdSupport.framework",
"CoreData.framework",
"SystemConfiguration.framework",
"libz.dylib",
"libsqlite3.dylib",
"libGoogleAnalytics.a",
"libGoogleToolboxForMac.a",
"libApp.a",
"libAnalytics.a"
};
frameworks.ForEach((framework) => {
proj.AddFrameworkToProject(target, framework, false);
});
proj.WriteToFile (projPath);
#endif
}
如何从UBC构建IOS?
答案 0 :(得分:1)
问题在于Google使用Cocoapod来管理iOS依赖项。如果您在本地构建,Unity应该为您的项目和包含pod的关联项目生成工作区(在XCode中,您应该打开工作区,而不仅仅是您的项目)。
根据我的理解,Unity Cloud版本无法执行此操作,而您的解决方法可能是使用没有cocoapods的Firebase :https://firebase.google.com/docs/ios/setup#frameworks。
答案 1 :(得分:0)
如果您对Xcode没有任何了解并且不想弄明白,请按照以下步骤操作:
我。在您的iOS项目文件夹中,双击 Unity-iPhone.xcworkspace ,而不是 Unity-iPhone.xcodeproj 以打开Xcode。
II。 Cmd + R来运行游戏。