XCode 15 以上版本编译后,在 iOS 12 及以下设备上出现崩溃问题
在项目编译选项中添加 -Wl,-ld_classic 配置。
Xcode15新建项目并且引入pod库后,编译报错 Sandbox:rsync.sanba deny(1) file-write-create xxx
解决办法:Build Settings 搜索 sandbox,把 Build Options 中的 User Script Sandboxing改为 NO。
Apple M 系列芯片电脑模拟器运行异常
当前 SDK 版本对于 M 系列芯片电脑模拟器上运行需要通过 Rosetta 运行。
xcode14之前:
我们可以右键 xcode > 显示简介 > 勾选使用 Rosetta 打开,这样就是在模拟器上运行了。
xcode14后:
xcode 打开项目 > Product > Destination > Destination Architectures 可以选择用哪种模式的模拟器打开。
我们选择 (Rosetta)结尾的模拟器即可。
在执行下载、打开、搜索小程序等功能产生问题时,SDK会抛出错误码,可根据错误码判断出现问题是在网关、后台还是SDK等阶段。
网关报错
日志中包含了TMFSharkXXX相关的报错,则问题出现在网关,常见的有:
TMFSharkTaskErrorDomain
TMFSharkDataAccessLayerErrorDomain
TMFSharkRequestErrorDomain
后台服务报错
日志中包含了TMAMiniAppErrorDomain相关的报错,则问题很大可能出现在小程序后台,常见的有:
TMAMiniAppErrorFileMd5VerifyFail -- 小程序包的md5验证不通过
TMAMiniAppErrorConfigInitError -- 初始化信息错误或者未初始化,检查配置文件
TMAMiniAppErrorJSSDKDownloadFail -- 小程序基础库下载失败
TMAMiniAppErrorErrorLink -- 错误的小程序链接
SDK报错
日志中包含了MFMiniApp Error并且未包含TMFSharkXXX和TMAMiniAppErrorDomain错误,则问题可能出现在控制台相关配置,常见的有:
域名黑名单:appID(appName)skipDomainCheck,but url:(domainUrl)is in black list,搜索日志中关键字"skipDomainCheck,but url:"即可确认域名黑名单问题。
域名白名单:appID(appName) check url in domainList, result is 0,搜索关键字"in domainList, result is "即可确认域名白名单问题。
隐私api:在调用一些敏感API(如chooseLocation、getLocation、choosePoi等),并且在控制台配置了应用和小程序相关权限管理,若出现“PluginEngine |eventName(chooseLocation) fail. no permission”相关报错,则是需要对小程序打开对应的权限。