IMG_4302.JPG iOS 11已经升级一周多了,目前项目也基本已经适配完成。这里我总结下iOS 11 和Xcode 9的一些更新,希望能够对你有用!...Xcode 9 更新 1.代码折叠 升级完Xcode 9 发现代码不能折叠了,这对于我这种习惯折叠代码调理清晰的人这么能够接受呢?如实我发现了 折叠.gif (哦!...怎么还有个小三角,这就是真假文件夹的一个标示,如果文件夹在Finder真是存在就没有三角,如果是在Finder 不存在就带着小三角 iOS 11 适配 iOS 11 引入了安全局域的概念,那什么是安全局域呢...这是 iOS 11 引入安全区域的原因 解决办法 if (@available(iOS 11, *)) { [UIScrollView appearance].contentInsetAdjustmentBehavior...这是因为iOS 11 引入了一个保存图片的隐私权限 需要在info.plist 添加 Privacy - Photo Library Additions Usage Description 就完美了
2、移除/升级含UIWebView的第三方SDK(例:AFNetworking) 3、使用WKWebView替代UIWebView 4、WKWebView与JS交互案例(点击页面图片,调用iOS方法进行图片放大显示...以下使用了NJKWebViewProgress作为进度条, 因此对于上架审核没有影响。...1.2 移除/替换自己项目使用UIWebView API的代码 自己是否用了该 API 只需要在 Xcode 中全局搜索即可 II 升级包含UIWebView的第三方SDK的具体例子 pod...'AFNetworking','~> 4.0.1'#2、 Migrate UIWebview to WKWebView #4441 #4.x iOS 9 macOS 10.10 watchOS...2.0 tvOS 9.0 Xcode 11+ is required. 2.1 Installing AFNetworking 4.0.1 (was 3.2.1)正式移除了UIWebView
iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap的总结 方式二 在iOS 7之后,apple添加了一个新的库JavaScriptCore,用来做JS交互,...系统做了改动,现在(iOS9,Xcode 7.3,去年使用Xcode 6 和iOS 8没有线程问题)中测试,block中是在子线程,因此执行UI操作,控制台有警告,需要回到主线程再操作UI。...iOS下JS与OC互相调用(一)--UIWebView 拦截URL iOS下JS与OC互相调用(二)--WKWebView 拦截URL iOS下JS与OC互相调用(三)--MessageHandler...iOS下JS与OC互相调用(四)--JavaScriptCore iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge iOS下JS与OC互相调用
目前,iOS系统版本已经更新到9.3,XCode的最新版本已经是7.3,仅iPhone历史产品的尺寸就已经有4种:3.5英寸、4.0英寸、4.7英寸、5.5英寸。...右边距、宽按比例调整,上边距固定,下边距固定,高度固定(右图的xib中预览效果与实际效果有差,实际效果是view的上边距不变)垂直方向是同样效果,故不列举 ?...width按比例调整,高度固定,右边距固定,上边距固定,下边距固定(下图的xib中预览效果与实际效果有差,实际效果是view的上边距不变)(这种约束方式相当于上下间距固定,高度固定,那么父控件高度缩放的时候就会产生冲突...AutoLayout自iOS6开始引入,但由于当时XCode4当时对AutoLayout的支持不是很好,所以在XCode5/iOS7及其之后,AutoLayout才开始被广泛应用。...Snip20160515_5.png iOS8/XCode6才开始引入的。
Autoresizing简介 Autoresizing是苹果早期屏幕适配的解决办法,当时iOS设备机型很少、屏幕尺寸单一、APP界面相对简单,屏幕适配并没有现在这么复杂,所有的UI控件只要相对父控件布局就可以了...,Autoresizing就是一个相对于父控件的布局解决方法 在Xcode5之后,新建的项目默认使用AutoLayout。...6条线,上下左右以及空间内的两条红色交叉线如下图 上下左右四条红色的线分别表示此视图距离父视图的上下左右边的约束各式多少 中间两条上下交叉的线表示,此视图的高度与宽度是否随着父视图的变化而按比例变化...右边距、宽按比例调整,上边距固定,下边距固定,高度固定(这样的约束条件有冲突,会默认上边距不变)垂直方向是同样效果,故不列举 UIViewAutoresizingFlexibleLeftMargin |...同理, 如果垂直方向同时固定了上边距和下边距,那么我们不能固定子控件的高度(反应在storyBoard中的设置,也就是必须使控制子控件高度的虚线变为实线) Autoresizing缺点 Autoresizing
1. iOS11中UIWebVIew 所以网页的y 坐标是 0 ,但是在 iOS 11里面就是无法在 状态栏上显示,iOS11下的系统不会这样会占用 状态栏的位置 2....iOS11中 Undefined symbols for architecture x86_64: 3.从APP中跳转到各种手机设置界面(亲测有效) 一些常用的设置里的位置: 电池电量 Prefs:root...iOS 11以下,当用户点击安装新版本后仍然会在应用内直接开始安装。 5....xcode-->targets -->info -->url type ** 点击加号,出现上图所示,identifer 写bundle Indentifer就可以,URL schemes是自定义的,...的程序 7. iOS11中ScrollerView或者其子类占位 状态栏设置 在ios11系统下,如果tableview或者ScrollerView 是从0开始,需要做简单的适配 适配前 if (@available
② UIWebView 和 WKWebView 的区别 WKWebView 更快(占用内存可能只有 UIWebView 的1/3~1/4),没有缓存,更为细致地拆分了 UIWebViewDelegate...③为什么现在是时候从 UIWebView 迁移到 WKWebView 了: 截止到我写这篇文章的时候,据 mixpanel 的数据,iOS 9 占有率已达 58.55%,iOS 8 占有率达到了 34.78%...所以从现在开始,再开发 App 只兼容 iOS 8 和 iOS 9 两个版本就可以了(如果你的产品对覆盖率要求不是很苛刻的话)。...WKWebView 是 iOS 8 之后才有的 WebKit 中的内容,所以之前我们要同时兼容 iOS 7 和 iOS 8 的时候,可以推辞说 UIWebView 和 WKWebView 一起做太麻烦了...想要更多内容可以自己用 cmd键+鼠标左击『WKNavigationDelegate』通过 Xcode 查看。
掌握 Xcode 基本操作Xcode 是用于开发 iOS 应用的集成开发环境(IDE)。熟悉 Xcode 的基本操作,如创建项目、界面设计器的使用、调试等,是学习 SwiftUI 的必要步骤。...- `.padding()`: 为文本添加内边距。- `.background(Color.gray)`: 为文本添加灰色背景。...`Spacer`- **功能**:`Spacer` 是一个特殊的 SwiftUI 视图组件,用于在视图之间创建一个弹性空间。`Spacer` 会占据可用的空间,将其他视图推向一边。### 11....### 基本用法- **`.padding()`**:默认情况下,会在视图的四个边(上、下、左、右)都添加一个默认的内边距。内边距的大小由系统决定,通常是 16 个点。...这个命令应该能更好地保留视频的色彩和亮度,避免转码过程中出现的失真现象。还是会失真,红色变成灰色了。如果红色在转码后变成灰色,可能是在颜色空间或色彩范围处理上出现了问题。
iOS界面布局之二——初识autolayout布局模型 一、引言 在上一篇博客中介绍了传统的布局方式:autoresizing。...autolayout的设计思想是让开发者将布局上更多的精力放在控件关系上而不是坐标。我们只需要关心控件之间的摆放关系,而并不需要关心这是如何实现的。...1、了解几种约束 点击xcode的storyboard文件,在xcode的导航栏上点击Edito,然后选择Pin,可以看到如图,其中是可以添加的约束类型。 ?...3距离父视图左边20px,右边20px (5)1和2水平间距20px (6)1与3垂直间距20px (7)1和2距离父视图上边距50px (8)3距离父视图下边距20px (9)3与1和2的高度一样 通过上面的约束...2、切莫画蛇添足,矛盾的约束会使xcode晕掉,所以在添加约束前,我建议将试图间的布局关系先整理出来。
翻譯自raywenderlich上的一篇教程:Adaptive Layout Tutorial in iOS 11: Getting Started。水平有限,如有謬誤,還請斧正。...以下為譯文: Update 6/20/17: 本教程由József Vesza更新至iOS 11,Xcode 9,Swift 4。原始教程由Sam Davies撰寫。...這個過程費時費力,不過現在Xcode 9提供了一個更好的方式進行預覽。 打開Main.storyboard,然後點擊幕布底部的View as按鈕。就會展開選擇菜單: ?...與在多個模擬器中預覽相比,Xcode 9的這個改進簡直不要太方便:點擊一個按鈕,就可以檢查佈局在不同的設備是不是都能工作。 有沒有注意到上面的橫屏預覽有個怪怪的地方?沒錯,那朵「雲」太大了。...可以看到,在storyboard上,約束馬上消失了,在Document Outline和Size Inspector該約束變為灰色。
.设置某些数据变为链接形式,这个枚举可以设置如电话号,地址,邮箱等转化为链接 @property (nonatomic) UIDataDetectorTypes dataDetectorTypes; 9....allowsInlineMediaPlayback; 10.设置视频是否自动播放 @property (nonatomic) BOOL mediaPlaybackRequiresUserAction; 11...这时需要使用一些CSS样式来达到这些效果,这些CSS只适用于IOS中的Safari。 - -webkit-touch-callout 禁用长按触控对象弹出的菜单。...IOS中,当你长按一个触控对象时,如链接,safari会弹出包含链接信息的菜单。...(灰色)。
在 iOS 9 和 OS X 10.11 中,默认情况下非 HTTPS 的网络访问是被禁止的。...但是坏消息是这个键在 iOS 9 中并不会起作用。 总结一下就是,对于 API 请求,基本上是必须使用 HTTPS 的,特别是如果你们自己可以管理服务器的话。...简单说,iOS 9 只看NSAllowsArbitraryLoads,而 iOS 10 会先看NSAllowsArbitraryLoadsInWebContent。...现在 (2016.06.17) 的 iOS 10 beta 和 Xcode 8 beta 版本中NSAllowsArbitraryLoadsInWebContent似乎还不能正确工作。...如果没有特殊的什么需求的话,尽早将UIWebView全部换为WkWebView会是明智的选择。 不得不说,Apple 使用自己现在的强势地位,在推动技术进步上的做的努力是有目共睹的。
UIWebView专题 1初始化 1.1API接口使用 1.1.1loadhtmlstring iOS: UIWebview loadhtmlstring & Localcss/js/image...假设在你的ios app里的resource folder里已经存放了a webpage.css and a test.js,那么你生成的html string应该这样include them NSString...http://blog.csdn.net/fengbingyang/article/details/7484453 方案一: 最近在使用ios中的UIWebView显示本地网页时,遇到如下问题:...在PC浏览器上尝试并没有出现这种问题,因此猜测是可能是UIWebView自身的原因。...//获取iOS默认的UserAgent,可以很巧妙地创建一个空的UIWebView来获取: NSString *userAgent = [[[UIWebView alloc] init] stringByEvaluatingJavaScriptFromString
那么可以看看我的上一篇文章:iOS苹果开发者账号(公司账号)申请流程详解能正常编译打包的iOS工程项目(都不能正常编译谈何出包上架)具体步骤1.新测试设备不需要手动到开发者账号里面进行添加,连接设备运行...需要填写的信息如下:选好平台(我开发的是iOS应用,所以选择iOS平台)。名称就是最终审核通过显示在app store上面的名称(创建后是可以修改的)。语言根据app类型走,我选择的是简体中文。...备注:额外需要声明的信息,没有就不管。版本发布: 审核通过后是手动发布还是自动发布。基础信息名称和副标题:名称是app在app store上面显示的名称,副标题是显示在名称下面的灰色字样。...我就是这种情况(包含过时的UIWebView),邮件如下:解决问题,重新上传就行了。...至此,iOS app上架app store流程就结束了。最后如果觉得不够详细的话,可以看下这篇文章:https://juejin.cn/post/7164574660170874917。
(在 iOS 中使用的是 WKWebView)的加载速度,内存使用情况。...测试手机:iPhoneX 系统:iOS12.0 加载速度对比 测试网页打开的速度,只需要获取 WebView 在开始加载网页和网页加载完成时的时间戳,时间戳的差即为打开网页的时间。...> UIWebView > flutter_webview 占用内存对比 这里查看内存使用的是 Xcode 的 debug session 中的 memory,首先看之前测试时,连续打开十次新浪的内存情况...是比UIWebView更好的选择,推荐使用; flutter_webView_plugin:在iOS中使用的就是原生的WKWebView,所以总体和 native WKWebView 表现差不多。...如果是混编项目中,因为它被包了一层,所以页面加载上存在一定的劣势,所以混编项目中仍然推荐使用 WKWebView。
虽然keychain的访问有权限控制,但是,在越狱的设备上,是可以查看到所有的keychain存储数据。...(2)怎么产看keychain中存储的数据 查看前提:使用越狱的设备 将keychain_dumper文件通过iFunbox 拷贝到设备上 ssh连接到设备 chmod 777 keychain_dumper...测试点: openURL的方法实现中有没有对传入的URL参数做校验 openURL有没有校验URL来源是否安全 四、 UIWebView UIWebView是基于Webkit,和Safari和MobileSafari...是使用同一个core framework的,所以App中的UIWebview 和浏览器一样,有可能存在XSS(Cross-Site Scripting)的风险....测试点: 展示的UIWebView的内容是否存在用户输入的部分,如有,是否可以通过修改输入注入javascript脚本 展示的内容是否可能被攻击者篡改,返回含有注入脚本的内容。
一个自定义弹框,点击页面上任何地方都会触发消失手势 ~ 一个自定义弹框中有一个灰色的背景,点击可以让整个弹框都消失,点击中心的白色编辑区域,不应该消失,可是现在,点击中心的白色编辑区域也会触发加在灰色背景上的消失手势...灰色区域即可,这样,点击白色区域就不会触发灰色背景上的消失手势了。...XCode 的 Build Setting中 的 C++ Standard Library默认选择了 libc++ (LLVM C++ standard library with C++11 support...)选项, 这个表示支持c++11的最新特新, 但是它只支持ios5以上,所以如果要使用这个选项,有两个选择: 第1个选择就是 将Deployment Target中 改为5.0以上,一般不会这样,...因为我们一般想支持的sdk越低越好,尽量支持低版本的ios设备。
Autolayout自iOS 6开始引入, 但是由于Xcode 4的不给力,当时并没有得到大规模推广。...在iOS 7(Xcode5)开始,Autolayout的开发效率得到很大的提升,苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,减少纯代码的方式。...此图中距顶的约束是10, 距底的约束8, 距左边约束是87,距右边的约束是13, 那么systemLayoutSizeFittingSize:返回的CGSize为height等于19, size等于100...StackView UIStackView是iOS9新引入的控件,它支持垂直和水平排列多个子视图(SubView)。...UIStackView目前只支持iOS9+版本,如果要在iOS 7版本上使用UIStackView,可以使用下面两个第三方库:OAStackView和TZStackView。
iPhone X 适配方案 2017年9月苹果发布了 iPhone X 机型,对于它的“刘海儿”和底部 Home Indicator,QQ空间 H5 也在第一时间做了兼容适配。.../ } 在 iOS 11 机型上,H5 加入 viewport-fit=cover 后,safeArea 的值是基于“如果布局接触了非安全区域才会赋值”。...且考虑了未来机型的适配。 缺点:适配 iPhone X 时需要同时考虑其他 iOS 11 机型下会不会受到影响。...iPhone X 模拟器 H5调试 介绍 加入适配代码后,在没 iPhone X 的情况下,可以通过 iPhone X 模拟器调试,像手机QQ / 手机空间里的 H5 页面,可以通过在模拟器上安装手机QQ...Xcode 9.0 以上 步骤:在 Xcode 打开一个空白项目,选择 iPhone X 模拟器,并点击运行按钮即可。 安装应用 在 Xcode 上直接编译客户端代码。
那么可以看看我的上一篇文章:iOS苹果开发者账号(公司账号)申请流程详解 能正常编译打包的iOS工程项目(都不能正常编译谈何出包上架) 具体步骤 1.新测试设备不需要手动到开发者账号里面进行添加,连接设备运行...9.上架版本需要使用正式的证书(apple distribution),开发测试用开发证书(apple development) 10.一般都要创建两个证书一个用于开发,一个用于上架,如果有支付内容,还必需要...证书无需创建太多,apple对证书有数量限制,一般3个开发证书就不让创建更多同类型的证书了。 11.点击p12下载到电脑。...我就是这种情况(包含过时的UIWebView),邮件如下: 解决问题,重新上传就行了。...至此,iOS app上架app store流程就结束了。
领取专属 10元无门槛券
手把手带您无忧上云