2014-10-20 4 views
2

Я пытаюсь получить листинг из магазина предметов для покупок в приложении для своего приложения. Вот что я сделал:Не удается подключиться к iTunes Store (чтобы получить список покупок в приложении)

  • Установлен новый профиль обеспечения с включенными покупками в приложении. (Замена профиля подготовки была сложной, но я думаю, что я ее правильно)
  • подтвердил, что налоговая и банковская информация в порядке. (Приложение уже продается в магазине).
  • создан тестовый пользователь
  • вошли в систему с тестовым пользователем на тестовом устройстве
  • (устройство не тюрьмой разбитым)
  • создан в приложении пункты покупки и набор Очищенные на продажу в Yes. (Элементы находятся в состоянии готовности к статусу).
  • ждал несколько часов
  • используя полные идентификаторы продуктов с запросами.

Единственное, я не уверен, что от ответа на этот предыдущий вопрос (Cannot connect to iTunes store error) является та часть, которая говорит: 3) Соответствует ли вашего проекта .plist Bundle ID вашего App ID?

Идентификатор Bundle указан как N-A. $ {PRODUCT_NAME: rfc1034identifier}, поэтому я не уверен, как его расширить, чтобы увидеть, что он соответствует. Однако, поскольку это приложение находится в магазине для продажи, я не уверен, как это может быть отключено.

Ошибка в магазине - это код 0, «Не удается подключиться к iTunes Store».

Спасибо за помощь!

ответ

1

Проблема оказалась не в элементах контрольного списка, а скорее в синтаксической ошибке, вызванной моей неопытной работой со Свифт. Та же проблема не может произойти с другими, но я представляю решение ниже для полноты картины:

func fetchAvailableProducts() { 
    // wrong syntax (but able to compile): 
    // let productIDs:NSSet = NSSet(objects: ["com.mysite.IAP1MONTH", "com.mysite.IAP6MONTH"]) 

    // correct syntax: 
    let productIDs:NSSet = NSSet(objects: "com.mysite.IAP1MONTH", "com.mysite.IAP6MONTH") 
    let productsRequest:SKProductsRequest = SKProductsRequest(productIdentifiers: productIDs); 
    productsRequest.delegate = self; 
    productsRequest.start(); 
} 
+0

Я сделал очень похожая ошибка. Я передал 'Array ' в инициализации объектов 'NSSet' вместо использования' array' init –

1

Swift 1.2 введен класс Set, поэтому сделать это сейчас:

let pids: Set<NSObject> = ["com.mysite.thing", "com.mysite.otherThing"] 
let productsRequest = SKProductsRequest(productIdentifiers: pids) 
Смежные вопросы