2015-06-10 85 views
2

我想從我的應用程序內出現在App Store表:SKStoreProductViewController不顯示任何

https://gist.github.com/valeIT/bf9b357d8ef470fc559c

我的ViewController符合SKStoreProductViewControllerDelegate。看起來問題出在「loadProductWithParameters」中,因爲我已經嘗試從完成塊外部調用presentViewController,它呈現和解散就好了,只是它完全是空的(白屏)。我試過將字符串或nsnumber作爲字典傳遞,但沒有任何更改。任何想法?

+0

你有沒有等待一段時間,看看最終它加載?如果它加載,這是預期的行爲,如果你沒有在完成塊內呈現視圖控制器,它可能沒有時間加載其內容 – Leonardo

+0

mmm我已經等了一分多鐘了。是的,我想後者... 編輯:不,不加載,等待5分鐘+ ... – vale

+0

用相關代碼更新您的問題。 – rmaddy

回答

1

我知道這是問題瘋狂的舊,但我有同樣的問題。

你的要點的唯一的一部分,看起來是,根據文檔,值SKStoreProductParameterITunesItemIdentifier應該是NSNumber類型,但你已經提供String。嘗試將其更改爲

vc.loadProductWithParameters([SKStoreProductParameterITunesItemIdentifier : NSNumber(value: 364709193)] 

並查看是否有效。

+0

嗯。奇。當我在Swift中傳遞一個字符串時,它起作用。當我通過一個NSNumber如果不起作用。蘋果的文檔(https://developer.apple.com/documentation/storekit/skstoreproductparameteritunesiteidentifier?language=objc)也說NSNumber ... –

0

看起來,SKStoreProductViewController loadProductWithParameters:如果沒有產品要加載,就會自動失敗......如果產品是Mac應用程序或iPad,並且您是從iPhone索要的,或者您需要iPhone - 只有iPad的應用程序,loadProductWithParameters永遠不會返回。

醇」嘗試和真正的UIApplication的OpenURL:使用iTunes網址技術得到在任何情況下的響應可靠 - 即使對於Mac應用程序 - 通過瀏覽器:

NSString *itunesiOSURL = @"https://itunes.apple.com/us/app/myiOSapp/id123456789?mt=8"; 
NSString *itunesMacURL = @"https://geo.itunes.apple.com/us/app/myMacApp/id123456789?mt=8"; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:itunesURL]];