使用开源库XUporter,详见https://onevcat.com/2012/12/xuporter/
1.自动更改证书及描述文件
//更改证书,设置证书名称即可,在钥匙串中可见
project.overwriteBuildSetting ("CODE_SIGN_IDENTITY", "xxxxxxxxxx");
//iphone配置实用工具(高版本Mac系统虽提示安装失败,但依然可用)中查看描述文件的编号,格式如下
//描述文件的存放地址为:~/Library/MobileDevice/Provisioning Profiles
project.overwriteBuildSetting ("PROVISIONING_PROFILE", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
2.设置其它项目设置
//bitcode修改(所有名称在Xcode中可见)
project.overwriteBuildSetting ("ENABLE_BITCODE", "No");
3.自动添加FrameWorks,tbd(自己做部分修改)
project.AddFile("System/Library/Frameworks/WebKit.framework",project.GetGroup( "Frameworks" ), "SDKROOT",true,false);
project.AddFile("System/usr/lib/libz.1.2.5.tbd",project.GetGroup( "Frameworks" ), "SDKROOT",true,false);
project.AddFile("System/Library/Frameworks/Social.framework",project.GetGroup( "Frameworks" ), "SDKROOT",true,false);
4.修改Info信息
// 编辑plist 文件
EditorPlist(path);
private static void EditorPlist(string filePath)
{
XCPlist list =new XCPlist(filePath);
string PlistAdd = @"
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true />
</dict>";
//在plist里面增加一行
list.AddKey(PlistAdd);
//在plist里面替换一行
// list.ReplaceKey("<string>com.yusong.${PRODUCT_NAME}</string>","<string>"+bundle+"</string>");
//保存
list.Save();
}
5.单个文件的Compile Flags
6.PC打包注意
project.AddFrameworkSearchPaths("$(PROJECT_DIR)/Frameworks/Plugins/iOS/UMSocial_Sdk_Extra_Frameworks/TencentOpenAPI");
project.AddLibrarySearchPaths("$(SRCROOT)/Libraries/Plugins/iOS");
对于某些第三方库,PC下的Unity会生成反斜杠,需要手动调整