繁体   English   中英

在其他Mac上的沙箱中测试Mac Appstore的IAP

[英]Test IAP for Mac Appstore in sandbox on other Mac

我正在将IAP添加到在Mac App Store上分发的Mac应用程序中。 在我的Mac内部XCode外部/外部,它似乎可以正常工作,但是由于某些原因,它不能在其他行为不同的Mac计算机上运行(SIGKILL或未下载App Store收据)。

这是我用来确保存在App Store收据或正确下载收据的代码:

void EnsureAppstoreReceipt()
{
  // TODO: Note: In OS X, if the appStoreReceiptURL method is not available (on older systems), you can fall back to a hardcoded path.
  // The receipt’s path would be /Contents/_MASReceipt/receipt inside the app bundle.
  NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
  NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
  if(!receipt)
  {
    // Validation fails
    qDebug() << "No AppStore receipt found. Exiting with 173 to force OSX to generate one in " << QString::fromNSString(receiptURL.absoluteString);
    exit(173);
  }
}

我在XCode中Archive应用程序,然后选择Distribute ,然后选择Application 如果我选择Don't resign那么即使在我的计算机上,它也不会下载App Store收据。 但是,如果我选择了“ Mac Appstore发行”标识或“ Mac开发”配置文件,则它将收据正确加载到我的开发Mac上,但在其他计算机上不起作用。 它会启动该应用程序,并始终以代码173退出,仅此而已。

是否可以在尚未构建应用程序的Mac上的沙箱中测试IAP? 如果是这样,我在这里想念什么?

我终于根据像这样的一些教程找到了一种方法。 我必须创建一个新的配置文件才能部署到其他Mac,对于该配置文件,我必须使用“ 证书,标识符和配置文件 ”上的“添加设备”添加要在其上测试我的应用程序的每台Mac计算机。

然后,我必须在Preferences => Account中的XCode中刷新签名身份的列表,并可以访问新的配置文件。 然后,我ArchiveDistribute我的构建并将其导出,并作为我使用给定的配置文件签名的Application Distribute ,然后该应用程序随沙箱正常启动,以在其他Mac计算机上用于AppStore。

暂无
暂无

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

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