Skip to content

iOS 海外老项目迁移文档

资源模块引用说明

注意:在引入新 SDK 之前需先删除项目中之前存在的老 SDK 以及一些依赖库和模块。以下是需要删除的资源(如果工程中未引入 acces_hoolai 文件夹下一些模块忽略即可)。channel_config.json 同样需要进行删除操作。

图:导入示例

迁移 SDK 资源下载方式

WARNING

🚅 迁移资源SDK1.0.14(1.0.14/1424-global)
在开始接入前请仔细阅读 AccessSDK.h 方法,对应的一些方法已弃用。

  • 资源下载好进行解压导入 access_core 文件夹下的所有资源导入工程中(基础,必引入

图:导入示例

模块资源说明

  • libplatform-account-sdk.a —— 账号模块(SDK 核心模块,必引入)
  • libplatform-global-account.a ---- 海外登录模块(必引入)
  • libplatform-alhelpservice.a —— 客服模块
  • libplatform-analysys.a —— 方舟模块
  • libplatform-applelogin.a—— 苹果登录模块
  • libplatform-appsflyer.a —— AppsFlyer 模块
  • libplatform-cloudlogproducer.a —— 网络报送模块
  • libplatform-crashsight.a —— CrashSight 模块
  • libplatform-facebooklogin.a —— FaceBook 登录模块
  • libplatform-facebookshare.a —— FaceBook 分享模块
  • libplatform-firebase.a —— Firebase 模块
  • libplatform-googlelogin.a —— Google 登录模块
  • libplatform-openinstall.a —— Openinstall 模块
  • libplatform-pay-sdk.a —— ApplePay 模块

模块引入及配置说明(必看)

  • 在引入模块之前务必在项目 Info->URL Types->URL Schemes 设置 accesssdk+channelId,否则将导致初始化失败!
  • channelId 需跟运营获取。

  • 注意事项:如果同时接入 Facebook 登录模块、Facebook 分享模块,对应的模块文件夹 libs 只需引入一个其中一个即可。
  • 需在 info 里把对应的 View controller-based status bar appearance 权限设置为 YES

SDK 接入环境搭建

系统 framework 引入

  • 请在游戏工程中添加以下系统 Framework
  • StoreKit.framework
  • WebKit.framework
  • Network.framework
  • SystemConfiguration.framework
  • AppTrackingTransparency.framework
  • AdSupport.framwork
  • CoreTelephony.framework
  • iAd.framework
  • AdServices.framework
  • libz.tbd
  • libc++.tbd
  • libresolv.tbd

引入配置文件

  • 文件名:access.config
  • 配置文件引入方法: 同引入通用资源
  • 资源通过运营获取

项目参数配置

  • info.plist 文件中添加如下配置(用来申请获取 IDFA 权限:描述一般为:'游戏名'想访问您的设备标识符(IDFA)用于广告追踪),如图所示:

  • 点击项目 target,选择 Build Setting tab 页,搜索 Other Linker Flags,双击后点击加号,添加为-ObjC 即可,已经添加过不用再添加。效果如图 1-2 所示

  • 在 Info.plist 中配置 Privacy - Photo Library Additions Usage Description 项,类型选择 String,值为:将要访问您的相册

  • 在 Info.plist 中配置 http 网络访问的支持,配置 App Transport Security Settings 项,类型为 Dictoionary,然后配置子项 Allow Arbitrary Loads,类型为 Boolean,值为 Yes

SDK 初始化

导入 SDK 头文件

objective-c
#import <AccessSDK/AccessAppDelegate.h>
#import <AccessSDK/AccessSDK.h>
#import <AccessSDK/UserExtDataKeys.h>
objective-c
#import <UIKit/UIKit.h>
#import <AccessSDK/AccessAppDelegate.h>
@interface AppDelegate :AccessAppDelegate
@property (nonatomic, strong) UIWindow *window;
@end
objective-c
@interface AppDelegate ()<InitCallback,UserCallback,PayCallback,ShareCallback>

@end

@implementation AppDelegate

@synthesize  window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController = [[ViewController alloc]init];
    [self.window makeKeyAndVisible];
    [[AccessSDK sharedInstance]initSDK];
    return [super application:application didFinishLaunchingWithOptions:launchOptions];
}

Hoolai Access SDK