iOS
本指南解释了安装 Hive SDK 后需要执行的任务。
设置访问权限¶
安装Hive SDK后,向Info.plist添加密钥以获取相机、照片库和跟踪的访问权限。
- 在Xcode项目窗口的项目导航器中选择您的项目。
- 从TARGETS列表中选择您的应用。
- 点击Info选项卡。
- 在Info选项卡中点击Custom iOS Target Properties部分。
- 右键点击Custom iOS Target Properties列表。
- 点击Add Row菜单。
- 在Key字段中输入NSCameraUsageDescription,并在Value字段中添加多语言设置文件 > Base.Iproj文件夹 > InfoPlist.strings中指定的值。
- 对NSPhotoLibraryUsageDescription和NSUserTrackingUsageDescription键重复步骤6-7。
设置访问权限时,请牢记以下几点:
- 根据多语言设置文件,写一条请求游戏用户权限的消息。如果您没有输入权限请求弹出消息,将省略用户访问权限使用的额外说明指导,并且您的应用可能在应用审核期间被拒绝。
- NSPhotoLibraryUsageDescription、NSCameraUsageDescription 和 NSUserTrackingUsageDescription 键的相应值必须告知用户权限使用的目的,并且只能在用户允许的情况下使用,符合苹果公司的法律要求指南。多语言设置文件提供每种语言的弹出短语,以告知用户请求的目的,并在需要照片库、相机和跟踪权限时允许使用。
- 如果您应用更新后的 Permission.strings 文件,您还必须更改相应的文件。否则,您的应用可能在 App Store 上传阶段被拒绝。
如果由于权限或其他问题,Apple 登录选项未出现在功能列表中,请在 Apple 开发者控制台中激活 Apple 登录项目。应用更新的配置文件后,重复步骤 4-6 以添加 IdP。
Warning
在实现“使用 Apple 登录”功能后,请确保将其添加到身份提供者连接状态信息。
应用 HIVEAppDelegate¶
这是启动应用程序的配置,包括用户参与、应用链接、推送通知等。在AppDelegate.m文件的application:didFinishLaunchingWithOptions:
API中,调用Hive平台提供的application:didFinishLaunchingWithOptions:
API。
API 参考: didFinishLaunchingWithOptions
import HIVEService
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
return HIVEAppDelegate.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
API 参考: didFinishLaunchingWithOptions
#import <HIVEService/HIVEService-Swift.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [HIVEAppDelegate application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
设置钥匙串(可选)¶
如果您的应用使用 KeyChain-GroupSharing 功能,则在安装 Hive SDK 后需要设置 KeyChain 组。如果您不使用 KeyChain-GroupSharing,则无需进行其他配置。Hive SDK 在 iOS 目标上使用 KeyChain。
Warning
如果您已经在使用 KeyChain-GroupShare 功能,请不要删除或更改名字。删除或更改它将阻止访问存储在应用中的现有 Hive 配置数据,从而导致类似于数据删除的重置状态。