【问题标题】:Universal Application for IPhone/Ipod Touch 4th gen only + IPad仅适用于 iPhone/Ipod Touch 4th gen + iPad 的通用应用程序
【发布时间】:2011-06-06 15:05:31
【问题描述】:

我正在开发一个通用应用程序,该应用程序仅用于 Retina 显示屏 iPhone/IPod 触控设备 + IPad。如何在 plist 或我的应用程序/二进制文件中的其他任何地方指定它?

UIRequiredDeviceCapabilities 对这两种设备都不起作用,因为我可以指定我需要front-facing-camera 用于 iPhone/IPod,但这会排除 iPad 1。

【问题讨论】:

  • 为什么您绝对需要设备配备 Retina 显示器?
  • 它在非视网膜显示器上看起来不够好。这是一款游戏,我们只是不想提供次优体验,即使我们会因此失去一些买家。
  • 我不确定这是否可行;如您所知,4.0.x + 可用于 3GS/4/Pad 等,虽然有代码可以检测视网膜显示器是否可用,但在上传到 iTunes 时该选项不存在。我认为现在是不行的。
  • 是的,不幸的是它看起来无法完成

标签: iphone ios ipad universal-binary


【解决方案1】:

这是不可能的。 UIRequiredDeviceCapabilities 应该用于限制您的应用/游戏真正需要或排除的功能,它并不意味着仅仅因为开发人员不想支持它们而限制特定的设备集。因此,基本上您在设计时应始终牢记当前正在更新到上一个操作系统的所有设备。

【讨论】:

    【解决方案2】:

    我真的不建议这样做,但你可以找出它是什么设备,然后如果 isCorrectDevice 方法返回 true,则加载你的应用程序:

    - (BOOL) isCorrectDevice
    {
        size_t size;
        sysctlbyname("hw.machine", NULL, &size, NULL, 0);
        char *machine = malloc(size);
        sysctlbyname("hw.machine", machine, &size, NULL, 0);
        NSString *platform = [NSString stringWithCString:machine];
        free(machine);
    
        if ([platform isEqualToString:@"iPhone3,1"] ||
            [platform isEqualToString:@"iPhone3,2"] ||
            [platform isEqualToString:@"iPod4,1"] ||
            [platform isEqualToString:@"iPad1,1"] ||
            [platform isEqualToString:@"iPad2,1"] ||
            [platform isEqualToString:@"iPad2,2"] ||
            [platform isEqualToString:@"iPad2,3"])
            return true;
        else
            return false;
    }
    

    这样做有一些问题。一个是,一旦 Apple 发布新设备,这将是过时的,并且不会包含较新的设备;而且,这不会阻止其他设备的用户下载它。我想您可以加载一个显示“仅在...上可用”的屏幕?只是一个想法。

    【讨论】:

    • 感谢您,但我们真正想要避免的是用户下载该应用程序。
    • 是的,我想通了。令人讨厌的是,这可能是您唯一的选择。您总是可以在开始时产生一个启动画面,说“针对视网膜显示进行了优化”;)
    • :) 我们正在为 3GS 修复它,它没有预期的那么难,但它看起来肯定不像我们想要的那样。
    • 我发现 3GS 之前的设备不能很好地运行 4.0 并且大多数用户将使用 3.x! 3GS 绝对是一款值得测试的产品!
    • 我们连一个都没有!我们今天借了一台,目前看起来还不错,我们只支持 iOS 4.1,所以旧设备不会有问题
    猜你喜欢
    • 2012-06-18
    • 1970-01-01
    • 2012-04-18
    • 2012-03-13
    • 1970-01-01
    • 2011-05-04
    • 2015-10-29
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多