Ios 仅适用于iPhone的应用程序

Ios 仅适用于iPhone的应用程序,ios,xcode,Ios,Xcode,我的应用被拒绝了,因为它在iPad上崩溃了。 老实说,它应该会崩溃,因为它没有我的应用程序用来发送信息的sim卡。我已经在我的构建中制作了设备:iphone和部署目标iphone。然而出于某种原因,苹果公司的员工仍然试图在iPad上运行它。我怎样才能使我的应用程序只适用于iPhone?没有理由捕捉异常并尝试在iPad或iPod touch上运行,因为大多数应用程序功能都包含发送短信。。 我该怎么办?如何确保应用程序只在iPhone上运行,而不是在iPad或iPod touch上运行我认为一个选择

我的应用被拒绝了,因为它在iPad上崩溃了。 老实说,它应该会崩溃,因为它没有我的应用程序用来发送信息的sim卡。我已经在我的构建中制作了设备:iphone和部署目标iphone。然而出于某种原因,苹果公司的员工仍然试图在iPad上运行它。我怎样才能使我的应用程序只适用于iPhone?没有理由捕捉异常并尝试在iPad或iPod touch上运行,因为大多数应用程序功能都包含发送短信。。
我该怎么办?如何确保应用程序只在iPhone上运行,而不是在iPad或iPod touch上运行我认为一个选择是在application info.plist中提供
UIRequiredDeviceCapabilities
标志。 您可以提供
电话
短信
,因此它应该过滤掉没有sim卡的设备

UIRequiredDeviceCapabilities-应用商店使用此键确定应用程序的功能,并防止其丢失 安装在不支持应用程序所需功能的设备上

如果您阅读上述pdf(第93页)中的应用程序相关资源部分,应该会更好

根据上述文件

如果您的应用程序需要特定设备的存在或不存在 为了运行,您必须声明这些需求 在应用程序的Info.plist中使用UIRequiredDeviceCapabilities键 文件在运行时,iOS无法启动您的应用程序,除非 设备上存在功能。此外,应用商店 需要此信息,以便生成 对用户设备的要求,并阻止用户下载应用程序 他们不能跑

它说,iOS在启动之前会检查所需的设备功能。所以我认为你没有任何问题。关于模拟器,我不确定上述是否适用于他们,因为我们甚至可以在模拟器中模拟来电(你们知道模拟器并没有sim卡)。所以我不确定模拟器在这种情况下对您有多大帮助

还有一件事,苹果只会拒绝在非sim设备上运行时崩溃的应用程序。苹果总是批准一个在使用前优雅地检查设备功能是否存在的应用程序。在使用sms功能之前,您可以检查设备是否可以发送sms

if([MFMessageComposeViewController canSendText]){
  // send sms
}

如果无法发送sms,则显示一个提示框,指示相同的情况。只需两行代码,但头痛和紧张感会减少。

我认为一种选择是在application info.plist中提供
UIRequiredDeviceCapabilities
标志。 您可以提供
电话
短信
,因此它应该过滤掉没有sim卡的设备

UIRequiredDeviceCapabilities-应用商店使用此键确定应用程序的功能,并防止其丢失 安装在不支持应用程序所需功能的设备上

如果您阅读上述pdf(第93页)中的应用程序相关资源部分,应该会更好

根据上述文件

如果您的应用程序需要特定设备的存在或不存在 为了运行,您必须声明这些需求 在应用程序的Info.plist中使用UIRequiredDeviceCapabilities键 文件在运行时,iOS无法启动您的应用程序,除非 设备上存在功能。此外,应用商店 需要此信息,以便生成 对用户设备的要求,并阻止用户下载应用程序 他们不能跑

它说,iOS在启动之前会检查所需的设备功能。所以我认为你没有任何问题。关于模拟器,我不确定上述是否适用于他们,因为我们甚至可以在模拟器中模拟来电(你们知道模拟器并没有sim卡)。所以我不确定模拟器在这种情况下对您有多大帮助

还有一件事,苹果只会拒绝在非sim设备上运行时崩溃的应用程序。苹果总是批准一个在使用前优雅地检查设备功能是否存在的应用程序。在使用sms功能之前,您可以检查设备是否可以发送sms

if([MFMessageComposeViewController canSendText]){
  // send sms
}

如果无法发送sms,则显示一个提示框,指示相同的情况。只有两行代码,但头痛和紧张感较少。

您是否指定了适当的代码,例如
电话
短信
?您是否指定了适当的,例如,
telephony
sms
?非常简单的解决方案。+1回答得好:)感谢您提供了宝贵的信息和链接。我是否仍然可以在模拟器上使用这些标志运行应用程序?我没有iPad或iPod设备来测试。我没有iPad或iPod设备。您是否将iPod touch作为使用sim卡的应用程序的目标?我只想在重新提交之前确保,我不会将我的应用程序安装在没有sim卡的iPad或iPod上。由于我没有这两种设备,我在问模拟器是测试这一点的正确方法吗?非常简单的解决方案。+1回答得很好:)感谢提供有价值的信息和链接。我是否仍然能够在模拟器上使用这些标志运行应用程序?我没有iPad或iPod设备来测试。我没有iPad或iPod设备。您是否将iPod touch作为使用sim卡的应用程序的目标?我只想在重新提交之前确保,我不会将我的应用程序安装在没有sim卡的iPad或iPod上。由于我没有这两种设备,我想问的是,模拟器是测试这一点的正确方法吗?