作家
登录

iOS开发中常见bug!(内附解答方法)

作者: 来源: 2018-03-20 19:39:44 阅读 我要评论

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!


-->

序言

你是否曾经修复了一个 bug ,随后又发清楚明了一个跟刚修复bug有关的bug,又或是修复bug的方法引起了另一个bug?

然而这些问题是绝佳的进修机会。所以我们如何尽可能多地大年夜修复的问题中汲取经验?小编用的办法就是写下这个问题的简单描述、修复办法以及汲取的经验。应用这个办法了,让这个办法赞助本身成为一个更出色的法度榜样员。

每当修复一个特别棘手或有趣的问题,总会花几分钟写下一些这个问题的信息。这有一些典范记录的例子小编接下来就分享一些问题和解决办法。

NSURLSession已经支撑app按下home键之后,仍让可以或许进行下载的义务。然则app退出之后不克不及进行下载。对于NSURLSession添加如下的属性即可进行后台下载。

  1. - (NSURLSession *)session { 
  2.     static dispatch_once_t onceToken; 
  3.     dispatch_once(&onceToken, ^{ 
  4.         NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.wj.demo.BackgroundSession"]; 
  5.         _queue = [NSOperationQueue new]; 
  6.         _queue.maxConcurrentOperationCount = 1;//同时支撑的最多下载次数 
  7.         _session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:_queue]; 
  8.     }); 
  9.     return _session; 

如不雅用户在后台按钮home键之后,上滑将app杀逝世之后,我们应当在appdidregiestActive的办法琅绫擎先将所有的下载义务暂停。

2、IAP内购中虚拟泉币导致审核无法经由过程的问题?

有的时刻我们须要在app中应用虚拟泉币,在我们的app中可以应用虚拟泉币进行购买道具等,比如直播中的礼品,游戏中的道具等。

苹不雅对于虚拟泉币是须要提成的,提成的额度为30%。所以对于这块的审核比较严格。起首你们的购买的道具在ios端和安卓端是须要分开的。如不雅大年夜家玩游戏的就会发明游戏的数据在两端是分开的。

然则当用户在按钮home键的时刻,这个下载还能持续进行。

用户在安卓手机上购买的道具在iOS上是不克不及应用的。因为如许也借居的影响了苹不雅的收入。

别的就是在审核时代不克不及有可以兑换在appStore可购买的商品,的随便率性晃荡或者兑换码,这个也是苹不雅不许可的。因为这个也会影响苹不雅的收入。

别的就是可能有的同窗会在苹不雅审核之后隐蔽ipa付出,此处提示下,苹不雅会扫描你的app代码中是否有付出宝,微信等关于付出的字段。应用开关加h5的方法可以经由过程审核,然则此处也有风险,风险就是一旦被发明,可能的结不雅就是苹不雅直接封掉履┞匪号。app无法应用。

解压后,点击进入文件夹,然后显示包内容,可以看到琅绫擎的文件列表

3.png

3、若何用dispatch_Group监听afn 下载完成

用dispatch_Group只能控制收集请求的先后次序,然则要监听是否下载完成似乎不可;然则可以用其他的方法来监听;例如:

可以在每个收集请求的成功或掉败回调琅绫擎设置一个bool标识符为YES,并发送一个通知,在当前页面监听通知,并在监听的通知办法琅绫擎,对所有收集请求涉及到的bool标识符进行断定,如不雅都为YES,就可以认为是所有收集请求都请求完成,就可以履行本身想要进行的操作

4、iOS原生端若何应用JSCore进行原生和iOS的交互

在 - (void)webViewDidFinishLoad:(UIWebView *)webView 办法中

  1. [webView stringByEvaluatingJavaScriptFromString:@"editReady2();”]; 

调用此办法即可调用js中的办法。

此处有的时刻可能会调用不到js中的办法,原因有可能是js的代码和html的代码是分开放置的,经由过程此时不必定可以或许拿到js中的代码。解决的办法是,先获取全部html的代码。在html代码的后面拼接js的路径,然后应用 webView loadHtml的办法去履行网页上的数据。

JS调用oc中的办法

在 - (void)webViewDidFinishLoad:(UIWebView *)webView 办法中

  1. JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext”]; 
  2. ange2  前后端商定的字符串 
  3. context[@"change2"] = ^(){        NSArray *params = [JSContext currentArguments]; 

      推荐阅读

      阿里巴巴发布面向下一代数据中心的双模SSD存储架构 和全球首个双模SSD产品——AliFlash V3

    沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 同时支撑开放接口(Open Channel)模式和标准NVMe模式 阿里巴巴第一个自研存储控制器芯片AliFSC Al>>>详细阅读


    本文标题:iOS开发中常见bug!(内附解答方法)

    地址:http://www.17bianji.com/lsqh/40790.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)