Unity工程打包iOS详细流程,以及常见问题解决 您所在的位置:网站首页 Unity正版区别 Unity工程打包iOS详细流程,以及常见问题解决

Unity工程打包iOS详细流程,以及常见问题解决

2024-03-17 15:10| 来源: 网络整理| 查看: 265

欢迎光临白羽小镇

本参考文档将分为两部分,一部分介绍整体流程,后一部分参考@ 灵思致远Leansmall 博主的“Unity 发布到IOS的注意事项”,介绍了打包时的须知项。请务必通读须知项。

步骤一:Unity配置Player settings

首先需要在编辑器下配置打包的选项,这里只介绍重要的选项,其他的可以参考点击打开链接我是链接,刚才忘记放了点我,首先包名必须确保正确,然后大版本号version 和 小版本号build有区别,真正影响能不能上传appstore成功的应该是build这个选项,每次上传build只能升不能降,编译方式用默认的IL2Cpp模式,工程需要的sdk类型写真机类型,上图:  playerSetting 还有其他需要控制的是工程的架构方式选择“arm64”,如果有需要宏定义控制的代码部分需要添加宏定义,上图:

在这里插入图片描述

完成上述基本配置就可以导出xcode工程了,导出的时候选择release,然后点击build选项导出工程。

注意:此时如果你的工程在打包导出xcode工程时报错,那么可能原因有:

1,工程内使用的原生第三方插件在此平台不支持。 2,你的mac当前账户并没有root权限,如何打开root权限可以百度很容易找到。 3,如报罕见错并解决不了,可以使用终极解决方式:将原有工程移植到mac时,只导入asset,projectsetting,以及工程根目录下的c#工程文件。这样其他文件及文件夹格式将由unity自行生成。

步骤二:导入证书和密钥,配置Xcode工程

我从运营那边得到两个证书和三个密钥,一个发布证书(release版)和一个开发证书(debug版),一个发布密钥,一个调试密钥和一个adhoc密钥(没用过,内部测试版本),上图: 在这里插入图片描述

证书导入在xcode9的版本中只需要双击文件就可以添加到钥匙串中,双击后会弹出一个这样的窗口,可以看到我们的证书已经添加在上面,

在这里插入图片描述

在这里需要注意:双击证书,在弹出窗口的“信任”菜单里需要确保设置为“使用系统默认设置”,不然上传appstore的时候会出错。 在这里插入图片描述

再说密钥的导入,也是双击密钥文件,然后会自动导入到你的Xcode工程当中。证书和密钥导入完成后需要开始配置一些参数,

首先点击目标工程,选择右侧的Build Settings,在这里我们要配置签名(这个过程需要在导入密钥之后),配置的时候需要注意区分发布版和调试版不要选错了。上图:

在这里插入图片描述

除此之外,在Build Settings->Linking->other Linker flags 里面需要添加 "-ObjC"选项,具体原因:Xcode ——ObjC

在这里插入图片描述 如果报方法找不到的错误,可以试一下这个方法,如果还是存在方法找不到,可以检查下依赖的库文件有没有加上,如果没有加上,需要手动添加库文件,在这里添加

在这里插入图片描述

步骤三:打包IPA

在打包之前需要设置一些选项,点击Product->Scheme->Edit Scheme,在弹出窗口中选择Archive选项,选择release(调试 选debug),关闭窗口,选择product->Archive,开始打包,等待一段时间的编译后,会弹出密码框,输入登录密码(电脑账户密码)后弹出Archives面板,这里选择“Export”如图:

在这里插入图片描述

Export后,选择App Store 这个选项,点next,过一段时间后,就会弹出下面这个窗口,点击export后就可以选择要存储ipa的路径位置,然后点击ok,就导出到指定路径下。 在这里插入图片描述 须知项: 1.开发环境

MAC环境:Xcode环境 7.2.1 Unity环境:Unity5.3

2.基本说明

首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的经验!如果你想一次就发布成功,如果你想少走弯路,请仔细看我的说明。因为坑比较多! 由于Unity发布到IOS,是以Xcode工程的形式发布到MAC中,所以,在发布的时候需要注意以下几点: 1. 发布的工程,需要以真机进行调试 (我发布的时候,选择发布unity到模拟器版本,发布后无法用模拟器运行) 2. Unity发布真机:Build Settings->Player Settings->Other Settings->SDKVersion 选择真机(不知道是哪个,可以有道翻译一下) 3. Build Settings->Player Settings->Other Settings->ScriptingBackend 选择IL2CPP支持64位 4. Build Settings->Player Settings->Other Settings->TargetDevice(这个如果只支持Iphone就选择只有Iphone,如果支持Ipad,则发布到Itunes的时候,需要提交Ipad的相关信息如ipad截图等。否则无法上线) 5. Build Settings->Player Settings->OtherSettings->Optmization->Api Compatibility Level 如果使用了文件一系列的操作,选择.NET 2.0 6. Build Settings->Player Settings->Company Name 与Product Name的名字不要胡写,审核不通过不要抱怨!!!! 7. Build Settings->Player Settings->Other Settings->BundleIdentifier不要胡写,审核不通过不要抱怨!!!! 8. 发布前,注意需要把ICON与Splash Image设置好。要不发布后,还得重新发布,很麻烦。(Build Settings->Player Settings->Default Icon也要设置好) 发布到IOS中后,是一个Xcode工程! 现在,发布完成后,我们需要注意:

这个程序只有真机可以调试。(如果发布为模拟器版本,那么在模拟器下应该是无法运行的)如果发布为模拟器版本,则该工程无法在真机上运行!如果没有开发者账号的童鞋,此刻可以百度(Xcode7 无证书真机调试)按照其中的方法,真机调试Unity程序如果有开发者账号的童鞋,可以在苹果开发者平台,导出真机调试证书进行真机调试 证书有很多,需要注意: 真机调试证书 (下载证书的时候,需要把测试设备的UDID加入进去) 沙盒测试证书 (该证书沙盒测试测试成功,至于是否可以提交审核上线,没测试) 发布证书(该证书用于上线) 其中每个证书都不一样,需要注意的就是,一个证书,请在自己电脑下申请一个钥匙串再上传生成证书。不要一个钥匙串生成很多证书。 如何生成证书,以及如何使用,百度一下具体的操作。这里只讲坑!!!! 坑1:有些童鞋的证书,生成后,下载到电脑里就是过期的,那么请点击一下系统跟证书,其中有一个系统证书是过期的,这是因为苹果在2016年2月份以后,需要所有的设备都支持64位系统,所以,如果你的电脑只有一个这个过期的证书,那么百度这个证书名字,下载新的证书。 如果你电脑有两个相同的证书,一个过期,一个没过期,那么直接删除那个过期的证书。这个证书的名字是:apple worldwide developer relations vertification authority 坑2:程序写完,测试完成,上传到APP Story的时候,使用 XCODE上传工程,则,显示上传成功,其实根本就没有上传成功 解决方案:使用Application Loader 打包IPA后上传。(具体方法度娘) 坑3:Unity不要使用prime31 storekit 破解版的内购插件! 原因:因为这个插件,现在网上最新的也就是2014年的。 那时候,苹果还不要求你的程序必须都支持64位系统。所以,如果你使用这个插件,沙盒测试是可以测试成功的,但是你就是提交不上去。!! 使用64位编译器编译,这个插件怎么折腾 也无法编译过去。除非你是土豪,70美金买这个付费版。那我没话说。 这里我推荐一个苹果内购插件:免费的,而且可以用。 具体下载链接:http://pan.baidu.com/s/1pLUXLGn 使用方法:将AppStore预置件拖入到场景中,在你要购买的按钮上绑定BuyBtn脚本 Iap ID 输入你内购的ID(在ITunes中添加的id) ObjName (购买成功后通知的物体名) Fun Name(购买成功要通知的方法) 其实这就是一个SendMessage 看到这里,你还要注意: 发布到Xcode后,使用这个插件还是无法编译通过? 为什么呢 因为这个插件是使用的手动ARC释放,不是使用苹果的自动ARC释放,所以,你需要在Xcode中设置这个插件中的类为不使用ARC释放 这里需要注意:只对3个文件不使用ARC 如果你对整个工程都不使用ARC,那么,这个程序直接崩溃 在Xcode中 选择项目的Tagets->选中BuildPhases,在Complie Sources中选择SKProduct LocalizedPrice 与InAppPurchaseManager双击他们,在后方输入-fno-objc-arc(如果找不到这个文件可以手动将这两个文件添加进Complie Sources,或者直接编译,不成功后,这里就出现这两个文件了) 内购测试:

坑1:一定要填写好银行信息,才能内购测试,否则,无法测试 银行信息需要咨询银行你的联行号! 坑2:你的信用卡 包括你购买开发者账号,在中国,必须是双币种信用卡,全币种的不能付费与收款 坑3:内购添加沙盒测试账号!(土豪请无视) 发布注意: 隐私政策网址:百度文库找一篇然后输入连接就可以 公司网址:填写你个人博客的地址就可以 UnityADS广告: 这东西吧,你添加进来以后,就不好删了,如果添加后,输入好在unity中的ID就可以了 发布的时候,把测试按钮点击false

参考自:https://blog.csdn.net/leansmall/article/details/51648549

2019.9.9 白羽



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有