//需要响应身份验证时调用 同样在block中需要传入用户身份凭证 //现在就是不进行https验证了 然后就闪退不了了 - (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition…
iOS WKWebview 网页开发适配指南 微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配.如有问题,可参考文末联系方式,向我们咨询. 背景 WKWebView 是苹果在iOS 8中引入的新组件,目的是提供一个现代的支持最新Webkit功能的网页浏览控件,摆脱过去 UIWebView的老.旧.笨,特别是内存占用量巨大的问题.它使用与Safari中一样的Nitro JavaScript引擎,大大提高了页面js执行速度. 切换方…
  接上篇< iOS中的crash防护(一)unrecognized selector sent to instance> 我们攻克了找不到方法实现的crash,这一篇我这里主要分析一下在KVC常见的crash.以及防护措施. [object setValue:nil forKey:key]    value为nil.key不为nil的时候会调用-(void)setNilValueForKey:(NSString *)key这种方法,我这里对这种方法进行重写,代码例如以下: -(void)se…
领导要求不放弃iOS 7 用户,所以我们Xcode 8 上面支持ios 7 必须要解决! 解决方法(过程): 1.应用程序--Xcode(原来的Xcode 7)-- 显示包内容--Contents--Developer--Platforms--iPhoneOS.platform--DeviceSupport 把里边 7.0 7.1 的文件夹粘贴到Xcode8 对应的文件夹内 2.应用程序--xcode (Xcode8)-- 显示包内容--Contents--Developer--Platform…
iOS常见内存泄漏解决     1 OC和CF转化出现的内存警告 CFStringRef cfString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)picDataString,NULL,CFSTR(":/?#[]@!$&’()*+,;="),kCFStringEncodingUTF8); NSString *baseString = [NSString stringWi…
程序崩溃经历 其实在很早之前就想写这篇文章了,一直拖到现在. 程序崩溃经历1 平时开发测试的时候好好的,结果上线几天发现有崩溃的问题,其实责任大部分在我身上. 我的责任: 过分信赖文档,没进行容错处理,也就是没有对数据进行相应的判断处理. 下面附上代码,说明崩溃的原因 因第三方公司提供的数据错乱导致有时候创建字典的时候个别value为nil才导致的崩溃 //宏#define CStringToOcString(cstr) [NSString stringWithCString:cstr enco…
项目运行在ios9上需要在info.plist文件中配置加入如下信息, App Transport Security Settings Allow Arbitrary Loads = YES <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 设置 UserAgent(用户代理) 用户代理: 把…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/hnwj24xqrtOhcjEt_TaQ9w 作者:张三华 导语 精神哥最近发现, 很多开发者在 iOS10 上遇到了一类堆栈为nano_free字样的Crash,也有很多人向我们Bugly客服反馈遇到了这类问题,但并没有好的解决方案.正当大家都束手无策的时候,微信强大的技术团队针对这类Crash进行了深度研究,并提出了一个解决方案.原来微信也遇到了这…
来源:枫影JustinYan 链接:http://justinyan.me/post/1609 一.访问了一个已经被释放的对象 在不使用 ARC 的时候,内存要自己管理,这时重复或过早释放都有可能导致 Crash. 例子 NSObject * aObj = [[NSObject alloc] init]; [aObj release]; NSLog(@"%@", aObj); 原因 aObj 这个对象已经被释放,但是指针没有置空,这时访问这个指针指向的内存就会 Crash. 解决办法…
UIWebView就不用说了,这个过时了,现在iOS8以后建议都使用WKWebView. WKWebView 是现代 WebKit API 在 iOS 8 和 OS X Yosemite 应用中的核心部分.它代替了 UIKit 中的UIWebView 和 AppKit 中的 WebView,提供了统一的跨双平台 API. 自诩拥有 60fps 滚动刷新率.内置手势.高效的 app 和 web 信息交换通道.和 Safari 相同的 JavaScript 引擎,WKWebView 毫无疑问地成为了…
    Outline如何获得crash日志如何解析crash日志如何分析crash日志     1. iOS策略相关     2. 常见错误标识     3. 代码bug 一.如何获得crash日志 当一个iOS应用程序崩溃时,系统会创建一份crash日志保存在设备上.这份crash日志记录着应用程序崩溃时的信息,通常包含着每个执行线程的栈调用信息(低内存闪退日志例外),对于开发人员定位问题很有帮助. 如果设备就在身边,可以连接设备,打开Xcode - Window - Organizer,在…
一  先谈谈iOS的Crash收集方式: 1. APP 发生crash,用户手机手机上肯定会有crash纪录,当然删除了该app,或是删了再装 crash纪录还是没了. 2. 如果用户设置-隐私  同意的话,你的crash日志会发送到App store,你可以去账号上去查看crash日志 .(PS:但是,这个要用户自己同意,大部分人选的是不同意,我也选的不同意.可能你的账号上根本没有任何crash纪录,这不代表你的app 没有crash过.) 3.第三方日志统计平台,国外的比如Crashlyti…
微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配. 背景 WKWebView 是苹果在iOS 8中引入的新组件,目的是提供一个现代的支持最新Webkit功能的网页浏览控件,摆脱过去 UIWebView的老.旧.笨,特别是内存占用量巨大的问题.它使用与Safari中一样的Nitro JavaScript引擎,大大提高了页面js执行速度. 切换方法 iOS微信6.5.3版本开始支持开发者手动切换WKWebview和UIWebview…
一.WKWebView 由于Xcode8发布之后,编译器开始不支持iOS 7了,这样我们的app也改为最低支持iOS 8.0,既然需要与web交互,那自然也就选择使用了 iOS 8.0之后 才推出的新控件 WKWebView. 相比与 UIWebView, WKWebView 存在很多优势: 支持更多的HTML5的特性 高达60fps滚动刷新频率与内置手势 与Safari相容的JavaScript引擎 在性能.稳定性方面有很大提升占用内存更少 协议方法及功能都更细致 可获取加载进度等. 二.WK…
微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配.如有问题,可参考文末联系方式,向我们咨询. 背景 WKWebView 是苹果在iOS 8中引入的新组件,目的是提供一个现代的支持最新Webkit功能的网页浏览控件,摆脱过去 UIWebView的老.旧.笨,特别是内存占用量巨大的问题.它使用与Safari中一样的Nitro JavaScript引擎,大大提高了页面js执行速度. 切换方法 iOS微信6.5.3版本开始支持开发者手动…
1.描述:因公司域名临时出现问题,所以项目中引用到了IP地址加端口号去请求数据,因而造成在wkwebView中某些网址打不开,查看错误是因为服务器证书无效,实际就是不受信任; 2.解决办法:在plist文件中设置Allow Arbitrary Loads in Web Content 置为 YES,并实现wkwebView下面的代理方法,就可解决 - (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSU…
WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用.内存泄漏的 UIWebView.WKWebView 拥有60fps滚动刷新率.和 safari 相同的 JavaScript 引擎等优势. 简单的适配方法本文不再赘述,主要来说说适配 WKWebView 过程中填过的坑以及善待解决的技术难题. .WKWebView 白屏问题 .WKWebView Cookie 问题 .WKWebView NSURLProtocol问题 .WK…
最近在做 cordova 打包 ios 的项目(webpack 打包 vue项目后,再用 cordova 打包).在加载 file:/// 协议时因为 webview安全机制有一些报错.SK各种找解决方法. 找到很多都说如下设置可以解决加载 file 时的报错: [configuration.preferences setValue:@"TRUE" forKey:@"allowFileAccessFromFileURLs"]; 但实际我试了,这样在ios 11上好像…
https://developer.apple.com/library/ios/technotes/tn2151/_index.html 错误分析是基于设备中的crash log 与 编译文件时生成的dsYM文件相结合得出的结果,crash log 中包含应用的 crash trace stack,dsym中包含应用的符号表信息,符号表信息用于匹配程序中的文件,函数,代码,行号. 一.可用crash trace 追踪的crash 二.low memery 是追踪不到的因为没有对应以下的这类型的符…
1.出现下面的错误: StoryboardApp[8593:207] Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set? 这个问题的原因应该是在你的StoryBoard中没有一个view controller设置了Initial Scene.您需要选择一个view co…
最近突然想起友盟的sdk附带的一个功能:将闪退异常情况上报服务器,(stackflow,github)找了一些资料,自己写了一个demo,想起来好久没有写过blog了,顺便分享. 其实不止是ios,android逻辑也是一样的,crash日志其实是系统自带的,闪退的时候,都会将crash打印,使用ide的同学可以很明显的调试看到错误的信息,定位问题. 程序打包给用户后,我们想查看程序运行情况的话,都是通过将这些crash log写入文件中(来不及上传,建立一个链接的),在下次启动的时候顺便传送服…
我们先来看看有可能会出现的数组越界Crash的地方. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { WelfareItem *item = [_datasourceArray objectAtIndex:indexPath.row];//有可能会越界,你在下拉刷新时会用[_datasourceArray removeAllObjects],这时你又点了某个…
1 . storyboard连线问题 产生原因:将与storyboard关联的属性删除了,但是storyboard中还保持之前所关联的属性. 解决: 点击view controller    点击这排最后一个按钮  会出现   发现感叹号.点击感叹号的左边的x,取消关联就不会报错了. 2 .文本框中输入的内容密文显示 解决:勾选这个secure 属性  3 .输入文本的时候,怎么显示右边的X按钮(撤销按钮) 1.点击 2.会显示 3.选择,表示当编辑的时候,会出出现X. 效果: 3 .ios中修…
iOS 解决一个复杂bug 之 计分卡 iOS 调试 之 打印 iOS 错误之 NSObject .CGFloat iOS bug 之 H5 页面没有弹出提示框 iOS 日志工具 CocoaLumberjack iOS 加载动态库报错问题 ios bug包含 code signing blocked mmap()…
在微信中,ios手机下面音乐被自动禁掉无法自动播放,我们可以执行触发body上的元素,自动进行播放. //音乐 var x = document.getElementById("myAudio"); var at=$("#myAudio") var audobtn=true; function playAudio(at){ ]; faf.play();//播放 $(".audio-btn").addClass("move1")…
Xcode报错: This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this…
WKWebView的图片二维码使用: .长按手势识别二维码并保存 .识别二维码跳转;不是链接显示内容点击网址跳转 .解决url包含中文不能编码的问题 .文字带链接网址,点击跳转 .纯文本-文字html展示可拷贝,查询 .解决html页面适配屏幕宽度的问题和保留源文件的格式 .判断是web网页图片否存在二维码并进行识别 代码: // 添加长按手势识别二维码 [self WKWebViewHandleLongPress:_detailWebView]; // 识别二维码跳转;不是链接显示内容点击网址…
针对近期iOS 10.3以上的系统charles抓https信任问题 前言 最近iPhone系统更新到ios 10.3后,在公司里用Charles抓包竟然出现了一些问题,https的请求都会失败,提示错误信息为Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certifica…
时间2013-08-20 12:49:20 GoWhich原文  http://www.gowhich.com/blog/view/id/343 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法) symbolicatecrash路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase…
iOS 9.0以上直接设置WKNavigationDelegate代理 func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) { let cred = URLCredential.init(trust…