每年iOS升级,都会带来一些坑,这次iOS9也不例外。本文总结了微信在适配iOS9上遇到的问题和解决方案。 一、iOS9问题汇总 1. 编译问题(Bitcode) 大部分人升级到Xcode7后,首先遇到的问题是编译不过,错误提示大致是 xxx does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated libra
在info.plist中加入安全域名白名单(右键info.plist用source code打开)
Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.plist
现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见。本文的目的在于介绍分享功能的基本实现。使用的是友盟的社会化分享组件,这样就不用一个一个对接各个平台的接口,可以使用一套接口来实现多个平台的分享功能。本文以分享到微信、QQ、微博为例。
前面有一篇博客探讨了iOS中视频播放的开发相关类和方法,那篇博客中主要讲解的是MeidaPlayer框架中的MPMoviePlayerController类和MPMoviePlayerViewController类。在iOS8中,iOS开发框架中引入了一个新的视频框架AVKit,其中提供了视频开发类AVPlayerViewController用于在应用中嵌入播放视频的控件。在iOS8中,这两个框架中的视频播放功能并无太大差异,基本都可以满足开发者的需求。iOS9系统后,iPad Air正式开始支持多任务与画中画的分屏功能,所谓画中画,即是用户可以将当前播放的视频缩小放在屏幕上同时进行其他应用程序的使用。这个革命性的功能将极大的方便用户的使用。于此同时,在iOS9中,MPMoviePlayerController与MPMoviePlayerViewController类也被完全易用,开发者使用AVPlayerViewController可以十分方便的实现视频播放的功能并在一些型号的iPad上集成画中画的功能。
参考文献来自:http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/ 问题描述:在iOS9下,系统默认会拦截对http协议接口的访问,因此无法获取http协议接口的数据。对ShareSDK来说,具体表现可能是,无法授权、分享、获取用户信息等。 还可能造成我们的编辑界面里传http之类的网络图片的时候,我
在iOS8中,APP的定位服务apple就做了一些修改,需要用户申请相应的权限,并在info.plist文件中添加对应的键值。具体的做法在这篇博客中有详细的讲解:http://my.oschina.net/u/2340880/blog/414760。
今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装。本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UICollectionView添加的一些新的特性。本篇博客所涉及的技术点主要有UICollectionView的Cell移动,手势识别,控件封装,闭包回调,面向接口编程,Swift中的泛型等等。这些技术点在之前的博客中也多次使用到,只不过本篇博客使用这些技术点来完成我们的具体需求。 一、实例运行效果 先入为主,下方这个效果
最近做项目的时候 将电脑版本升级到10.11.3 xcode'升级到 7.2 但是在模拟器上边进行数据请求的时候告诉我说网路哦有问题 截图如下 通过网络终于找到了解决的办法 原来是ios9 采用
在应用A跳转到应用B,则给A、B自身自定义URL Schemes(自定义的协议头)后,通过在A中处理B的URL Schemes,就可以在A中启动B了。
前几天看到sunnyxx团队的新作FDStackView。大家都知道在iOS9苹果提供了一个新的玩具UIStackView,然而在iOS9以前是没有办法使用的。可通过FDStackView你却可以在iOS9以前的系统上使用UIStackView,更重要的是我们不需要去做任何额外的工作,FDStackView会自动为我们处理好一切。
iOS从07年第一代iPhone发布时的iPhone OS,已发展到今天的iOS10,这些年来,iOS从最初的一个简单、粗糙的ROM,发展成现在手机ROM中体验标杆的操作系统。设计风格走过了拟物化,扁平化,今年已发布的iOS10,设计风格也开始偏向卡片式风格,随着新的交互方式3D Touch的加入,开始脱离单调的扁平化设计,卡片式风格让设计语言更加符合用户的操作认知(卡片式的内容,对人有更强的按压操作暗示)。 iOS10锁屏Widget界面 手机友商的跟进 苹果的设计,给大家的印象,总能精准的发现用户的痛点
众所周知,OpenGL的鲁棒性很强,ES也同样,一般不会crash,例如某些接口传的参数不是OpenGL预期的类型,也很少会发生crash。可是,一旦发生了crash或渲染异常,由于其本质上是一个状态机,就导致了错误会累计,发生crash的现场并非问题的源头,十分难定位。好比OpenGL会经常挂在drawcall上,然而很有可能是在前面的glBindTexture、glTexImage2D或glUniformMatrix等方法中出现了问题。故此,本文根据笔者遇到的OpenGL ES问题,包括crash或渲染异常,整理出一份OpenGL ES在iOS系统中的问题快速定位表单。
WWDC2015苹果宣布在ios9支持纯IPv6的网络服务,并且要求2016年提交到app store的应用必须兼容纯IPv6的网络,要求适配的系统版本是ios9以上(包括ios9)。
投屏技术已经被大量用在身边的产品, 比如电视投屏, 投影仪, 视频会议产品中. 在iOS平台外的其他平台中都已经有非常成熟的标准和实现. 但在封闭的苹果iOS和Mac系统中, 苹果使用私有的Airplay协议进行多屏互动, 只开放给自己生态中的产品. 对此相关技术限制比较严格,甚至在iOS9中加上了更严格的加密算法, 直接导致很多投屏的产品不可用.
iOS9中引入了ReplayKit, 让开发者有了一定的获取屏幕数据的能力. 并在iOS10和iOS11中继续扩展了ReplayKit的能力. 但还是有很大的限制, 比如在使用ReplayKit的api时只能录制当前应用的应用, 无法在应用进入后台之后继续录屏. 如果使用系统级别的屏幕录制,又无法获得每一帧的数据,只能获得最后录取的单个视频. 这样对第三方的开发有了非常大的限制.
本文首发于我的个人博客:『不羁阁』 https://bujige.net 文章链接:https://bujige.net/blog/iOS-Application-jump.html 这篇文章通过一步步指导,教你彻底学会『iOS应用间相互跳转』问题。文末有Github的学习Demo。 1. 应用间相互跳转简介 在iOS开发的过程中,我们经常会遇到需要从一个应用程序A跳转到另一个应用程序B的场景。这就需要我们掌握iOS应用程序之间的相互跳转知识。 下面来看看我们在开发过程中遇到的应用场景。 2.
解决方法:首先这个警告不会造成上传失败,也不会造成审核被拒。其次可以通过移除代码中警告的那些代码,并移除多余不使用的系统类库(framework),使警告消失。
前面刚发了这个技巧总结系列的第四篇文章,这篇文章总结的一些日常开发中的技巧或更偏向于Cocos2d方向,因为最近在游戏中有原生的一个客服系统需要加进来,就涉及到一个游戏和原生界面的交互以及各种各样的BUG,游戏是属于在别人代码的基础上进行的二次开发,属于一个非ARC的情况,而我们现在的三方应该都是ARC,还有那些让人头疼的屏幕旋转键盘等等的问题,最近爬的坑有点多,所有这篇就主要来总结这些坑!当然在我们的普通应用中遇到这些问题我们还是同样可以依照这些技巧总结的。
在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。
众所周知,苹果iOS 9的推新速度已经打破了纪录,9.1刚刚于上周推出后,昨天,9.2 beta1已经出来了。 那么,到底iOS9都有哪些坑?网上能够搜索到的那些大的方面,本文不再罗列,想必每一个使用Xcode7编译的App都已经做过了相关的工作。本文只讲本团队开发过程中遇到的非常小但却非常隐蔽的“坑”“坑”“坑”! 1问题的发现 某天,本团队正在如常监控App的Crash数据,突然发现其中多了几个特殊的Crash类型。经过汇总分析,发现了重现Crash的软硬件环境,于是尝试重现了一下,将系统升级到9.1b
UIWebView自iOS2就有,WKWebView从iOS8.0(2014年9月WWDC)才有,毫无疑问,WKWebView相对UIWebVIew要优秀得多,主要表现在以下几点:
在iOS7之前,系统一直没有提供一个完整的框架来描述任务进度相关的功能。这使得在开发中进行耗时任务进度的监听将什么麻烦,在iOS7之后,系统提供了NSProgress类来专门报告任务进度。
前端爱好者的聚集地 背景 最近在做微信、QQ、微博中使用js唤起App,之前也做过类似的功能,不过比较粗糙,考虑的情况不太全,而且那已经是很久之前的事情了,很多技术都已过时,现在有体验更好,功能更加完善的唤起技术,之前的很多的方案,到了现在都已是不太必要了,现在通过这篇文章分享给大家一个全面的、最新的唤起方案,希望对大家有帮忙。 最终实现的效果 用户点击H5页面的打开App或者下载按钮(这个按钮可能在一个下载入口页、各种分享页面的吸顶或吸底的banner),如果用户已经安装了App,则根据业务跳转到相
据外媒报道称,中国移动计划在2019年底前为消费者提供全面的5G服务,比原定的 2020 年提前一年,其将采用“分层分组网络(SPN)技术”,这有助于5G网络更快的普及。 之前,中国移动表示,SPN技
上面的gif图会发现在显示验证码计数时出现跳动和闪烁的问题。目前大多数用来实现定时器显示的控件都是UILabel。
在以前iOS开发中,涉及联系人相关的编程,代码都非常繁琐,并且框架的设计也不是Objective-C风格的,这使开发者用起来非常的难受。在iOS9中,apple终于解决了这个问题,全新的Contacts Framework将完全替代AddressBookFramework,AddressBookFramework也将成为历史被弃用。至于AddressBookFramework的相关api如何繁琐,在以前的博客中有记录,地址如下:
打开终端,执行一下该命令就可以了,其中 iOS 9.1.simruntime 需要根据自己的情况修改版本号
现在有闲写写之前我在使用 ShareSDK 第三方分享与登录遇到的问题,我在使用是官网版本:V3.2.0(现在版本:V3.2.1)的时候遇到问题,都是适配iOS9新特性的问题 Mob 官网有很详细文
iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。
远古的iPhone3和iPhone4时代,设备尺寸都是固定3.5inch,没有所谓的适配的问题,只需要用视图的frame属性进行硬编码即可。随着时间的推移,苹果的设备种类越来越多,尺寸也越来越大,单纯的frame已经不能简单解决问题了,于是推出了AutoLayout技术和SizeClasses技术来解决多种设备的适配问题。一直在做iOS开发的程序员相信在下面的两个版本交界处需要处理适配的坎一定让你焦头烂额过:
12.jpg iOS多国语言国际化由于我个人也是第一次做,所以遇到了很多问题, 在此我把我所遇到的一些问题分享给大家。 最基础的怎么进行多国语言国际化在此就不老生常谈了,有兴趣的朋友可自行百度。 1.首先我们说下翻译的格式:"你好" = "hello"; 我们可以把需要翻译的文档制作成"你好" = "";这种Word文档 每一种语言一个Word文档,这样你会发现,你做国际化的时候会快很多,不必到处找啊找的,我们这次搞得就是表格样式的,坑死人了,放翻译文档放的手都软了; 2.我们尽量把同一个VC的词语
iOS每一次升级,App开发者都会如临大敌、严阵以待,以求App能够适配最新版iOS,各类应用纷纷较量谁是最先兼容iOS新版本的。9月16日被视作iOS史上最重要更新的iOS 9正式推送,各家App纷纷宣布对其实现了兼容,输入法领域拔得头筹的是百度输入法,其在9月15日便发布了V6.0版本适配了正式版iOS9,比搜狗输入法等竞品领先一步。 输入法为什么如此重视iOS? 对于中文用户而言,输入法是否好用很大程度决定了使用手机的整体体验,iPhone本身是一部体验上乘的智能手机,不过它自带的输入法却一直让用户懊
在iOS开发中,经常会使用到定位和地图,Apple自带的定位和地图应付一般的场景绰绰有余,但是也缺少一些功能,如POI搜索、不够接地气等。因此作者选择了高德地图,这篇文正主要介绍定位功能的集成。 环境
一名黑客发现了一个新的、非常简单的方法,该方法利用了苹果的私人助理Siri,绕过运行iOS 9的锁屏iOS设备(iPhone、iPad或iPod touch)的安全机制,这使得攻击者在30秒或许更短时间内就能访问设备中的照片和联系人。 iOS 9曝密码绕过漏洞 通常来说,在你的iPhone手机上设置密码,就是能助你防止别人访问你的设备的第一道防线。然而,如果你的iPhone手机中运行的系统是iOS 9版本,那么任何人都可以在30秒内轻易地访问你的私人图片和联系人,即使你的手机设置了密码或者开启了Touc
iOS电量测试 活动时间:2017年11月15日 斗鱼直播 活动介绍 TMQ在线沙龙第三十三期分享 本次分享的主题是:iOS电量测试 共有69位测试小伙伴报名参加活动! 想知道活动分享了啥吗, 请往下看吧! 嘉宾 张锦铭,从12年开始跟进iOS性能相关测试,在iOS性能相关领域有比较多的了解和尝试。曾在iOS平台上提供成熟的电量、响应速度、内存等的自动测试解决方案。 分享主题 1、iOS接口层电量测试 2、基于sysdialog电量测试 3、QQ浏览器电量测试举例 4、关于电量排行榜 问答环节 1
大家都爱调侃,最近这两年 iOS 的升级越来越安 卓化了,但你有了解过,ios 的历史是怎样的, 它是如何从一个青涩少年变成如今成熟的「大 人」模样?走进i0s 的进化史,看看 ios 从1到 15 都变化了什么! hello i0s 系统发布时间轨迹:iphone os 1 (2007) iPhone OS 2 (2008) iPhone OS 3 (2009) iOS 4 (2010) iOS 5 (2011) iOS 6 (2012) iOS 7 (2013) iOS 8 (2014) iOS9 (2015) iOS 10 (2016) iOS 11 (2017) iOS 12 (2018) iOS 13 (2019) iOS 14 (2020) iOS 15 (2021)
问题描述:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme。对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端。因此要支持客户端的分享和授权等,需要配置Scheme名单。
每一个应用都有自己的UIApplication对象,而且是单例的 iOS程序创建的第一个对象就是UIApplication 通过[UIApplication sharedApplication]可以获得这个单例对象 一个iOS程序启动后创建的第一个对象就是UIApplication对象 一个应用程序里面只能有一个UIApplication对象,且只有一个(通过代码获取两个UIApplication对象,打印地址可以看出地址是相同的)。 利用UIApplication对象,能进行一些应用级别的操作。 1. 获
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/48297207
关于 iOS 10 UICollectionView的新特性,主要还是体现在如下3个方面
KVO(key-value observe)是在KVC的基础上实现的一种用于监听属性变化的设计模式;如果对某个类的某个属性设置了KVO,那么当这个属性发生变化时,就会触发监听方法,从而知道属性变化了。如果本类一个属性的改变会影响到其他多个属性的变化,我们也会经常自己重写这个属性的set方法,用来监听他的变化,但是如果不是本类的属性,我们就没办法重写其set方法了,这个时候KVO就可以上场了,其实KVO本质上也是重写set方法,而整个过程依赖于runtime才能实现。
PerfDog是一个移动全平台Android/iOS性能测试、分析工具。可以快速定位分析性能问题。手机无需ROOT/越狱,手机硬件、游戏及应用APP也无需做任何修改,极简化即插即用。
前期准备工作:可以参考这篇博文http://www.jianshu.com/p/839dc30f2250 iOS版本只需要提供Bundle Id即可
接到一个紧急修复需求,发现一个 H5 游戏在 iOS9 下显示高度没有铺满屏幕,需要调整高度达到自适应。
——小米跃居智能手机市场份额首位 目 录iOS市场观察1. iOS各版本分布 2. iOS各机型占比安卓市场观察3. 安卓各版本分布 4. 安卓各品牌占比 5. 安卓各机型占比移动网络现状6. 4G网络发展现状 7. 三大运营商市场份额应用市场生态8. “黑五”海淘APP下载/更新情况 1. iOS9 发布三个月,安装率轻松过半 iOS9的安装率,在3个月内(15年9月至12月)迅速攀升至56.62%,占据系统版本市场大头。 iOS9.2在2015年自12月9日出炉,已有51.9%的
相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用。然而如果你用过,你会发现这两个控件的设计思路有些繁琐,通过创建设置代理来进行界面的交互,将代码逻辑分割了,并且很容易形成冗余代码。在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertView和UIActionSheet这两个控件,在iOS中,如果你扔使用UIAlertView和UIActionSheet,系统只是会提示你使用新的方法,iOS9中,这两个类被完全弃用,但这并不说明旧的代码将不能使用,旧的代码依然可以工作很好,但是会存在隐患,UIAlertController,不仅系统推荐,使用更加方便,结构也更加合理,作为开发者,使用新的警示控件,我们何乐而不为呢。这里有旧的代码的使用方法:
领取专属 10元无门槛券
手把手带您无忧上云