unity3d开发过程中的疑难问题解决方案(持续更新)
unity开发android、ios游戏过程中的坑和当时的解决方案,不保证是最新的解决方案,只是记录当时的情况,给大家提供个思路
目录
1.android studio在build过程中依赖项下载慢,**后也慢的问题
2.解决unity接入ironsource sdk中的chartboost广告源报错:NETWORK_FAILURE没有广告的问题
4.xcode工程报错".entitlements"找不到的解决办法记录
5.unity导出xcode工程pods失败的解决方案和pods install慢的问题
7.unity接入ironsource导出xcode后,两个同名文件造成冲突
9.TopOn与红包激励卡冲突,激励卡展示函数走不完就会发生程序崩溃闪退
11.unity中使用android resolver出现resolve秒succeeded的情况,而且没有自动导入任何jar、aar依赖、并自动删除了一些已经导入的jar、aar
12.unity中使用android resolver出现resolve后mainTemplate.gradle被截断
13.xcode接完firebase推送后,icon上的消息数量打开app 不消失
15.遇到appstore回复不再支持UIWebView而被秒拒的问题
18.unity发布到ios后iphone x、iphone 11等刘海屏,和iphone14pro、14pm灵动岛适配问题
20.Umeng打点需要等Umeng初始化完成之后才可以打点,否则程序在真机上(目前只试过ios)会崩溃闪退。
22.Firebase接入A/B Test,build as project打包过程中报错Failed to resolve:xxxxxxx
24.AF从V4版本升级到V5、V6时出现和is的vungle有冲突的问题
27.Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms
28.解决AndroidStudio下载gradle慢的问题
30.unity项目在ios中播放广告时的广告声音和游戏声音重叠的问题
32.unity接入max广告平台后真机运行时调用广告报错(插屏、激励视频)
ALAdServerAd、adUnitIdentifier、ALAd等错误时
33.firebase_crashlytics缺失dSYM unity ios
34.Unity3d使用Spine SkeletonGraphic(UGUI)时需要注意的坑,仅安卓真机会出问题!
35.android studio编译报错,关键词mtg、mintegral
36.使用ParticleEffectForUGUI插件后,部分特效出现被剔除的bug
39.接入maxsdk和fb广告源后,ios在运行时出现FBAdConfigManager、ALSdk、AppLovinSdk ERROR的报错、崩溃,并且不能调用广告
40.max调试器(MAX Mediation Debugger)中的Ad Review Version报错
43.对接max sdk后,打包ios进入max调试器测试每个广告源,提示需要重启,第二次启动后进入max调试器后app崩溃,并有如下log:
44.android studio打包过程中报错,报错内容:
45.打包到and运行后报错,提示StringEnumConverter相关报错(可能ios也有)
47.在xcode中第一次build成功,第二次就会提示如下错误信息,并且打包失败
48.在unity接入max sdk后,引入最新的MTG(之前没问题,升级后就不行了)广告元后,as工程打包报错的bug
49.unity build为xcode工程后,在打包ipa的签名阶段出现错误
50、windows系统下,unity激活总是无法成功时,试试以下方法(尤其是曾经破解过unity的电脑)。
1.android studio在build过程中依赖项下载慢,**后也慢的问题
打开**,然后在android studio的File->settings->Http Proxy中做如下设置,选择HTTP,Host name为127.0.0.1,Port number设置为**的HTTP/HTTPS 端口号
android studio的设置

重新build一般即可解决
如果还是下载很慢,可以再在android studio项目中的gradle.properties中写入(如图),注意,把“1090”修改为你的**的SOCKS5监听端口号,再重新build基本可以解决问题
org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1090

2.解决unity接入ironsource sdk中的chartboost广告源报错:NETWORK_FAILURE没有广告的问题
报错截图:

解决方案:
需要在gradle里增加四句话(is没有提供,chartboost技术说的)
IS的Chartboost广告源报错:NETWORK_FAILURE 时尝试在gradle增加如下四句:
implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.android.gms:play-services-base:17.1.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
3.如果项目在手机运行的第一时间管用户要了很多权限,导致用户反感,用户选择拒绝某权限,出现广告加载、留存等问题,导致收益影响,可参考下面链接把申请权限修改为动态申请,等程序需要用到权限的时候再去询问用户权限
【Unity游戏开发】Android6.0以上的动态权限申请问题 - 马三小伙儿 - 博客园

4.xcode工程报错".entitlements"找不到的解决办法记录

解决方案:在别的项目里面copy过这个文件到本项目的根目录即可,这个文件是记录工程中使用那些功能的文件,出现这个问题可能是因为此文件损坏或者丢失了
5.unity导出xcode工程pods失败的解决方案和pods install慢的问题
1.pods使用方式:终端cd到工程根目录,执行pod install
2.pods install太慢的解决方案:
https://www.jianshu.com/p/9e7cb7c722b2
https://www.cnblogs.com/agang-php/p/10618299.html
https://blog.csdn.net/yyws2039725/article/details/90675347
https://www.jianshu.com/p/ef35a1eef95d
比较有用的一句话:终端设置走**,端口号用**的设置里面的端口号
方法一:
在终端执行export all_proxy=socks5://127.0.0.1:{socks5监听端口号}
如:export all_proxy=socks5://127.0.0.1:1090
方法二:
在终端执行export http_proxy=127.0.0.1:41091 https_proxy=127.0.0.1:41091
注:41091 是本地HTTP/HTTPS监听端口, 根据**设置里面端口数进行设置即可,HTTP/HTTPS默认端口41091
3.如果还失败进行更换网络多次尝试(其他同事遇到过这个问题,多次尝试后成功)
6.xcode添加证书后报错
第一个错误尝试重启xcode
第二个错误是没有把真机添加成测试设备

7.unity接入ironsource导出xcode后,两个同名文件造成冲突

错误原因是因为pod文件重复下载相同文件,is的Facebook模块新版为自动在pod里面添加FBaudienceNetwor,建议使用老版本。
8.xcode打包ipa到fir.im等内测分发平台的方式
Step1: 新建“Payload”文件夹,注意名字要一字不差;
Step2: 将你的.app包放到Payload中,注意app的名字不做任何更改,就用xcode生成的app名称;(在dev环境下真机调试后会在xcode的products文件夹下自动生成.app)

Step3: 在Payload文件夹上右键压缩成zip,然后将生成的.zip文件后缀改成.ipa即可上传
9.TopOn与红包激励卡冲突,激励卡展示函数走不完就会发生程序崩溃闪退

解决方案:避免在广告结束时紧接着调用激励卡展示逻辑;可是使用协程适当延迟时间(我延迟了0.5f), 避免发生崩溃。
10.TopOn原生广告设置参数无作用的解决方案

11.unity中使用android resolver出现resolve秒succeeded的情况,而且没有自动导入任何jar、aar依赖、并自动删除了一些已经导入的jar、aar


解决方案:请检查是否使用了unity的mainTemplate.gradle,如果启用了,请进入android resolver -> settings,关闭patch mainTemplate.gradle选项

12.unity中使用android resolver出现resolve后mainTemplate.gradle被截断
尝试把mainTemplate.gradle文件中的所有注释删掉,如:
//Android Resolver Exclusions Start
13.xcode接完firebase推送后,icon上的消息数量打开app 不消失
全局搜applicationDidBecomeActive
这个方法,这是声明周期中的触发活跃方法
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
这句话给小红点设置数量
14.安卓获取sha1值

将下列代码粘贴到build.gradle中的android函数里
signingConfigs {
debug {
storeFile file('sunshine.jks')
storePassword "123456"
keyAlias "sunshine"
keyPassword "123456"
v1SigningEnabled true
v2SigningEnabled true
}
release {
storeFile file('sunshine.jks')
storePassword "123456"
keyAlias "sunshine"
keyPassword "123456"
v1SigningEnabled true
v2SigningEnabled true
}
然后点右上角的红色提示编译
然后点击右边的signingreport就能获取到sha1值了

或者点下方Terminal/终端/cmd
获取SHA1
第一步、输入命令:keytool -v -list -keystore keystore文件路径(相对路径)
第二步、输入Keystore密码,回车后即可看得到
15.遇到appstore回复不再支持UIWebView而被秒拒的问题
如果使用的是unity2018版本,需要更新国外补丁版本2018.4.10f1或更高,如果2019等其他版本,请注意补丁内容,更新到fixed UIWebView补丁之后的版本(国内unity可能被区别对待了,建议使用国外版本unity)

附:如果更新后打包ios出现了磁盘权限问题,并确定了unity程序有完全的磁盘访问权限

解决方案:
1.转到编辑器的安装位置。
/Applications/Unity/PlaybackEngines/iOSSupport/Trampoline/build/SharedPrecompiledHeaders
2.右键单击“ SharedPrecompiledHeaders”>“显示简介”>共享和权限
3.将“所有人”的权限 更改为“读写”
4.现在可以为以下项目构建项目iOS平台
16.打包安卓后出现网络请求出现无法请求
出现特点
在工程项目内无问题,但是打包安卓以后出现安卓与服务器请求失败,无返回code,抓包无数据请求。
解决方法和原因
因为Android 28以后不允许直接发送明
Android本机API确实允许HTTP,至少可以使用curl库。但是,Java API(这是UnityWebRequest当前在幕后使用的)不允许HTTP。
解决规避方法用其中一种即可
1、需要在清单文件中更新此行android:usesCleartextTraffic =“ true”。
2、通过将目标API级别更改为27,可以绕过此问题。
3、切换到HTTPS
17.当ios打包大量报swiftXX未定义的的情况下
出现特点:

解决方法
https://github.com/mxcl/PromiseKit/issues/1059
根据这个网址的一个人的回答

ios / YourAppName开放。在Xcode中xcodeproj
在左侧的项目导航器中右键单击您的应用程序名称,然后单击New File…
为项目创建一个空的Swift文件(在添加时确保选中了你的应用名称目标)
当Xcode要求时,按下创建桥接头,然后不要删除Swift文件。重新运行您的构建。
这应该可以解决问题
18.unity发布到ios后iphone x、iphone 11等刘海屏,和iphone14pro、14pm灵动岛适配问题
解决方案:上面留黑边,强制画面下拉
在生成的xcode项目中找到UnityAppController.mm文件
在上面增加导入
#import <sys/utsname.h>
在文件内找到函数
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
修改如下:
//[注意一定要注释掉这一句]
//_window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];
//增加iphone异形屏的屏幕适配
CGRect winSize = [UIScreen mainScreen].bounds;
//刘海屏统一修改
if (winSize.size.height / winSize.size.width > 2)
{
winSize.size.height -= 32;
winSize.origin.y = 32;
}
//灵动岛手机 14p、14pm
struct utsname systemInfo;
uname(&systemInfo);
NSString * phoneType = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];
if ([phoneType isEqualToString:@"iPhone15,2"] || [phoneType isEqualToString:@"iPhone15,3"]){
winSize.size.height -= 32*2;
winSize.origin.y = 32*2;
}
_window = [[UIWindow alloc] initWithFrame: winSize];
//增加iphone异形屏的屏幕适配 over
或者把下面两个文件放在Assets/Editor下,在build xcode工程的过程中会自动修改生成的UnityAppController.mm文件,追加上面的代码
注意:必须经过真机测试,自动化可能出现问题
下载地址:
19.ironsource的部分广告元崩溃问题
问题:在接入is sdk后发生应用崩溃,log提示某些东西(如明确哪个广告元的相关log)丢失
解决方案:可考虑尝试重新对接is,包括build的xcode、as工程都删除后重新build
崩溃截图:
Ios

ios时,在podefile里修改
为10.0 然后 在终端pod update 更新Sdk adapter.
android

20.Umeng打点需要等Umeng初始化完成之后才可以打点,否则程序在真机上(目前只试过ios)会崩溃闪退。
21.在提审ios包的时候(我出现此问题是使用transporter工具上传的时候报错),如有遇到xxxx-x86、xxx-x64、x86-64等关键词的报错内容,并不清楚是咋回事的时候,可尝试此解决方案
报错截图

解决方案:
重新打包并关闭**或切换**节点后重新尝试提交,我是在重新打包并关闭**后提交成功
22.Firebase接入A/B Test,build as project打包过程中报错Failed to resolve:xxxxxxx
Firebase不支持unity的gradle template模式,as打包出错,错误内容:

解决方案:

修改为

原因:
EDM试图通过Packages文件夹下的.srcaar生成.aar,但unity不能让外部修改这些文件夹,所有android resolver无法在packages中生成.aar文件,会生成在Assets/GeneratedLocalRepo文件夹下,并且会在mainTemplate.gradle中生成错误本地路径,实际上指定到Assets/GeneratedLocalRepo文件夹下即可解决
注意:
如果Assets/GeneratedLocalRepo文件夹中没有生成的aar文件,可通过EDM的Android Force Resolver重新编译查看是否生成,如果还没有生成,看log解决(一般在黄色警告中)此问题~
如我遇到的这个问题:
提示xxxx.xml文件中的路径不存在(.srcaar相关文件的路径错误),手动改成正确的,重新Resolover即可解决!
23.对接flurry安卓运行报错的问题
报错内容如下:

解决方案:
使用安装谷歌框架的手机+**测试是否正常
24.AF从V4版本升级到V5、V6时出现和is的vungle有冲突的问题

解决方案:

tools:replace="android:fullBackupContent"
android:fullBackupContent="true"

25.接入AF sdk在build过程中报错
No visible @interface for 'AppsFlyerLib' declares the selector 'logLocationEvent:latitude:'
报错截图:

解决方案:
这是AF6.0.1版本自己的bug,更新sdk到最新版即可解决
26.使用终端clone github太慢的解决方案
使用chrome浏览器,安装一个插件【Github 加速器】

下载地址 (不用**)安装很简单,自己搜索。关键字【chrome开发者模式安装插件】
装好后,打开 github 页面, UI如下

这里多了几个通道, 第一个通道在内网下载时被公司拦截了,提示如下:

但第二个没问题, 速度飞快,公司可以上3M的速度,怒赞!
27.Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms
如果确定untiy的sdk配置正确,可尝试
解決方法:下載 tools_r25.2.3-windows.zip(連結代碼:android-tools),解壓縮後把 Android_SDK 目錄中的 tools 資料夾整個取代掉即可。
重启电脑
28.解决AndroidStudio下载gradle慢的问题
当我们升级完成AS后,相应的gradle也会需要升级,使用新版本的AS打开项目时,项目下的gradle/wrapper/gradle-wrapper.properties文件里面的gradle版本会更新成当前AS所匹配的gradle版本。此时AS就一直在刷新项目,其实是在进行蜗牛般的速度下载着gradle。
以我现在的AS为例,我把AS升级到2.3后,相应的gradle版本是gradle-2.14.1,可以通过查看文件gradle-wrapper.properties得知你所需的gradle版本。
1.使用下载工具下载gradle
gradle的官网下载地址是 https://gradle.org/releases,打开网址后下载complete版本的gradle。复制下载链接到迅雷下载即可。
2.替换本地gradle
完全关闭AS,包括正在下载gradle的进程也需要关闭。进入到本地的gradle存储目录,我的MAC是/Users/Seven/.gradle/wrapper/dists,linux系统的话应该是在个人用户目录下。
把gradle-2.14.1-all.zip文件复制到 gradle-2.14.1-all/8bnwg5hd3w55iofp58khbp6yv 目录下,同时把该目录下的其他文件删除掉。这个8bnwg5hd3w55iofp58khbp6yv是由AS自动生成的,不能更改。
重新打开AS,会自动解压并生成文件。至此gradle更新完成。
29.上使用transporter上传ipa,上传成功但是弹出警告WARNING ITMS-90109: "This bundle is invalid. The key UIRequiredDeviceCapabilities in the Info.plist may not contain values that would prevent this application from running on devices that were supported by previous versions. Refer to QA1623 for additional information: Documentation Archive"

解决方案:

删除图中的选中的kv 这里是设备架构 4s以后都是armv7 。
30.unity项目在ios中播放广告时的广告声音和游戏声音重叠的问题
在广告打开的回调里调用
Time.timeScale = 0;//暂停游戏
AudioListener.pause = true;//停止所有音频
广告关闭的回调里调用
Time.timeScale = 1;//恢复游戏
AudioListener.pause = false;//恢复所有音频
其他同事出现此问题后的解决方案如下:
在unity中的build settings的Other Settings中的Mute Other Audio Sources选项不要勾选(默认未勾选,当时出现问题的项目并没有勾选,但是还是有问题)
31.Android Studio打包报错:More than one file was found with OS independent path 'kotlin/collections/MapWithDefault.kotlin_metadata'
清除缓存, clean project, 删build文件夹都没有解决问题.
删除掉之前编译生成的apk就可以了
转载:Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided_MAIMIHO的博客-CSDN博客
上面我测试没用
我的解决方案:
在build.gradle中注释掉下面代码就build成功了
// implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10'
32.unity接入max广告平台后真机运行时调用广告报错(插屏、激励视频)
报错内容关键词为:
ALAdServerAd、adUnitIdentifier、ALAd等错误时
报错截图:


解决方案一:

删除podfile文件中的最后三行
target 'Unity-iPhone' do
end
use_frameworks!
重新pod install后打包即可解决
解决方案二:


unity中的这两个不要勾选,重新build即可~
33.firebase_crashlytics缺失dSYM unity ios
Firebase后台提示缺失dSYM文件的截图

解决方案:
一、找dSYM:
方法一:
打开xcode->window->organizer->选择你的版本包archives->show in finder->显示包内容->里面即可看到.dSYM文件
方法二:
打开终端,运行以下命令行
在您的机器上显示所有 dSYM 的 UUID
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

搜索缺失的UUID,那条的后面即是dSYM文件的路径
为了方便操作,可以复制dSYM文件到桌面,修改文件名为1.dSYM(以下案例使用1.dSYM代替),注意名字中不要包含空格等特殊符号,否则接下来的命令行操作会出现问题
二、验证缺失的UUID是否包含在找到的dSYM中
1.打开终端,然后使用以下命令行
dwarfdump -u [dSYM文件路径]/1.dSYM

即可看到此dSYM中包含的UUID
三.上传dSYM文件到Firebase
1.打开终端,然后使用以下命令行
注意:把[项目 路径]、[GoogleServicePlist.plist 路径]和[DSYMs文件路径]替换为你的正确的路径:
[项目 路径]/Pods/FirebaseCrashlytics/upload-symbols -gsp [GoogleServicePlist.plist 路径]/GoogleService-Info.plist -p ios [DSYMs文件路径]/1.dSYM
2.回车
上传成功后提示
Successfully uploaded Crashlytics symbols
回到Firebase后台刷新查看是否正常
参考资料:《使用 Firebase Crashlytics SDK 获取经过去混淆处理的崩溃报告》
34.Unity3d使用Spine SkeletonGraphic(UGUI)时需要注意的坑,仅安卓真机会出问题!
挂载Skeleton Graphic的物体默认为未激活,然后操作Skeleton Graphic组件时,在安卓真机下会报Null!!!(安卓真机会这样,编辑器情况下不会出现问题!别的情况暂时未测试)
在操作之前尽量使用 gameObject.activeInHierarchy 判定一下是否在激活状态,再进行操作!!!
35.android studio编译报错,关键词mtg、mintegral
报错内容:Unknown host dl-maven-android.mintegral.com'. You may need to adjust the proxy settings in Gradle.

多次尝试多次尝试多次尝试编译即可
1.可配置android studio中的proxy到****尝试编译


2.多次切换****节点编译尝试
36.使用ParticleEffectForUGUI插件后,部分特效出现被剔除的bug

解决方案:Camera中的MASS改为Off,或者ProjectSettings中的Quality中的Anti Aliasing设置为Disabled,即可解决
37.mac安装homebrew
解决网络问题
38.2021 mac安装cocoapods
新电脑安装 cocoapods 遇到 You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Version。查了很多资料
都是以前旧的解决方法。就算执行 sudo gem install -n /usr/local/bin cocoapo 也不会起效。mac自带的ruby目录是不允许修改的,即使是root权限。
解决方法,自行安装ruby,然后将ruby的bin添加到环境配置
1、brew install ruby
2、echo'export PATH="/usr/local/opt/ruby/bin:$PATH"'>> ~/.bash_profile。另外,安装后ruby会提醒配置到.zshrc(对osx无效的)
3、gem install cocoapods。去他的sudo,爱咋咋整。
39.接入maxsdk和fb广告源后,ios在运行时出现FBAdConfigManager、ALSdk、AppLovinSdk ERROR的报错、崩溃,并且不能调用广告
*** Terminating app due to uncaught exception 'FBFinalClassViolationException', reason: 'FBAdconfigManager is a final class and cannot be subclassed. FBAdConfigManager'

[AppLovinSdk] ERROR [ALSdk] Developer passed nil instead of ALAd instance - please check object types!

解决方案:
方案1:
1.unity中取消这个勾选

2.重新build
3.重新pod install
4.重新打包运行测试
方案2:
1.已经buid出来的xcode工程中的podfile中删除
target 'Unity-iPhone' do
end
use_frameworks!
2.重新pod install
3.重新打包运行测试
40.max调试器(MAX Mediation Debugger)中的Ad Review Version报错

解决方案:
最新的max聚合里面取消手动设置Ad Review了,需要找发行要一个AppLovinQualityServiceSetup-ios.rb 的文件(这个文件应该是跟账号绑定,和项目无关,每次找发行要一下没有错)
1.文件放在xcode工程目录下
2.终端cd到xcode工程目录下
3.执行
ruby AppLovinQualityServiceSetup-ios.rb
4.看到下图即成功

5.重新打开xcode打包测试
41.使用max聚合,调用激励视频后没有回调
并且发现激励视频能提前关闭
解决方案:
查看是否激励视频和插屏广告的id是否填写反了
42.as安卓打包报错Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
先看看31.0.0是不是确定已经装了。确定后还不行,就是as版本太新,更改了对31及以上版本打包工具目录的读取方式。解决办法为:
方法一、降低buildTools版本:
build.gradle(:unityLibrary)里的buildTooolsVersion改成31以下版本,并且在File-ProjectStruture-Module里原本填着31的地方改成对应的版本,然后在sdkManager里下载对饮的版本。
方法二、手动更改buildTools31.0.0里的部分文件名
以下两个文件夹内都有名为d8的文件,改成dx即可
~Android\Sdk\build-tools\31.0.0
~Android\Sdk\build-tools\31.0.0\lib
31以上版本同样适用。
43.对接max sdk后,打包ios进入max调试器测试每个广告源,提示需要重启,第二次启动后进入max调试器后app崩溃,并有如下log:
FBAdConfigManager is a final class and cannot be subclassed. FBAdCo
nfigManager
解决方案:
在unity中的ios resolver settings面板这两个都要勾选,并重新build xcode工程后,重新pod install,再build到手机上测试

44.android studio打包过程中报错,报错内容:
Caused by: java.lang.UnsupportedOperationException: This feature requires ASM7
截图:

解决方案:更新Gradle
方法1:

方法2:
1.点击右下角的Gradle升级的小弹窗
如果没出来的话,点击一下Sync Project with Gradle Files,等待结束,再查看右下角是否出现Gradle升级小弹窗(我是不知道其他升级方式,但这样屡试不爽),或者尝试其他升级方式


2.升级后重新build
45.打包到and运行后报错,提示StringEnumConverter相关报错(可能ios也有)
关键词:JsonException: No parameterless constructor defined for 'Newtonsoft.Json.Converters.StringEnumConverter'.

这是因为:
il2cpp的打包方式会自动剥离不用的资源和引用,这里在打包的过程中认为项目中不需要此引用,从json.dll中去掉了StringEnumConverter,只需要在代码中增加如下代码即可,我是放在全局管理器里的Awake中,放在其他地方是否有效不清楚,让unity知道你需要用他
//禁止il2cpp打包方式剥离Json中的StringEnumConverter代码,否则服务器返回的json配置中的enum为string类型时,无法反序列化(android、ios崩溃)
AotHelper.EnsureType<StringEnumConverter>();
或者在
Assets文件夹中新建一个link.xml文件,文件内容如下:
<assembly fullname="JsonDotNet">
<namespace fullname="Newtonsoft.Json" preserve="all"/>
</assembly>
46.解决sourcetree频繁要求输入Git密码的方法
在sourcetree界面打开终端

在终端输入
git config --global credential.helper store
执行完这条命令后,点击拉取一下,这时候会要求输入密码,之后再执行就不用了
47.在xcode中第一次build成功,第二次就会提示如下错误信息,并且打包失败
Cycle in dependencies between targets 'Unity-iPhone' and 'UnityFramework';
building could produce unreliable results. This usually can be resolved by m
oving the target's Headers build phase before Compile Sources.
Cycle path: Unity-iPhone → UnityFramework → Unity-iPhone
Cycle details:
*************************************************
错误截图:

解决方案1:
Clean Build Folder后重新build
解决方案2:

48.在unity接入max sdk后,引入最新的MTG(之前没问题,升级后就不行了)广告元后,as工程打包报错的bug
关键词:Mintegral、max、mtg、android studio
报错内容:
/Users/xxx/.gradle/caches/transforms-2/files-2.1/989bb625a9bd9c43e037d3d88a568dcf/core-1.7.0/res/values/values.xml:105:5-114:25:
AAPT: error: resource android:attr/lStar not found.
报错截图:
解决方案:
gradle中的recyclerview的版本号不要用“+”
改为指定版本号:
重新buid解决
49.unity build为xcode工程后,在打包ipa的签名阶段出现错误
Missing signing identifier at "xxxxxxx/Frameworks/UnityFramework.framework/Frameworks/libswiftAVFoundation.dylib"
截图:

解决方案:
- xcode工程里面的Targets里的UnityFramework设置Team和Unity-iPhone相同
- 但我看之前的工程都没有设置是默认的None,打包也是没问题的,这次遇到这个问题后需要设置Team才能打包,所以这个解决方案是存疑的,但改完之后确定是能打包成功

- xcode工程里面的Targets里的UnityFramework的Build Settings的Always Embed Swift Standard Libraries设置为No(默认是Yes),重新打包即可成功
- 这里发现之前的工程没有这个选项,而此次工程有这个选项,很奇怪不知道为什么,但问题应该是出现在这里
- 之前项目:
- 此次出问题的项目:
50、windows系统下,unity激活总是无法成功时,试试以下方法(尤其是曾经破解过unity的电脑)。
删除 Windows 目录下 C:ProgramData/Unity/Unity_lic.ulf 文件,重新申请即可。
该文件属于 Unity 许可证文件。多数情况下,删除该许可证即可解决问题。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
https://download.csdn.net/download/qq534575060/87061092



所有评论(0)