iOS应用程序下载限制根据屏幕大小

时间:2013-12-18 14:40:41

标签: iphone ios7

我希望我的应用程序只能下载到4英寸屏幕iPhone上。   - AppStore在提交应用程序时是否有这样的限制?

如果一个程序员可以在代码中提到这个限制,请帮我怎么做?

2 个答案:

答案 0 :(得分:0)

不幸的是,你做不到。 但您可以通过发出“不支持的设备”的警报进行限制 在应用初始化期间使用设备大小[UIScreen mainScreen] bounds].size。 至少我们提示用户说明,此设备不支持!

答案 1 :(得分:0)

您无法直接在XCode上进行此操作,但您可以检查设备类型以了解用户正在使用的设备:如果是普通的iPhone,您可以显示礼节性消息。

以下是我在我的应用程序中使用的代码:

<强> DeviceCheck.h

#define isIPad     ([DeviceCheck getDeviceType] == DeviceTypeIPad)
#define isIPhone   ([DeviceCheck getDeviceType] == DeviceTypeIPhone)
#define isIPhone5  ([DeviceCheck getDeviceType] == DeviceTypeIPhone5)

enum {
    DeviceTypeIPad,
    DeviceTypeIPhone,
    DeviceTypeIPhone5
}; typedef NSUInteger DeviceType;


@interface DeviceCheck : NSObject

    + (DeviceType)getDeviceType;

@end

<强> DeviceCheck.m

#import "DeviceCheck.h"

static DeviceType _type = -1;


@implementation DeviceCheck

+ (DeviceType)getDeviceType {

    if(_type == -1) {
        _type = DeviceTypeIPad;
        CGFloat pixelHeight = CGRectGetHeight([UIScreen mainScreen].bounds);

        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
            if (pixelHeight == 480.0f)      { _type = DeviceTypeIPhone; }
            else if (pixelHeight == 568.0f) { _type = DeviceTypeIPhone5; }
        }
    }

    return _type;
}

@end

现在,在您的应用程序中,您可以使用以下简单的cose检查设备:

if(isIPad)         { NSLog(@"I'm an iPad"); }
else if(isIPhone)  { NSLog(@"I'm an iPhone 4 / iPhone 4s"); }
else if(isIPhone5) { NSLog(@"I'm an iPhone 5 / iPhone 5c / iPhone 5s"); }