Android集成Apple MusicKit Auth SDK已装应用仍跳转商店问题
Android集成Apple MusicKit Auth SDK 已装应用仍跳转Google Play 解决方案
根因
核心是Android 11(API 30)的包可见性限制导致:
- SDK判断Apple Music是否安装的逻辑是直接调用
PackageManager.getPackageInfo("com.apple.android.music")查询包信息 - 你使用的1.1.2版本SDK自带Manifest里的
<queries>只声明了com.apple.android.musicscheme的intent查询规则,没有声明对应包名的查询权限 - 当项目
targetSdkVersion >= 30时,未声明可见性的包查询会直接抛出NameNotFoundException,SDK误判设备未安装Apple Music,自动触发跳转Google Play的兜底逻辑 - 该问题和你写的认证初始化、结果处理代码无关,代码逻辑完全符合官方要求
修复方法
直接在你项目主模块的AndroidManifest.xml里补充包可见性声明即可,Manifest合并工具会自动把这个配置和SDK自带的配置合并:
<queries> <package android:name="com.apple.android.music" /> </queries>
额外排查点
如果加完配置还是有问题,逐一排查:
- 测试机安装的Apple Music版本号不低于4.0.0,低于该版本不支持SDK的认证deeplink协议,依然会跳商店
- 不要在工作空间/双开空间安装Apple Music,主空间应用无法查询到其他空间的安装包
- 部分国内定制ROM默认开启应用隐藏功能,确认Apple Music没有被设置为隐藏应用
内容的提问来源于stack exchange,提问作者ibrhm117
相关产品推荐
相关产品推荐

