我試圖用類NSKeyedArchiver保存一個SKProduct對象,但它產生一個錯誤,如下所示:- [SKProduct encodeWithCoder:]:無法識別的選擇器發送到實例。如何在本地保存SKProduct對象?
+ (void)saveProduct:(SKProduct *)product
{
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:product];
[[NSUserDefaults standardUserDefaults] setValue:data forKey:PRODUCT];
[[NSUserDefaults standardUserDefaults] synchronize];
}
有沒有辦法保存SKProduct的實例?
不知道你在這裏試圖做什麼。你爲什麼想做這個?我寧願在我需要時從App Store重新加載產品,以確保產品仍然提供並檢查其價格。此外,您不知道商店套件和「SKProduct」如何與App Store進行溝通,以及「SKProduct」如何與其他商店套件進行連線。 –
每次請求數據以檢索所有產品是非常耗時的,而且對於內省,一次足以確保價格。 –
好吧,即使您知道價格,您也很可能無法使用SKPaymentQueue,因爲它不會與其他商店套件「連線」。另請參閱@endy對此的評論。如果您真的急於節省時間,您可以將其加載到後臺某處,但至少每次啓動一次。 –