iOS StoreKit在沙箱中升级应用后返回invalidProductIdentifiers

phi*_*tre 5 app-store storekit in-app-purchase ios

我正在测试我的某个应用程序的升级过程,但我无法从App Store获取In App Purchase的产品信息.

我打开了两个项目XCode,第一个是我当前版本的代码(2.0),另一个是提交给Apple批准的工作版本(1.0)的代码.

  1. 我构建并运行1.0
  2. 该应用执行产品请求:

    productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers: productIds];
    productRequest.delegate = self;
    [productRequest start];
    
    Run Code Online (Sandbox Code Playgroud)
  3. SKProduct实例返回响应(在response.products中)

  4. 然后我在另一个项目中构建并运行2.0

  5. 该应用程序执行产品请求
  6. 返回响应,但所有产品ID都被重新调整为无效(在response.invalidProductIdentifiers中)

但是如果我在运行2.0之前卸载应用程序,一切正常并按SKProducts预期返回.

我也使用ad hoc构建而不是调试构建经历了相同的过程,但行为是相同的.

除了App Version和Build之外,所有项目设置在两个项目中都是相同的.

所以,有两种选择.要么StoreKit有问题,除了它是犯罪非冗长的,或者(更有可能)我在测试过程中做错了什么.

是否可能存在某种沙盒不匹配(或某种东西),因为我正在使用不同的项目构建一个应用程序而不是另一个应用程序?

你会如何测试这种情况?