2013-12-12 40 views
2

我正在爲iOS構建和使用FacebookSDK。我想通過詹金斯自動化。現在,當我在編輯器中「構建並運行」時,它會正確構建xcode項目。但是當我通過命令行運行後,postbuildprocess從不運行。我無法在網上找到關於此問題的任何信息。有人有主意嗎?或者需要其他信息來提出理論?Unity3d命令行Autobuild不運行postbuild

這裏是自動構建代碼:

[MenuItem("Build/iOS")] 
static void PerformiOSBuild() 
{ 
    EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.iPhone); 
    BuildPipeline.BuildPlayer(GetScenePaths(), "iOS",BuildTarget.iPhone,BuildOptions.None); 
} 

,這裏是我的命令行ARGS:

/Applications/Unity/Unity.app/Contents/MacOS/Unity -projectPath "/Users/USERNAME/Desktop/Work/PROJECTNAME/Unity/" -executeMethod AutoBuilder.PerformiOSBuild -quit -batchmode 
+0

嘗試刪除「SwitchActiveBuildTarget」。你應該只做過一次(第一次安裝Jenkins項目)。我們實際上停止構建並在第一次切換構建目標後重新啓動它。 – Jared

回答

1

我能夠通過手動調用Facebook的後處理來解決這個問題。這裏是我的構建腳本:

using System; 
using UnityEngine; 
using UnityEditor; 
using UnityEditor.FacebookEditor; 

class BuildScript 
{ 
    static void PerformBuild() 
    { 
     string[] scenes = { "Assets/monster_island.unity" }; 
     string buildPath = System.IO.Directory.GetCurrentDirectory() + "/iOS"; 
     BuildOptions opt = BuildOptions.None; 
     BuildTarget target = BuildTarget.iPhone; 

     // Run Xcode project build 
     BuildPipeline.BuildPlayer(scenes, buildPath, target, opt); 

     // Run Facebook's post-processing script 
     XCodePostProcess.OnPostProcessBuild(target, buildPath); 
    } 
} 

請記住,我是新來的Unity,所以如果在這裏的東西看起來總體感覺自由地這麼說。