Протестируйте IAP для Mac Appstore в песочнице на другом Mac

Я добавляю IAP в свое приложение для Mac, распространяемое в Mac App Store. Кажется, он отлично работает локально на моем 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);
  }
}

Я Archive приложение в XCode и затем выбираю Distribute и затем Application. Если я выберу Don't resign, то он не загрузит квитанцию ​​App Store даже на мой компьютер. Но если я выберу идентификацию «Mac Appstore Distribution» или профиль «Mac Development», тогда он правильно загрузит квитанцию ​​​​на мой Mac для разработки, но не работает на другом компьютере. Он запускает приложение и всегда выходит с кодом 173 и ничего больше.

Можно ли протестировать IAP в песочнице на Mac, где приложение еще не создано? И если да, то что мне здесь не хватает?


person koopajah    schedule 03.04.2014    source источник


Ответы (1)


Наконец, я нашел способ сделать это на основе нескольких руководств, таких как этот. Мне пришлось создать новый профиль подготовки для развертывания на других компьютерах Mac, и для этого профиля подготовки мне пришлось добавить каждый компьютер Mac, на котором я хочу протестировать свое приложение, с помощью «Добавить устройство» на Сертификаты, идентификаторы и профили.

Затем мне пришлось обновить список подписывающих удостоверений в XCode в Preferences => Account и получить доступ к новому профилю обеспечения. Затем я Archive, Distribute свою сборку и экспортирую как Application, который я подписываю с данным профилем подготовки, а затем приложение правильно запускается с песочницей для AppStore на других компьютерах Mac.

person koopajah    schedule 04.04.2014