iOS 常见问题
为什么 iOS AppDelegate 的回调方法无法被调用到?
典型场景如下:
- Facebook app 授权登录后,无法调用到 AppDelegate 的
OpenURL
方法。 - Firebase SDK 的自动方法交换失效,无法调用到 AppDelegate 的
didRegisterForRemoteNotificationsWithDeviceToken
方法。
请检查 iOS App 引入的所有第三方库,是否错误地使用了 Objective-C 的自动方法交换等动态特性,导致 AppDelegate 的回调方法执行链中断。已知 GluAppTracking.framework
有此问题,需根据具体的游戏引擎来解决此问题。
为什么 iOS 端无法收到 Facebook 渠道的 Deferred DeepLink?
iOS 端需要将 Facebook app 以及游戏本身的广告追踪都打开,才能正常收到 Deferred DeepLink.
如果其一的广告跟踪功能被关闭,Facebook Deferred DeepLink 功能就无法正常使用。
Facebook app 打开广告追踪:
- 在 Facebook app 弹出 ATT 许可弹窗时点击 允许。
- 或者可手动前往 设置 > 隐私 > 跟踪 然后将 Facebook app 的开关打开。
游戏打开广告追踪:
- 调用接口
RequestTrackingAuthorization
。更多详情,请参见 Unity SDK 或 Unreal Engine SDK 的RequestTrackingAuthorization
接口。
iOS 打包时报错 "Could not find or use auto-linked library. Undefined symbols for architecture arm64"
iOS Swift 模块不能直接添加到 Unreal Engine 中,必须修改引擎配置,添加 bridge 桥接层。
更多详情,请参见 Swift SDK 的桥接。
iOS app 卡在 logo 页面后崩溃 "Watchdog Violation"
Watchdog Violation 是 iOS 系统保护,卡死一段时间后杀死进程。崩溃是因为 Unity Mobile Notifications 和 Firebase SDK 不兼容导致的。
可选择移除 Firebase SDK,或根据 Unity Issue Tracker 里的步骤更新 Unity Mobile Notifications。
更多关于错误的信息,请参见 iOS 15 crash with build on Xcode 13。
Player Network 是否直接依赖 INTLCore 申请的 iOS 敏感权限?
权限说明:
- NSPhotoLibraryUsageDescription - 访问玩家的图库,一般用于选择图片用作玩家头像,或者选择图片/视频来进行分享。
- NSCameraUsageDescription - 使用拍照功能,一般用于拍照上传用作玩家头像,客服系统里面拍照或者录制视频上传。
- NSLocationWhenInUseUsageDescription - 获取玩家位置,一般用于寻找附件的玩家。
- NSPhotoLibraryAddUsageDescription - 往照片库中添加照片,一般用于游戏中保存图片,比如精彩时刻,对局结果等。
- NSMicrophoneUsageDescription - 使用麦克风/录音功能,一般用于游戏内语音沟通。
Player Network 并不直接依赖这些权限。如果游戏有保存图片到图库,或者读取图库的需求,需要保留 NSPhotoLibraryUsageDescription
和 NSPhotoLibraryAddUsageDescription
。
LI PASS 注销账号在打开 H5 页面后,为什么在上传照片时可以直接访问图库而无需授权?
H5 选择照片权限和客户端的照片权限是独立的,游戏通过 H5 页面去打开文件,访问照片,不会发起授权弹窗,会直接被赋予私密访问权限而无需授权。