我正在使用ti.storekit在應用程序結算中執行操作。一切似乎工作,但是當我運行下面的代碼:鈦ti.storekit返回空產品
Storekit.requestProducts(["FooPro"], function (evt)
{
Ti.API.info('evt:' + JSON.stringify(evt, undefined, 2));
//hideLoading();
if (!evt.success)
{
alert('ERROR: We failed to talk to Apple!');
}
else if (evt.invalid)
{
alert('ERROR: We requested an invalid product!');
}
else
{
item = evt.products;
Ti.API.info('gotProducts:' + JSON.stringify(item, undefined, 2));
success(item[0]);
}
});
我得到一個成功的響應,但沒有產品:
evt:{
"type": "callback",
"products": [
{}
],
"source": {},
"success": true
}
所以沒有產品,只是默默地失敗。在iTunes連接中,在產品中,我有一個應用產品,產品ID爲FooPro
(雖然它正在等待審覈中)。我不知道我做錯了什麼。一切似乎工作,我剛剛回來一個空的產品陣列,我不知道爲什麼。
這也導致了該錯誤,這樣,當我打電話
// product = {} since the above returned it as empty
Storekit.purchase(product);
其錯誤,並告訴我這還有:
Passing individual args to `purchase` is DEPRECATED. Call `purchase` passing in a dictionary of arguments.
addTransactionObserver` should be called before `purchase`
編輯:產品,採用Ti.API.info時()輸出內容顯示爲空。然而,簽約到iTunes與設備上測試帳戶後,產品仍然顯示爲空的,但是當我做更多的調試,產品對象似乎實際上是:
{'My product description'}
所以,當我打電話
Storekit.purchase(product)
好像它真的叫
Storekit.purchase({'My product description'})
所以它似乎在這裏失敗,因爲購買通話從未觸發transactionState
事件偵聽器。
環境: - iPhone:5,4S
感謝您的幫助。
您的應用狀態爲「等待上傳?」你在真實設備上測試嗎? –
是的,我正在iPhone 5上進行測試。我讀了很多,它往往不適用於模擬器。但是,是的;應用狀態仍在等待上傳。我會嘗試提交它,看看是否有幫助。 – skift
目前一切都在等待審查。我得到了相同的結果。 – skift