Unity 之 发布 Mac 报错 il2cppcore.dll did not run propertly
Unity 之 发布Mac报错il2cppcore.dll did not run propertly
- 一,遇到问题
- 二,尝试解决
- 2.1 方案一:打包Mono
- 2.2 方案二:删除引用库
- 2.3 方案三:添加模块
- 三,定位问题
- 四,解决问题
- 五,问题反思
一,遇到问题
Unity 发布Mac卡在Building native binary with IL2CPP
,翻译为:使用IL2CPP构建本机二进制文件
停一会之后,报错信息如下:
Exception: /Applications/Unity/Hub/Editor/2019.4.13f1c1/Unity.app/Contents/il2cpp/build/deploy/il2cppcore/il2cppcore.dll did not run properly!
二,尝试解决
2.1 方案一:打包Mono
在PlayerSettings面板 --> Player --> OtherSettings 下 Scripting Backend设置为Mono:
结果:Mono模式下可以正常打包。
2.2 方案二:删除引用库
由于我之前在IL2CPP模式下打过包,没有问题;然后我又用出问题的Unity版本创建了新工程,也设置为IL2CPP模式打包也没问题。
所以我认为是引用了外部插件导致的,于是开始一个一个进行删除,打包测试。
结果:删除了内购相关库,可以正常打出包来
2.3 方案三:添加模块
刚好一个同学在Windows打包时也遇到了这个问题,他的解决方法是:在VS中添加Desktop development with c++
这个模块,然后就可以打出包了
由于系统不同,Mac的VS只有这种,并没有Windows上那些模块…
我又试着在VS Code中去查找这个模块,结果VS Code连接不上商店,又要去解决连接插件商店的问题,最后无疾而终…
三,定位问题
废了半天劲问题也没有进展,没办法只能请教公司大佬了,大佬咨询了问题现象后,决定查看Editor Log,结果日志还真的有问题,由于il2cpp
下面的各种.o
文件太多了,他们占据了一中的报错日志的全部内容,而把最关键的问题,给掩盖掉了。
打开编辑器日志:
编辑器日志报错:GetAgeByIDCard
是方法名,RealNamePanel
是类名,一下就定位到问题代码出现在哪里了。右侧可以看到il2cpp
下面的各种.o
相关日志,真的是太多了…
四,解决问题
既然是定位到问题了,那么久好解决了。
问题原因:代码中调用的IOS代码,没有添加宏定义进行区分。
解法办法:添加IOS平台宏定义,使其对其他平台逻辑不产生影响。
导致报错代码:
修改后代码:
五,问题反思
反思导致问题原因:其实稍微有点经验的开发者,在区分多平台的时候,都会自然而然的使用宏定义。我这里使用if (Application.platform == RuntimePlatform.IPhonePlayer)
这种形式区分平台的原因是为了在代码中可以查看到引用,方便查找调用,也为了避免误删无引用代码… 结果有一种聪明反被聪明误的感觉… …
不过通过这次问题,有学会了一招打包报错时查看Editor Log
,之前只有在查看打包资源占用大小时查看过,没有打包失败查看编辑器日志的习惯,这次算是学会了~
本文解决你的问题了吗?若你遇到的问题有其他的解决方案,欢迎你在评论区分享出来。
Unity 之 发布 Mac 报错 il2cppcore.dll did not run propertly相关推荐
- 执行exe报计算机中丢失qtdll,Qt入门教程(2) 直接运行Qt生成的exe报错缺少dll文件 | 阿拉灯...
摘要 在Qt Creator中写完程序,在Qt Creator中的debug或者release状态下运行程序都是没有问题的,并且会在工程目录下生成对应的debug或者release文件夹,里面存放着生 ...
- IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案
IDLE打开Python报错 api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案 参考文章: (1)IDLE打开Python报错 api-ms-win-crt-runtim ...
- 运行 skimage 报错ImportError: DLL load failed:找不到指定模块
经常遇到的一个问题 运行 skimage 报错ImportError: DLL load failed:找不到指定模块,花了2个小时逐个排查,以及网上找原因验证,最终解决了. 通过一下安装仍会报错 p ...
- python 安装gdal成功,但是导入报错:DLL load failed 找不到指定的模块
最近基于Python3.8安装gdal,报错如题,尝试了很多方法,包括各种替换gdal版本,升级对应的依赖包版本一直没得到解决. 最后看到两个很有参考价值的文章: 1.关于python环境配置几个常见 ...
- Arcgis Server 发布服务报错Failed to start the server machine ‘XXX‘. Error while starting AppServer. Requir
Arcgis Server 发布服务报错 Failed to start the server machine 'XXX'. Error while starting AppServer. Requi ...
- Unity导入资源解决报错
一.目的 1.想知道:Unity导入资源解决报错 二.参考 三.注意 1.下载的资源位置 C:\Users\Administrator\AppData\Roaming\Unity\Asset Stor ...
- Unity PIC 打包assetBundle报错
Unity PIC 打包assetBundle报错 修改平台设置,讲LitJson 从android 目录移出来,重启unity.就可以读取到引用关系了.
- 【已解决】启动Python报错api-ms-win-crt-process-l1-1-0.dll缺失,windows7无法升级,升级补丁打不上的解决办法
[已解决]启动Python报错api-ms-win-crt-process-l1-1-0.dll缺失,windows7无法升级,升级补丁打不上的解决办法 问题:启动python报错api-ms-win ...
- Unity引用System.Drawing发布安卓报错
安卓日志报错信息:Unable to load DLL 'gdiplus' Unable to load DLL 'gdiplus': The specified module could not b ...
最新文章
- 第十五届全国大学生智能车全国总决赛获奖信息-华东赛区
- oracle 备份与恢复学习总结
- PHP字符串替换函数选择
- ML.NET 示例:对象检测
- java实现米和厘米比较好_java如何根据实际经、纬度和已知经、纬度做对比,计算出具体偏差米数。(以米为单位)...
- mysql建模之前需要会什么_mysql – 什么是建模我简单表的最佳方法?
- RHEL7 -- 修改主机名
- docker开机启动失败_Docker教程(二)——安装Docker
- Struts项目中前端页面向后台页面传参中文出现乱码(Get请求)
- tensorflow之train.get_checkpoint_state
- 浅谈Cache Memory
- python实现多进程监听声音播放并绘图
- 三星note8android 9.0,三星S9/S9+计划明天推送安卓9.0正式版、S8/S8+、Note8下周推测试版...
- 微服务,软件应用开发的新纪元
- BitTorrent详解
- VS2013新建项目出现脚本错误的解决办法
- Python课第3周:平方根格式化
- 北大计算机直博生,直博生培养方案-北京大学.doc
- 懒人的findviewbyid
- Photoshop插件--证件照--1寸裁剪--1寸排版--脚本开发--PS插件