这个想法是无论是下雨还是下雨,潮湿或精细,用户都必须得到他付出的全部费用.
来自Apple:
Store Kit provides built-in functionality to restore transactions for non-consumable products, auto-renewable subscriptions and free subscriptions
对于这些交易,Apple Store Kit具有良好的内置工具.我想专注于其他类型(特别是消耗品).唯一的交易信息是我们在成功购买后通过Store Kit接收的标识符和收据数据.我们的应用程序使用服务器端模型向其提供产品.但是仍然存在许多丢失购买数据的情况,例如当用户通过App Store进行购买时服务器放下,因此无法向服务器发送收据以完成验证过程.
目前的解决方法是:
但这种方法仍然存在泄漏.例如,用户可以从设备中删除不等待交易到服务器的应用程序,因此根本不会有任何关于他的购买的证据.
你的建议?
数据来自JSON中的服务器,它放在一个NSDictionary.根据请求数据的类型,将从此创建新的类对象NSDictionary.有大量数据出现,因此该对象NSDictionary仅在引用特定变量时才会引用并提取值.像延迟初始化的东西:
- (NSString *)imgURL {
if (_imgURL == nil) {
_imgURL = [self makeObjForKey:kImageURL];
}
return _imgURL;
}
Run Code Online (Sandbox Code Playgroud)
这显着提高了应用程序速度,但产生了其他问题:
NSDictionary,则保持为零.然后,对于此变量的每个后续调用,都会在其中进行搜索NSDictionary.NSCopying协议)的整个实例时,将复制所有变量,从而产生整个转换NSDictionary.解决方案:
NSDictionary对象实例,但之后必须再次解析相同的变量无论如何,这些解决方案并非最佳.也许有人面临类似的问题,可以建议其他技术.