上篇写到了手动接ios一些sdk的坑点,这篇主要是讲unity自动化打包的一些坑点,IOS端的,自动化有很多方法,Jenkins,或者editor等等,怎么自动化在这不讨论,这里增加的是截至目前unity和xcode没同步的一些问题,也有可能是自己没找对的地方
上篇说到接入友盟的ios端推送,集成与Unity出的xcode工程,这里说下目前没有的地方
友盟官方文档中说明接入推送需要增加Backgroundmodes和pushnotifications在capability中.
但是目前unity提供的xcode自动化中缺少了Backgroundmodes中需要的 backgroundprocessing选项,
友盟官方文档需要增加这个 目前缺少这个枚举 也没有这个字符串 unity官方也缺失在这吐槽一句,xcode更新真的太快了,sdk和unity都更不上速度
由于xcode中info.plist和unity-iphone.xcodeproj. 和cs工程一样 都是xml.所以我们找到这两个文件,打开就能看到我们需要的值,已知"UIBackgroundModes"是key,所以打开info.plist就能找到,如下图
这样在xcode里面增加就能看到我们需要的是什么了按步骤将"processing" 和对应枚举 加入即可 如下两图
增加字符串 增加枚举直接增加两个key为UIBackgroundModes 在代码中是不能实现的,是因为 PBXProject.AddCapability方法会判断是否有两个这样的模块
抛异常了解决方案也简单,魔改下,判断下"PBXCapabilityType"为"BackgroundModes",就把保存到list里面增加再调用AddCapability就行
改下就行搞定
网友评论