【问题标题】:Can't find iPad Air 2 with iOS 8.1.2 simulator on Xcode在 Xcode 上找不到带有 iOS 8.1.2 模拟器的 iPad Air 2
【发布时间】:2015-03-01 02:08:04
【问题描述】:

我在 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。 请帮忙。 谢谢埃亚尔。

【问题讨论】:

  • 您是否尝试过只使用 iPad Air Simulator?还是真机?
  • 在 iPad Air 模拟器上一切正常。
  • 真正的 iPad Air 2 怎么样?
  • 也许这与使用真实设备有关...您有 iPad 来测试它吗?
  • 我有一台 iPad Air (1) 和 iPad Mini Retina。我会在他们身上测试这个问题,并让你知道问题是否可以重现。

标签: ios xcode ipad


【解决方案1】:

转到 Xcode 选项 -

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

或 2) Xcode -> 首选项 -> 下载 -> 现在下载模拟器。

【讨论】:

    【解决方案2】:

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

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

    此外,您不能在模拟器中测试应用内购买,只能在设备上测试。因此,即使那里有一个,它也无济于事。

    如果您在物理 iPad Air (1) 上的测试和他们在物理 iPad Air 2 上的测试之间对 IAP 的处理方式不同,那么即使您出去购买,您的测试也很可能会得到相同的结果新的 iPad Air 2。所以这也不是解决方案。

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

    将构建配置从 Debug 更改为 Release for Run。请记住在此测试后将其重新设置。因为对于大多数测试,您希望它设置为 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已经不行了。一旦我找到解决方案,我会在这里发布。如果你找到它,请做同样的事情。谢谢!

    【讨论】:

    • 你找到解决方案了吗?
    • 没有。我很确定这是因为我仍在使用 httprequest,它已经过时并且不再被跟上。也不是弧线。我认为 8.1 终于打破了它并且没有发生任何通信。它没有从我的服务器上获取 IAP 列表。但我也将我的整个应用程序切换到 unity3d。所以我可能永远不会修复它,因为整个都将被移植。然后我将使用 Unitys 与服务器通信的方式。
    • 看起来我们的问题有所不同。
    猜你喜欢
    • 1970-01-01
    • 2016-02-19
    • 2014-01-03
    • 2021-02-05
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多