unity ios渠道批量打包以及需要注意的两个小点

针对每个渠道,肯定是要分开打包,ios方面unity打成xcode工程再得在xcode里进行build,有个批量打包的工具肯定是能节省很多时间。

下面是代码(在雨松momo的批量打包代码基础上进行了一些改动,原文地址:http://www.xuanyusong.com/archives/2418/):

 

using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using System;
using System.IO;

public class PerformBuild : EditorWindow {
	static Dictionary componentDic = new Dictionary();
	static string[] sList = new string[7]{"91","AiSi","KuaiYong","TongBuTui","iTools","PP","XY",};
	static List selectBuild = new List ();
	static string inputText = "";

	[MenuItem("Tools/Build Project")]
	static void Init()
	{
		EditorWindow.GetWindow(true, "Build Project");
		selectBuild.Clear ();
		/*for (int i=0; i EditorScenes = new List();
		foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
		{
			if (!scene.enabled) continue;
			EditorScenes.Add(scene.path);
		}
		return EditorScenes.ToArray();
	}
    void BuildSelect()
	{
		for (int i = 0; i 0) {
			throw new Exception("BuildPlayer failure: " + res);
		}
	}
}

需要注意的两个小点是

1.EditorUserBuildSettings.appendProject = true;

这句话是打出来的xcode工程在原工程的基础上以append的形式追加,而不写默认就是replace的,那些设置与引用的sdk就都白弄了。

 

光有这句代码并不能实现append的效果,还需要这句:

2.GenericBuild(SCENES, target_dir + "/" + target_name, buildTarget,BuildOptions.AcceptExternalModificationsToPlayer);
主要是里面穿的最后一个参数:BuildOptions.AcceptExternalModificationsToPlayer

这个可以设置播放器目录接受外部修改,说白了就是有这句打出来的xcode工程才能使在已有的工程上追加内容。

再次感谢雨松大大的无私分享。

 

 

 

 

 

你可能感兴趣的:(unity)