问题
- 调用
GKLocalPlayer.Local.FetchItems()
程序崩溃,报错:Thread 1: EXC_BAD_ACCESS (code=257, address=0x8000000000000002)
- 启动崩溃,报错:
Library not loaded: @rpath/AppleCoreNative.framework/AppleCoreNative
问题原因
苹果官方提供的库,直接编译后,会在调用 GKLocalPlayer.Local.FetchItems()
时崩溃。
https://github.com/apple/unityplugins
编译库的时候遇到Unity版本不匹配问题,我尝试了应该可以通过修改源码这里的Unity版本解决掉。但是即使编译出来的包也是无法使用的,可能会造成上面两种崩溃
解决方案
大神已经帮助我们找到问题了。
使用如下命令,解决掉了苹果插件的问题的Commit。
https://github.com/muZZkat/unityplugins
git clone https://github.com/dodgy-ltd/apple-unityplugins.git
cd apple-unityplugins
git remote add muzzkat https://github.com/muZZkat/unityplugins.git
git fetch muzzkat
git merge muzzkat/muzzkat/fix-fetch-items
下载完源码后,根据苹果文档编译源码得到Unity插件包
https://github.com/apple/unityplugins/blob/main/Documentation/Quickstart.md
这个大神已经提了PR,但是没有被合并。目前的方案就用上面的命令
解决方案来自网上
https://forum.unity.com/threads/apple-unity-plugins-crashing-on-authentication.1450414/
文章来源:https://www.toymoban.com/news/detail-793991.html
可直接使用的UnityPlugins
为了编译源码,防止版本不兼容,专门下载了 2020.3.33f1版本的Unity,现将编译后的插件提供在如下仓库,有需要可以直接使用。笔者项目使用的2022Unity,也是兼容的。
https://github.com/liuyongjiesail/AppleUnityPlugins文章来源地址https://www.toymoban.com/news/detail-793991.html
到了这里,关于Apple Unity Plugins 接入GameCenter 崩溃解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!