找不到-lGoogleToolboxForMac的库 - Unity云构建

时间:2017-07-19 12:31:21

标签: unity3d

我已将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?

2 个答案:

答案 0 :(得分:1)

问题在于Google使用Cocoapod来管理iOS依赖项。如果您在本地构建,Unity应该为您的项目和包含pod的关联项目生成工作区(在XCode中,您应该打开工作区,而不仅仅是您的项目)。

根据我的理解,Unity Cloud版本无法执行此操作,而您的解决方法可能是使用没有cocoapods的Firebase https://firebase.google.com/docs/ios/setup#frameworks

更新

Unity有recently added Cocoapod support on unity cloud build

答案 1 :(得分:0)

如果您对Xcode没有任何了解并且不想弄明白,请按照以下步骤操作:

我。在您的iOS项目文件夹中,双击 Unity-iPhone.xcworkspace ,而不是 Unity-iPhone.xcodeproj 以打开Xcode。

II。 Cmd + R来运行游戏。