参考链接:
Unity3D研究院之IOS全自动编辑framework、plist、oc代码(六十七)
说明:
1.我们在用Unity打包iOS的时候,经常需要自动化设置导出工程的各项配置,比如证书名、TeamId、mobileprovision文件等等。
在Unity 4.x时代,常用的工具是XUPorter(原作者已不再维护,如果坚持要用,可以从github上下载:https://github.com/onevcat/XUPorter
---------
2.在Unity 5.x之后,Unity官方提供了另外一套工具,叫做xcodeapi,因为是官方维护的,所以在使用上可以更放心,所以推荐使用。
xcodeapi的工程链接在Unity的开源bitbucket上:https://bitbucket.org/Unity-Technologies/xcodeapi
------------------------------------------------------------------------------------------------------------------------
重点:自己测试 XUPorter
1.测试工程代码:
链接: https://pan.baidu.com/s/1rMFfmbalHKVaJCnNfVrlow 提取码: ie2u
优化修改了添加 plist.info 配置文件的功能。
环境:Unity2018.4.10f1
1.修改 frameworks
这里参考链接:http://www.xuanyusong.com/archives/2720
那么我用一个比较变态的SDK举个例子ShareSDK,它就需要自动添加framework,修改plist,还有要修改oc的代码。第一步打开XUPorter/Mods/share.projmods 文件。
{
"group": "share",
"libs": ["libicucore.dylib","libz.1.2.5.dylib"],
"frameworks": [
"SystemConfiguration.framework",
"QuartzCore.framework",
"CoreTelephony.framework",
"Security.framework",
"AdSupport.framework:optional",
"MessageUI.framework",
"StoreKit.framework",
"AudioToolbox.framework",
"QuartzCore.framework"
],
"headerpaths": [],
"files": [
"ShareSDK/Connection/SinaWeiboConnection.framework",
"ShareSDK/Connection/WeChatConnection.framework",
"ShareSDK/Core/AGCommon.framework",
"ShareSDK/Core/ShareSDKCoreService.framework",
"ShareSDK/ShareSDK.framework"
],
"folders": ["ShareSDK/"],
"excludes": ["^.*.meta$", "^.*.mdown$", "^.*.pdf$"],
"linker_flags": []
}
frameworks分成两种,
一种是系统自带的framework还有一种是第三方的framework。
“frameworks”节点里面放的是系统自带的frameworks。
”files”节点里面放的是第三方做出来的framework。
尤其是第三方的framework如果位置放的不对,就不会被xcode所引用的!切记切记!!
folders:可以把某个文件夹下的所有文件拷贝在xcode工程里面,
一般sdk都会附带一些oc的代码文件,最好通过folders把oc的代码拷贝在工程里面。或者你也可以把oc的代码放在plugins下面,同样打包的时候也会拷贝进xcode工程
2. 修改 plist.info 配置文件 (用上面的百度网盘的工程,因为修改了些代码)
贴上测试配置:这里测试 修改 plist.info 配置文件的配置方法
{
"group": "Test",
"libs": [
"libz.dylib",
"libc++.dylib"
],
"frameworks": [
],
"headerpaths": [],
"files": [
],
"folders": [],
"excludes": ["^.*.meta$", "^.*.mdown$", "^.*.pdf$"],
"compiler_flags": [],
"linker_flags": [
"-ObjC"
],
"plist":{
"NSCameraUsageDescription":"cameraDesciption",
"NSContactsUsageDescription":"contactsDesciption",
"NSMicrophoneUsageDescription":"microphoneDesciption",
"NSPhotoLibraryUsageDescription":"photoLibraryDesciption",
"打包设置plist":{"属性1":"描述1","属性2":true,}
}
}
打包XCode 工程后 查看 plist.info 配置文件 如下:

3.修改 Bitcode,修改Debug Information Format
#region XCodePostProcess.cs 文件中修改 Bitcode
//TODO disable the bitcode for iOS 9
project.overwriteBuildSetting("ENABLE_BITCODE", "NO", "Release");
project.overwriteBuildSetting("ENABLE_BITCODE", "YES", "Debug");
project.overwriteBuildSetting("ENABLE_BITCODE", "NO", "ReleaseForProfiling");
project.overwriteBuildSetting("ENABLE_BITCODE", "NO", "ReleaseForRunning");
#endregion
#region XCodePostProcess.cs 文件中修改 Debug Information Format
// TODO : 自己添加 修改属性 - Build Options - Debug Information Format
project.overwriteBuildSetting("DEBUG_INFORMATION_FORMAT", "DWARF", "Debug");
project.overwriteBuildSetting("DEBUG_INFORMATION_FORMAT", "DWARF", "Release");
project.overwriteBuildSetting("DEBUG_INFORMATION_FORMAT", "DWARF", "ReleaseForProfiling");
project.overwriteBuildSetting("DEBUG_INFORMATION_FORMAT", "DWARF", "ReleaseForRunning");
#endregion
打包XCode 工程后 查看 Build Settings 配置 如下:

打包前的设置
上面是针对打包完成后的处理,也可以在打包之前设置一些设置。(这里没有使用 XUPorter)
参考:https://blog.csdn.net/ZFSR05255134/article/details/113564430
其它参考:不使用XUPorter导出XCode工程
Unity导出XCode工程的时候自动修改工程设置添加依赖:
https://blog.csdn.net/langresser_king/article/details/52905111
------------------------------------------
Unity 自动打包 Part1—配置Xcode工程
https://blog.csdn.net/blog_lee/article/details/52400535
Unity 自动打包 Part2—构建IPA文件
https://blog.csdn.net/blog_lee/article/details/70231351
Unity 自动打包 Part3—上传Bugly 邮件通知
https://blog.csdn.net/blog_lee/article/details/76020334
------------------------------------------
309




被折叠的 条评论
为什么被折叠?



