博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写苹果游戏中心应用程序(翻译 1.4 添加游戏工具包框架)
阅读量:4217 次
发布时间:2019-05-26

本文共 1796 字,大约阅读时间需要 5 分钟。

 

1.4 添加游戏工具包框架

问题

    你建立了工程,并且想要开始在应用程序中结合游戏中心API。

解决方案

    添加游戏工具包框架到应用程序。

讨论

    为了使用游戏中心的能力,你必须链接游戏工具包框架,步骤如下(假设你已经创建了一个Xcode工程):

    1. 在Xcode中点击工程(该工程应当拥有一个青色的图标)。看到工程设置后,点击必须链接到游戏工具包框架的目标。

    2. 在屏幕上方,选择“Build Phases”,然后展开“Link Binary With Libraries”框,如图1-6所示。

图 1-6 iOS应用程序的“Build Phases”

    3. 点击“+”按钮,从列表中选择“GameKit.framework”,然后点击“Add”按钮,如图1-7所示。

图 1-7 添加游戏工具包框架到iOS目标

    现在,游戏工具包就加到工程了。你必须决定是否确实需要使用游戏工具包。版本4.1之前的iOS不支持游戏中心(虽然iOS4.0演示了游戏中心),因此你必须决定游戏中心是必须的还是可选的。

    如果你的应用程序离开游戏中戏就无法工作,那么你必须遵循下面的这些步骤,在 Info.plist文件中明确指定。

    1. 找到Info.plist文件,右键。

    2. 在弹出菜单中选择“Open As”→“Source Code”。

    3. 增加一个叫做UIRequiredDeviceCapabilities的键值,后跟一个array,并包含字符串值gamekit,如下所示:

        <key>UIRequiredDeviceCapabilities</key>

        <array>
            <string>gamekit</string>
        </array>

    如果你的应用程序用到了游戏中心,但游戏中心不是主要的部分,则可以有选择性地加载游戏中心。这么做的步骤如下:

    1. 获取当前的iOS版本。如果它大于4.1,则你可以确信50%,游戏中心有效。

    2. 确定游戏工具包框架中的某个类(如GKLocalPlayer)是否在主机设备中有效。一个正值结果表示主机设备支持游戏中心,而这覆盖了另外的50%。

    组合这两个方法,你可以100%确定给定的设备中游戏中心是否有效。下面是实例代码:

        - (BOOL) gameCenterSupported{

            NSUInteger availabilityPercentage = 0;
            if (NSStringFromClass([GKLocalPlayer class]) != nil){
                availabilityPercentage += 50;
            }
            NSString *systemVersionAsString =
            [[UIDevice currentDevice] systemVersion];
            NSNumber *systemVersion = [NSNumber numberWithDouble:
                                       [systemVersionAsString doubleValue]];
            NSNumber *minimumSystemVersion = [NSNumber numberWithDouble:4.1];
            if ([minimumSystemVersion compare:systemVersion] != NSOrderedDescending){
                availabilityPercentage += 50;
            }
            if ((NSUInteger)availabilityPercentage == 100){
                NSLog(@"Game Center is supported.");
                return YES;
            } else {
                NSLog(@"Game Center is not supported");
                return NO;
            }
        }

    确保你已经导入了游戏工具包的主要头文件:

        #import <GameKit/GameKit.h>

    该代码比较当前系统版本和最小需求版本,确保当前版本更高或相同(升序)。举例来说,4.1(最小需求)后跟4.2(当前版本),是升序,因此我们可以断定,是支持游戏中心的。相应地,4.1(最小需求)后跟4.0(当前版本),是降序,表示当前机器上缺乏对游戏中心的支持。

    现在已经知道主机设备是否支持游戏中心,我们可以继续下一步操作。

转载地址:http://deami.baihongyu.com/

你可能感兴趣的文章
不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例
查看>>
一种实用的联网汽车无线攻击方法及车载安全协议
查看>>
光靠欺骗检测是不够的:对抗多目标跟踪的攻击
查看>>
基于微区块链的V2X地理动态入侵检测
查看>>
面向V2C场景的ADAS数字孪生模型构建方法
查看>>
Comma2k19数据集使用
查看>>
面向自动驾驶车辆验证的抽象仿真场景生成
查看>>
一种应用于GPS反欺骗的基于MLE的RAIM改进方法
查看>>
自动驾驶汽车CAN总线数字孪生建模(二)
查看>>
自动驾驶汽车GPS系统数字孪生建模(一)
查看>>
自动驾驶汽车GPS系统数字孪生建模(二)
查看>>
上海控安入选首批工控安全防护能力贯标咨询机构名单
查看>>
自动驾驶汽车传感器数字孪生建模(一)
查看>>
CUDA 学习(四)、线程
查看>>
CUDA 学习(五)、线程块
查看>>
CUDA 学习(八)、线程块调度
查看>>
CUDA 学习(九)、CUDA 内存
查看>>
CUDA 学习(十一)、共享内存
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十四章 生化尖兵
查看>>
游戏感:虚拟感觉的游戏设计师指南——第十五章 超级马里奥64
查看>>