首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS12、iOS11、iOS10、iOS9常见适配

使用Safe Area最低只支持iOS9,iOS8的用户就要放弃了 当UIViewController调用- (void)viewDidLoad时它的所有子视图的safeAreaInsets属性都等于...因此在viewDidload中根据SafeArea设置界面会有问题。...3.3、隐私数据访问问题 iOS10,苹果加强了对隐私数据的保护,要对隐私数据权限做一个适配,iOS10调用相机,访问通讯录,访问相册等都要在info.plist中加入权限访问描述,不然之前你们的项目涉及到这些权限的地方就会直接...iOS系统版本的不同而不同,iOS10中字体变大了。...在iOS 10 中,系统会cell保存一段时间,也就是说当用户把cell滑出屏幕以后,如果又滑动回来,cell不用再走一遍生命周期了,只需要调用willDisplayCell方法就可以重新出现在屏幕中了

2.1K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    那些年苹果做错的设计

    iOS10将iOS9在锁屏界面调出相机的交互方式,由触摸相机图标向上滑动改为左滑屏幕调出,有几点明显的体验问题: 1.操作前没有暗示,用户无法直观预知锁屏界面相机调出方式,需要有很高的学习成本,去学习这个操作...右图的解锁界面,在最近一条通知附近,有【滑动来查看】的文字提示,暗示在通知上滑动进行查看。不存在iOS6之前锁屏界面无法获知【右滑通知快速解锁并查看】的可用性问题。...iOS9之前的通话记录中,用蓝色标注该通话记录的拨打号码,如果通话记录对应的联系人,存在多个号码的话,该通话记录对应的拨打号码,并不能直观的看出是哪个号码。...而iOS9和iOS10通过不同的背景色区分不同功能区,信息的呈现更加清晰。 10.iOS的分享菜单中,下面一栏功能,给人的感觉是不可点击状态。...11.邮件详情界面,iOS10用左右箭头映射上一封下一封,不如iOS9用上下箭头映射上一封下一封邮件自然直观,更容易让用户理解。 iOS邮件列表,新的邮件在列表上方,较旧的邮件在新的邮件下方。

    88430

    iOS 推送手机消息背后的技术

    在iOS10及以上的版本中,苹果推荐开发者使用requestAuthorizationWithOptions:completionHandler:方法向用户申请消息推送权限,该方法需要指定一个用于描述推送权限的...Nullable error) {     if(granted){         //用户允许了推送权限申请     }else{         //用户拒绝了推送权限申请     } }]; 在iOS9...= nil) {        NSLog(@"%@", error.localizedDescription);    } }]; 在iOS9中,UIApplication提供了presentLocalNotificationNow...以内,建议只透传一些id和url等关键参数,具体的内容由客户端在收到推送时再去通过网络请求获取。...    completionHandler(UNNotificationPresentationOptionBadge|UNNotificationPresentationOptionAlert); } 在iOS9

    4K103

    iOS四大对象之UIApplication对象1. 获取2. 创建联网指示器3. 设置app右上角小图标的数字4. 打电话、发短信、上网5. 判断系统版本

    Paste_Image.png 3.1 授权的说明 在使用此类获取授权的时候可以看到如图的提示。划线表示已经过期,苹果不再建议使用。 官方建议使用UNNotificationSettings 替代。...因为iOS10之后过期了,但是考虑到iOS 10.0刚推出没有多久,很多用户还依然是使用iOS9,所以这个地方最好还是使用兼容iOS9的方法。 ?...打电话、发短信、上网 使用openURL的方法 // 打开百度 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];...[app openURL:url]; // 打电话 NSURL *phone = [NSURL URLWithString:@"tel:10086"]; [app openURL...判断系统版本 如果使用的方法中又不兼容系统的,就需要提前判断系统版本,从而使用不同的方法。

    56550

    iOS Airplay Screen Mirroring 同屏技术详解

    但在封闭的苹果iOS和Mac系统中,苹果使用私有的Airplay协议进行多屏互动,只开放给自己生态中的产品。...对此相关技术限制比较严格,甚至在iOS9中加上了更严格的加密算法,直接导致很多投屏的产品不可用。本文转自刘连响知乎的文章。...文 / 刘连响 iOS中的投屏方案 1.ReplayKit iOS9中引入了ReplayKit, 让开发者有了一定的获取屏幕数据的能力....并在iOS10和iOS11中继续扩展了ReplayKit的能力. 但还是有很大的限制, 比如在使用ReplayKit的api时只能录制当前应用的应用, 无法在应用进入后台之后继续录屏....在iOS9之后,在fairplay过程之前,增加一个设备匹配过程,即pair-setup、pair-verify过程,其主要算法是较为标准的非对称公钥交换算法。

    3.3K20

    iOS Airplay Screen Mirroring 同屏技术详解

    投屏技术已经被大量用在身边的产品, 比如电视投屏, 投影仪, 视频会议产品中. 在iOS平台外的其他平台中都已经有非常成熟的标准和实现....但在封闭的苹果iOS和Mac系统中, 苹果使用私有的Airplay协议进行多屏互动, 只开放给自己生态中的产品....对此相关技术限制比较严格,甚至在iOS9中加上了更严格的加密算法, 直接导致很多投屏的产品不可用. iOS中的投屏方案: 1, ReplayKit iOS9中引入了ReplayKit, 让开发者有了一定的获取屏幕数据的能力...并在iOS10和iOS11中继续扩展了ReplayKit的能力. 但还是有很大的限制, 比如在使用ReplayKit的api时只能录制当前应用的应用, 无法在应用进入后台之后继续录屏....在iOS9之后,在fairplay过程之前,增加一个设备匹配过程,即pair-setup、pair-verify过程,其主要算法是较为标准的非对称公钥交换算法。

    3.3K10

    iOS Push技术

    静默推送是在iOS7之后推出的一种推送方式。它与其他推送的区别在于允许应用收到通知后在后台(background)状态下运行一段代码,可用于从服务器获取内容更新。...1)立即展示( iOS10以前) 本地push稍微简单,有两种方式可以调用,一种是presentLocalNotificationNow方法,立即展示本地push: 2)延迟展示( iOS10...差别就是,如果app在前台是收到离线(远程)push,那么就会调用: 相对的,如果在后台或者杀进程情况下,点击收到的离线push,那么就会调用,如果没有实现: 则会调用:...UNNotificationAttachment对象时传入附件在本地的URL。...目前iOS10通知只将几种格式的图片、音频和视频作为附件,附件的大小也有一定限制,具体可以看官方文档中的限制说明。

    1.8K30

    iOS Push详述,了解一下?

    静默推送是在iOS7之后推出的一种推送方式。它与其他推送的区别在于允许应用收到通知后在后台(background)状态下运行一段代码,可用于从服务器获取内容更新。...1、立即展示( iOS10以前) 本地push稍微简单,有两种方式可以调用,一种是presentLocalNotificationNow方法,立即展示本地push: [5.png] 2、延迟展示( iOS10...UNNotificationAttachment对象时传入附件在本地的URL。...目前iOS10通知只将几种格式的图片、音频和视频作为附件,附件的大小也有一定限制,具体可以看官方文档中的限制说明。...而在iOS10中,通知的action被放在了更明显的位置,与action相关的接口也有了很大变化。 决定一个通知应该有哪些action呢?在payload中,这是由category字段决定的。

    4.5K60

    扒虫篇-Bug日志Ⅴ

    解决办法:可通过退出模拟器再次运行项目,会重新调用出模拟器。不用重置模拟器。 3. Archive 后点击 validation按钮后出现如下报错。...4.在iOS9系统的手机上使用SDWebImage不显示图片,在iOS10、iOS11手机上、模拟器上都是显示的 因为网络请求链接使用的是 https 所以info.plist中就没有设置App Transport...Security Settings 结果使用SDWebImage加载图片 在iOS10、iOS11手机上、模拟器上都是显示的,可是在 iOS9的手机上就是不显示,无奈再次在info.plist中就没有设置...PS: iOS10.3.2 系统下 UITabbar 的点击效果添加了选中背景,这在iOS11和iOS9中是没有的,没注意,当时吓一跳以为是Bug,结果是系统特色。...这个问题是在Xcode9中经常出现的问题 解决办法:把图片拖到 Images.xcassets 中即可加载显示啦。

    1.1K10

    iOS新的视频开发框架AVPlayerViewContoller与画中画技术

    在iOS8中,iOS开发框架中引入了一个新的视频框架AVKit,其中提供了视频开发类AVPlayerViewController用于在应用中嵌入播放视频的控件。...在iOS8中,这两个框架中的视频播放功能并无太大差异,基本都可以满足开发者的需求。...于此同时,在iOS9中,MPMoviePlayerController与MPMoviePlayerViewController类也被完全易用,开发者使用AVPlayerViewController可以十分方便的实现视频播放的功能并在一些型号的...(9_0); //是否支持画中画 iOS9后可用 默认支持 @property (nonatomic) BOOL allowsPictureInPicturePlayback NS_AVAILABLE_IOS...AVPlayerViewControllerDelegate中的方法可以对用户画中画的操作进行监听: //将要开始画中画时调用的方法 - (void)playerViewControllerWillStartPictureInPicture

    2.1K40

    微信iOS9适配总结

    每年iOS升级,都会带来一些坑,这次iOS9也不例外。本文总结了微信在适配iOS9上遇到的问题和解决方案。 一、iOS9问题汇总 1....4、systemName [[UIDevice currentDevice] systemName]在过去版本中一直返回"iPhone OS",但在iOS9.1 beta中,这个函数返回值变成了...另一种方法是在显示window时先调用[mainWindow endEditing:YES],把主window的键盘收起来,然后再显示window。...3.3 分屏状态下,系统的视频录制功能不可用。如果某个功能用到了视频录制功能,建议像系统照相机一样,在分屏时给用户提示一下。 3.4 避免hardcode。...三、总结 本文总结了微信在适配iOS9中遇到的常见问题,相信iOS9还有其它深坑有待挖掘,欢迎大家补充。

    2.1K50

    APP性能测试—PerfDog

    统计结果和Xcode一致,iOS App中CPU使用率公式如下: PerfDog使用率=Xcode使用率/核心数 备注:iOS平台CPU Usage是未规范化CPU使用率,由于iOS平台,频率变化一般是在电池电量极低...PerfDog暂时在iOS9、iOS10系统无法获取,其他版本OK。后续版本增加,如做性能测试,建议升级iOS系统版本。...注:iOS9、iOS10系统暂时无法获取,其他版本ok。后续版本增加。...批注及标定 在性能测试过程中,我们可能需要添加标记点来记录执行过程中的关键点。在Perfdog中添加标记的操作如下: 鼠标左键双击,则可以自定义添加批注。 左键双击已生成的批注,则取消。...在管理Tab界面点击创建按钮即可创建自定义任务。 ? 任务归档 在我的数据中,可以将用例归档到创建的任务之中。 ? 报告分享 选择指定的用例,可以将测试报告进行公开或非公开分享。 ?

    3.9K51

    iOS KVO实现原理及使用

    关于KVO的实现,文章已经很多了,这里阐述我个人的观点,写一些自己的感受 1、简介 KVO(key-value observe)是在KVC的基础上实现的一种用于监听属性变化的设计模式;如果对某个类的某个属性设置了...否在当类要被释放时会发生崩溃 - (void)dealloc { [_kvoTest removeObserver:self forKeyPath:@"nameStr"]; } 这里有一点,提一下,iOS11如果不调用上面的方法...,也不会崩溃,亲测,但是iOS10及以下的设备会崩溃。...在官方文档中没有查到相关的的说明(在iOS9之后,NSNotification已经不用移除了,可能也是这个趋势吧)。...NSKVONotifying_对象名 类,来实现当前类属性值改变的监听,这也就是前面所说的“黑魔法”;我还试了一下,创建一个新的名为“NSKVONotifying_对象名”的类,发现系统运行到注册 KVO 的代码时,iOS10

    52520

    H5页面判断客户端是iOS或者Android并跳转对应链接唤起APP

    通过判断是否是微信,部分不能用微信打开的页面,可以设置一个引导提示,让用户在浏览器中打开。 ...唤醒APP 或者: window.location.href = schemeUrl; iframe 方式: 直跳方式中,如果APP唤醒失败或者未安装,很多时候都会跳到错误页...iOS9 在 iOS 9 上,iframe 方案不可用。 按不能使用之前Android的代码,因为在打开自定义 URL scheme 时,会弹出对话框,询问是否用 xx 应用来打开。...location.href = '下载页';     }, 250);     setTimeout(function() {         location.reload();     }, 1000); } 不过在iOS9...中其实是支持universal link的,就是一个http域名形式,在微信中都可以唤起APP。

    13.5K30
    领券