iOS游戏集成SDK所需的配置和初始化工作
1.设置开发环境
2.初始化SDK
3.注意事项
3.1.常见编译问题
3.2.兼容iOS9
3.3.兼容iOS7以下设备
3.4.兼容iOS10
3.5.社区屏幕方向
1.设置开发环境
第1步 下载SDK
- 下载并解压SDK到本地目录
第2步 配置Xcode工程
为简化配置流程,SDK提供脚本,自动添加必要的系统Framework和工程配置选项。
- 进入Utils文件夹, 打开终端并执行apply2xcode.sh,参数是你XCODE工程.xcodeproj文件的路径
./apply2xcode.sh "your xcode .xcodeproj path"
第3步 添加KTplay SDK
- 添加 KTplay SDK到游戏工程
2.初始化SDK
#import "KTPlay.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
KTPlay startWithAppKey:@"2na1elK" appSecret:@"3e8bbe12d983b8d1cdc174f49d7a8448613af078"];
//...
return YES;
}
3.注意事项
3.1 常见编译问题
-
三方库重复, KTplay使用到的三方库放置在KTPlaySDK/Libraries目录下,如果你的游戏工程也在使用相同的库,删除KTplay的即可。
-
KTPlay提供的工程配置脚本apply2xcode.sh会追加-ObjC到Link选项Other Linker Flags,如果由此导致工程Build失败,请移除-ObjC,并用以下方案中的任意一个替代:
- 使用-all_load
- 使用-force_load选项,根据需求分别装载KTPlay的类库
3.2 允许http链接 (兼容iOS9)
- 在项目的info.plist文件中添加字段: NSAppTransportSecurity,类型为Dictionary。
- 在NSAppTransportSecurity中添加字段: NSAllowsArbitraryLoads,类型为Boolean,值为YES。
你也可以直接编辑plist源码(Open As Source Code)实现同样的功能
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
3.3 兼容iOS9以下的设备
- KTplay 运行在iOS9.0以下时将不会被显示
设置下面的Framework为Optional
-
UIKit.framework
-
Foundation.framework
-
CoreFoundation.framework
-
Photo.framework
-
CoreTelephony.framework
XCODE工程中选择你的Target,进入Build Phase - Link Binary With Libraries,找到相应的Framework,设置状态为Optional
3.4 隐私设置
iOS10之后,苹果进一步完善隐私设置,使用相册权限时,你需要在你工程的Info.plist文件中配置NSPhotoLibraryUsageDescription来描述相册的具体用途,如果不配置使用相册时会崩溃。
- 在项目的info.plist文件中添加字段: NSPhotoLibraryUsageDescription,类型为String。值为“允许游戏使用你的系统相薄,用于分享图片和视频内容给其他玩家。”
你也可以直接编辑plist源码(Open As Source Code)实现同样的功能
<key>NSPhotoLibraryUsageDescription</key>
<string>允许游戏使用你的系统相薄,用于分享图片和视频内容给其他玩家。</string>
iOS11(Xcode9)之后,苹果进一步完善隐私设置,使用相册写权限时,你需要在你工程的Info.plist文件中配置NSPhotoLibraryAddUsageDescription来描述相册的具体用途,如果不配置写入相册时会崩溃。
- 在项目的info.plist文件中添加字段: NSPhotoLibraryAddUsageDescription,类型为String。值为“允许游戏使用你的系统相薄,用于存储图片。”
你也可以直接编辑plist源码(Open As Source Code)实现同样的功能
<key>NSPhotoLibraryAddUsageDescription</key>
<string>允许游戏使用你的系统相薄,用于存储图片。</string>
3.5 社区屏幕方向
-
打开工程的info.plist文件 (Open As Property List)
- 添加 ktplay_config 类型 Dictionary,
- 添加 ktplay_config:lock_orientation:, 类型String, 值landscape 或者 portrait.
Source Code
<key>ktplay_config</key> <dict> <key>lock_orientation</key> <string>portrait</string> </dict>
0 评论