据我所见,MKStoreKit 以以下方法将您的产品列表作为 plist 检索MKStoreManager.m
:
#pragma mark Internal MKStoreKit functions
//line 201 of MKStoreManager.m
- (NSDictionary*) storeKitItems
{
return [NSDictionary dictionaryWithContentsOfFile:
[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MKStoreKitConfigs.plist"]];
}
因此,如果您只是更改此方法调用,例如,从您的服务器获取新项目,您可以获得所需的结果。
例如,您可以有一些预填充的 .plist,然后像 NSDictionary 一样将其移动到 NUSUserDefaults,并且当来自 Server 的新项目到来时,您只需对其进行更新。
所以,你的方法看起来像这样:
- (NSDictionary*) storeKitItems
{
if(![[NSUserDefaults standardUserDefaults]valueForKey:@"NewConfigs"])
[[NSUserDefaults standardUserDefaults]setValue:[NSDictionary dictionaryWithDictionary:[NSDictionary dictionaryWithContentsOfFile:
[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MKStoreKitConfigs.plist"]]] forKey:@"NewConfigs"];
[[NSUserDefaults standardUserDefaults]synchronize];
return [[NSUserDefaults standardUserDefaults]valueForKey:@"NewConfigs"];
}