简体   繁体   English

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

[英]Can't find iPad Air 2 with iOS 8.1.2 simulator on Xcode

I'm having a problem with the Apple review process. 我在Apple审核流程中遇到了问题。 They rejected my app newest version because it had an issue when running on iPad Air 2 with iOS 8.1.2: 他们拒绝了我的应用程序最新版本,因为它在使用iOS 8.1.2的iPad Air 2上运行时出现问题:

"We found that your app exhibited one or more bugs, when reviewed on iPad Air 2 running iOS 8.1.2, on both Wi-Fi and cellular networks, which is not in compliance with the App Store Review Guidelines." “我们发现,在运行iOS 8.1.2的iPad Air 2上,在Wi-Fi和蜂窝网络上查看时,您的应用程序出现了一个或多个错误,这不符合App Store审查指南。” Specifically, tapping Renew Subscription does not start the (In App) purchase process, it dismisses the dialogue box." 具体而言,点击续订订阅无法启动(In App)购买流程,它会取消对话框。“

The problem is that I can't find any iPad Air 2 devices in my Xcode simulator. 问题是我在Xcode模拟器中找不到任何iPad Air 2设备。 Searched for a solution for a lot of time but I couldn't find anything. 搜索了很多时间的解决方案,但我找不到任何东西。 I've tried to uninstall Xcode and then reinstall it again. 我试图卸载Xcode,然后重新安装它。 Nothing helped. 什么都没有帮助。 I'm running Xcode 6.1.1 on Mac Book Air with Yosemite. 我正在使用Yosemite在Mac Book Air上运行Xcode 6.1.1。 Please help. 请帮忙。 Thanks Eyal. 谢谢Eyal。

Apple is going to test using the latest hardware and software. Apple将使用最新的硬件和软件进行测试。 Their statement that they used an iPad Air 2 backs this up. 他们使用iPad Air 2的说法支持了这一点。 However if you test it on an iPad Air with the latest software it should be the same. 但是,如果您使用最新软件在iPad Air上进行测试,它应该是相同的。

The simulator mostly simulates screen resolution and general device type differences. 模拟器主要模拟屏幕分辨率和一般设备类型差异。 Like how an iPad and iPhone have slightly different ways that they handle certain UI types. 就像iPad和iPhone的处理某些UI类型的方式略有不同。 There is no iPad Air 2 specifically in the Simulator because in those ways it is exactly the same as an iPad Air 1. So it only has an iPad Air category. 模拟器中没有专门的iPad Air 2,因为在这些方面它与iPad Air 1完全相同。因此它只有iPad Air类别。 The simulator does not simulate the differences in processor speeds or even the differences between an A7 and A8. 模拟器不会模拟处理器速度的差异,甚至不能模拟A7和A8之间的差异。 For the simulator your code is compiled for the mac processor. 对于模拟器,您的代码是为mac处理器编译的。

Also, you can not test In App Purchases in the simulator, only on devices. 此外,您无法在模拟器中仅在设备上测试In App Purchases。 So it wouldn't help you even if there was one there. 所以即使那里有一个也不会帮助你。

If your handling of IAP's works differently between on your testing on a physical iPad Air (1) and their testing of it on a physical iPad Air 2, most likely your testing will have the same results even if you went out and purchased a new iPad Air 2. So that's not a solution either. 如果您对物理iPad Air(1)上的测试与在物理iPad Air 2上测试IAP的处理方式不同,即使您外出并购买了新的iPad,您的测试也很可能会有相同的结果空气2.所以这也不是解决方案。

I would try testing your app by compiling it for Release instead of for Debug. 我会尝试通过将其编译为Release而不是Debug来测试您的应用程序。 These are different and I've seen bugs only happen on the released version. 这些是不同的,我发现错误只发生在发布的版本上。 I try to remember to always do this once before submitting an app. 在提交应用程序之前,我会记住要经常这样做一次。 To change this go to the top left where is shows your app name > iOS Device and right click there and hit Edit Scheme . 要更改此设置,请转到左上角,其中显示your app name > iOS Device然后右键单击并点击Edit Scheme

编辑方案

Change the Build Configuration from Debug to Release for Run. 将Build Configuration从Debug调整为Release for Release。 Just remember to set it back after this test. 请记住在此测试后将其重新设置。 Because for most of testing you want it set to Debug. 因为对于大多数测试,您希望将其设置为Debug。

The only other thing you have to check is that you're still hitting the Sandbox instead of the real apple IAP server. 你必须检查的唯一另一件事是你仍然在击中沙盒而不是真正的苹果IAP服务器。 For me this is temporarily changing the following: 对我来说,这暂时改变了以下内容:

#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

Again you REALLY want to make sure you set this back before submission. 再次,你真的想确保在提交之前重新设置它。

When you test like this my guess is that that it will behave the same as the Apple Review team is saying. 当你进行这样的测试时,我的猜测是,它的行为与Apple Review团队所说的相同。 It will dismiss the box like it's doing for them. 它将解雇盒子,就像它正在为他们做的那样。 And then you can start to work on figuring out why. 然后你就可以开始研究原因了。

Also as a side note I can tell you that I'm having this same problem under iOS8.1.x. 另外作为旁注,我可以告诉你我在iOS8.1.x下遇到了同样的问题。 But my app was approved under 8.0 and my IAP worked fine then. 但我的应用程序在8.0下获得批准,我的IAP工作正常。 But now under iOS8.1 IAP's no longer work. 但现在在iOS8.1下,IAP不再有效。 Once I find a solution I'll post it here. 一旦找到解决方案,我会在这里发布。 Please do the same if you find it. 如果你找到它,请做同样的事情。 Thanks! 谢谢!

Go to Xcode Option - 转到Xcode选项 -

1) Windows-> Devices-> then a window will open. 1)Windows-> Devices->然后会打开一个窗口。 At left bottom corner of this window you will get +(plus) button. 在此窗口的左下角,您将获得+(加号)按钮。 Click at there and add Ipad_Air2 Simulator. 单击那里并添加Ipad_Air2模拟器。

or 2) Xcode -> preference -> download -> now download simulators. 或2)Xcode - >首选项 - >下载 - >现在下载模拟器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM