iOS内购你看我就够了(埋坑篇)

在(一)中坑已经说的很多了,但只埋了一半.现在我把我意识到的坑都埋完.
没看过(一)的出门左转,这俩要一起看..抱歉篇幅问题

↓防懵逼必看

iOS内购你看我就够了(一)

↑防懵逼必看

回去看了看貌似(一)已经可以解决所有问题了...额

1.还有订单没结束的坑

所以要把开始监听写在程序入口,在程序挂起时移除监听.
如果有未完成的订单他就会直接走

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions

一般情况下都是购买成功后没有结束订单的坑,所以他会走验证方法

if (self.cash != nil)这句话在这就起作用了,所以他会走[self checkUnTestReceipt];//从本地取凭证验证去 }

2.为什么要存到数组??

因为你可能出现不止一个未验证的订单,擦,好惨


- (void)checkUnTestReceipt
{
  NSArray *payAry =从本地去取存凭证的数组,我就不告诉你怎么取,咬我
  if (!payAry || payAry.count == 0) {
    return;
  }
  for (NSDictionary *dic in payAry) {
    [self untestReceiptByTime:dic];//把本地(漏单)的dic(验证信息)都去验证了
  }
}

untestReceiptByTime:这方法只是多了个失败后的回传,和验证方法有一点不同

- (void)untestReceiptByTime:(NSDictionary *)dic//第一次访问服务器失败了又一次请求,多了个定时的请求
{
  WEAKSELF;
  [[YLBNetWorkManager sharedInstance]postJsonData:dic url:  e successBlock:^(id responseBody) {

   [weakSelf removeDicFromPayAry:dic];//移除,不懂得看一
   
  } failureBlock:^(NSString *error) {
    DLog(@"%@和自己服务器失败22",error);
      [self untestReceiptByTime:dic];//最好一段时间后再验证,用GCD
}
程序入口监听开始

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

DLog(@"我一进来就看看本地漏单");
  [[IAPManager sharedInstance]checkUnTestReceipt];//一进程序看看有没有漏单
双管齐下,你慢慢漏吧

当然还得在程序入口新建本地数组(只建一次),用NSUserDefaults ,删除添加都是他,这我就不写了,你全部都复制粘贴也没啥成就感.. 

程序出口移除监听
[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];

.

3.为什么必须存到本地

为了不往本地存我是没少费劲,但是我太年轻,还是错了.
虽然只要不结束订单凭证就不会消失,但是验证时还需要其他(用户Aid,不然你怎么知道谁买的.或者下次登录换用户B了,你只用了本地的凭证和B,擦,充错人)所以必须存本地.
突然有个疑问,这个凭证是怎么和订单一一对应的?谁知道说下,我没事也研究下

4.总结

貌似无法解决用户购买后未验证但是换手机了的丢单问题,额,你找客服吧.好烦..技术有限,以后再说吧.仔细想想好像还不是很完美.以后再补充吧.也请大神们多指教吧
最后我要感谢所有帮助我的人谢谢你们五四的奉献

...
写到这里,算是把内购给写的略微明白点了.我现在也就能理解到这个水平了,以后有什么会再补充.
记得刚拿到任务一脸懵逼头大.貌似大部分内购文章里都有我浏览的身影吧.我针扎
我在想要不要加密本地的东西,还有唐巧说要禁止越狱的用户内购(他们问题太多,比如被黑客挟持)

5 更新11.1(验证)

先去苹果的正式服务器验证,返回21007的话再去测试验证.因为苹果测试用的是测试服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容