iOS

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 兼容iOS7以下的设备

  • KTplay 运行在ios7下时将不会被显示

设置下面的Framework为Optional

  • UIKit.framework

  • Foundation.framework

  • CoreFoundation.framework

  • Photo.framework

  • CoreTelephony.framework

XCODE工程中选择你的Target,进入Build Phase - Link Binary With Libraries,找到相应的Framework,设置状态为Optional

iOS Framework listing

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 评论

登录写评论。