第一代iPhone和iPod Touch上的GameKit和GKPeerPicker

时间:2009-09-23 04:05:12

标签: iphone iphone-sdk-3.0 bluetooth p2p gamekit

这是我目前针对多人游戏的设置:

提供连接提示的视图,并警告用户多人游戏无法在第一代iPhone或ipod Touch上运行。有一个“连接”按钮,可以推动游戏视图并启动GKPeerPicker。

不幸的是,我没有第一代iPhone或iPod Touch来测试按下连接按钮会发生什么。该视图将被推送,但我不知道当PeerPicker试图显示时会发生什么。

所以问题:

有没有告诉用户是否无法使用GameKit以便我可以禁用“连接”按钮?

如果按下连接按钮并且GameKit不可用,会发生什么?

2 个答案:

答案 0 :(得分:1)

您可以找到运行您的应用程序的iPhone或iPod Touch的型号,然后禁用该功能,如果它不是可接受的iPhone / iPod类型。

为此,您可以将以下内容添加到您的应用程序中:

#import <sys/utsname.h>

- (NSString *) machineModel {
    struct utsname systemInfo;
    uname (&systemInfo);
    return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}

致电NSLog(@"Type: %@", [self machineModel])将为您提供hardware model

答案 1 :(得分:1)

如果您完全不希望应用程序在不受支持的硬件上运行,请使用peer-peer值作为UIRequiredDeviceCapabilitiesInfo.plist键的成员。我很确定您也可以在提交应用时使用iTunes Connect进行设置。有关iPhone应用程序编程指南的Device Support部分的更多信息。

当然,如果你的应用程序可以使用wifi和蓝牙,那么你不想这样做,因为你实际上可以在第一代iPhone和触摸上运行。