无法在Xcode上找到带有iOS 8.1.2模拟器的iPad Air 2

时间:2015-01-02 19:12:49

标签: ios xcode ipad

我对Apple审核流程有疑问。他们拒绝了我的应用程序最新版本,因为它在使用iOS 8.1.2的iPad Air 2上运行时出现问题:

"我们发现,在运行iOS 8.1.2的iPad Air 2上,在Wi-Fi和蜂窝网络上查看时,您的应用会出现一个或多个错误,这不符合App Store审核指南" 具体来说,点击续订订阅无法启动(在应用程序中)购买过程,它会取消对话框。"

问题是我在Xcode模拟器中找不到任何iPad Air 2设备。搜索了很多时间的解决方案,但我找不到任何东西。我已尝试卸载Xcode,然后重新安装。什么都没有帮助。 我在Yosemite的Mac Book Air上运行Xcode 6.1.1。 请帮忙。 谢谢Eyal。

2 个答案:

答案 0 :(得分:1)

Apple将使用最新的硬件和软件进行测试。他们使用iPad Air 2的说法支持了这一点。但是,如果您使用最新软件在iPad Air上进行测试,它应该是相同的。

模拟器主要模拟屏幕分辨率和一般设备类型差异。就像iPad和iPhone的处理某些UI类型的方式略有不同。模拟器中没有专门的iPad Air 2,因为在这些方面它与iPad Air 1完全相同。因此它只有iPad Air类别。模拟器不会模拟处理器速度的差异,甚至不能模拟A7和A8之间的差异。对于模拟器,您的代码是为mac处理器编译的。

此外,您无法在模拟器中仅在设备上测试In App Purchases。所以即使那里有一个也不会帮助你。

如果您对物理iPad Air(1)的测试与在物理iPad Air 2上测试IAP的处理方式不同,即使您的测试结果很可能也会相同出去买了一台新的iPad Air 2.所以这也不是解决方案。

我会尝试通过将其编译为Release而不是Debug来测试您的应用。这些是不同的,我发现错误只发生在发布的版本上。在提交应用程序之前,我会记住要经常这样做一次。要更改此设置,请转到显示your app name > iOS Device的左上角,然后右键单击并点击Edit Scheme

Edit Scheme

将Build Configuration从Debug调整为Release for Release。请记住在此测试后将其重新设置。因为对于大多数测试,您希望将其设置为Debug。

您必须检查的唯一另一件事是您仍然在使用沙盒而不是真正的苹果IAP服务器。对我来说,这暂时改变了以下内容:

#ifndef NDEBUG
#define kReceiptValidationURL @"https://sandbox.itunes.apple.com/verifyReceipt"
#else
#define kReceiptValidationURL @"https://sandbox.itunes.apple.com/verifyReceipt"
//#define kReceiptValidationURL @"https://buy.itunes.apple.com/verifyReceipt"
#endif

再次真的想要确保在提交之前将其设置回来。

当你进行这样的测试时,我的猜测是,它的表现与Apple Review团队所说的相同。它将解雇盒子,就像它为他们所做的那样。然后你就可以开始研究原因了。

另外作为旁注,我可以告诉你我在iOS8.1.x下遇到同样的问题。但我的应用程序在8.0下获得批准,我的IAP工作正常。但现在在iOS8.1下,IAP已经不再适用了。一旦找到解决方案,我就会在此发布。如果你找到它,请做同样的事情。谢谢!

答案 1 :(得分:1)

转到Xcode选项 -

1)Windows->设备 - >然后会打开一个窗口。在此窗口的左下角,您将获得+(加号)按钮。单击那里并添加Ipad_Air2模拟器。

或 2)Xcode - >偏好 - >下载 - >现在下载模拟器。