# SDK_OpenSDK **Repository Path**: crazytone/SDK_OpenSDK ## Basic Information - **Project Name**: SDK_OpenSDK - **Description**: OpenSDK接入SuperSDK - **Primary Language**: Objective-C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-05-15 - **Last Updated**: 2023-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SDK_OpenSDK #### 项目介绍 OpenSDK+SuperSDK OpenSDK包含多个(登录、支付)子模块,游戏方根据需要选择接入。具体请参考OpenSDK文档的[简介](https://gitee.com/wyky_ios/OpenSDK/blob/master/README.md) ##### 导入 1. 安装CocoaPods 2. 在项目根目录,输入`pod init`命令,创建Podfile 3. Podfile内容如下: ``` # Uncomment the next line to define a global platform for your project install! 'cocoapods', :deterministic_uuids => false source 'https://gitee.com/wyky_ios/Spec.git' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' target '你的项目名' do #指定SuperSDK资源 pod 'YCSuperSDK' #指定OpenSDK资源、子模块(根据需要指定子模块) pod 'YCOpenSDK', :subspecs => ['Framework', 'ApplePay'] #指定接入代码资源 pod 'SDK_OpenSDK' end ``` 5. 输入`pod install`命令,安装相关依赖 6. 打开新生成的.xcworkspace,进行后续的开发和调试 #### Info.plist配置 1. 添加SuperSDK相关参数的配置SSDKConfig ``` SSDKConfig IS_LANDSCAPE REMOTE_SDKCONFIG_ENABLE SDK_CLASS SSDKOpenSDK SDK_INNER_VERSION SuperSDK版本号,如0.0.4 SDK_VERSION 渠道资源版本号,如0.0.6 SSDK_CHANNEL_ID SuperSDK渠道号,如IOS0002 SSDK_FRAMEWORK_VERSION 接入资源版本号,如0.0.2 SURL SuperSDK服务器域名 ``` 如果某些参数不清楚,游戏方可以联系SuperSDK相关人员 2. 添加OpenSDK相关参数的配置OpenSDKConfig,[具体参考OpenSDK文档](具体请参考OpenSDK文档的[简介](https://gitee.com/wyky_ios/OpenSDK#infoplist%E9%85%8D%E7%BD%AE) #### 工程配置 1. 在Build Settings -> Enable Bitcode设置成No #### OpenSDK第三方支付配置 请参考OpenSDK文档的[第三方支付配置](https://gitee.com/wyky_ios/OpenSDK/blob/master/README.md) #### 接入SuperSDK,要求修改项目的Application文件 ``` #import “YCSuperSDK/libSuperSDK.h" //在appDelegate中的对应函数中添加如下代码 - (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo { [SuperSDK application:application didReceiveRemoteNotification:userInfo]; } - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { [SuperSDK application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; } - (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error { [SuperSDK application:application didFailToRegisterForRemoteNotificationsWithError:error]; } - (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation { [SuperSDK application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; return YES; } - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { [SuperSDK application:application didFinishLaunchingWithOptions:launchOptions]; return YES; } - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [SuperSDK application:application handleOpenURL:url]; } - (void)applicationDidEnterBackground:(UIApplication*)application { [SuperSDK applicationDidEnterBackground:application]; } - (void)applicationWillEnterForeground:(UIApplication*)application { [SuperSDK applicationWillEnterForeground:application]; } - (void)applicationDidBecomeActive:(UIApplication*)application { [SuperSDK applicationDidBecomeActive:application]; } - (BOOL) application:(id)app openURL:(NSURL *)url options:(NSDictionary *)options { return [SuperSDK application:app openURL:url options:options]; } - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings { [SuperSDK application:application didRegisterUserNotificationSettings:notificationSettings]; } - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler { [SuperSDK application:application continueUserActivity:userActivity]; return YES; } ``` #### Unity方式接入SuperSDK 如果接入方是以Unity方式接入SuperSDK,请将SuperSDKConnector.h和SuperSDKConnector.m文件,添加进工程中。这2个文件主要包含了SuperSDK的IOS端和Unity端的交互逻辑。 文件下载地址:https://gitee.com/wyky_ios/SuperSDK/tree/master/Unity #### 作者 - wangxudong - jasontujun