
- 软件语言
- Swift,Objective-C、C、C++
- 软件大小
- 1.2 GB
- 开发商
- Apple - 苹果
- 软件授权
- 仅苹果移动设备使用
- 更新时间
- 2020年7月16日
- 中文名
- 苹果移动设备操作系统
- 最新正式版
- iOS 13.6(17G68)
- 全 称
- iPhone Operation System
- 最新测试版
- iOS 14.0 Beta3(18A5332f)
- 外文名
- iOS
-
18个 ios 项目源代码
2014-02-27 17:08:3118个 ios 项目源代码 各种布局 控件使用 及扩展视图 自定义UITableViewCell。实现各种样式的表格输入界面、自定义Tab Bar的文字、颜色和图片加箭头、列表个性化列表项、IOS欢迎界面等。 -
iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关: UIPageControl的pageImage3、UIView...
2020-09-19 16:46:02iOS14 隐私适配:【定位授权新增了精确和模糊定位 可根据不同的需求设置不同的定位精确度】向用户申请临时开启一次精确位置权限的方案(不同场景可定义不同purposeKey) II、KVC相关的适配 iOS14 适配:【KVC 不允许...文章目录
前言
I、隐私权限相关的适配
iOS14相册权限适配 :Limited Photo Access模式、PHAccessLevel(请求查询limited权限在 accessLevel 为readAndWrite 生效)、图片选择器
-
iOS14 适配:【IDFA Identity for Advertisers 广告标识符】(请求用户授权获取到正确信息)
-
【 读取用户剪切板数据会弹出提示】 查找哪些SDK使用了剪切板,及时升级SDK。比如发现了JCore iOS SDK在iOS 14引用剪贴板,该行为导致APP被用户怀疑隐私泄露,请予以重视
II、KVC相关的适配
III、UIView相关的适配
iOS14适配:【解决iOS14下pop多层控制器至首页时,tabbar不显示问题】方案1:重写pushViewController;方案2: hook hidesBottomBarWhenPush
因此问题涉及的是添加子视图cell.addSubView方法,因此与之对应的方法(UITableViewCell *)[SubView superview] 和cell.subviews方法 都要注意谨慎使用和处理
IV、第三方框架相关
4.1 QMUIKit
Main Thread Checker: UI API called on a background thread: -[UIWindow windowScene]
================================================================= Main Thread Checker: UI API called on a background thread: -[UIWindow windowScene] PID: 580, TID: 21138, Thread name: (none), Queue name: com.apple.root.user-initiated-qos, QoS: 25 Backtrace: 4 retail 0x000000010576b628 __62+[UIWindow(QMUIUserInterfaceStyleWillChangeNotification) load]_block_invoke_3 + 296 Main Thread Checker: UI API called on a background thread: -[UIWindow traitCollection] PID: 509, TID: 22376, Thread name: (none), Queue name: com.apple.root.user-initiated-qos, QoS: 25 Backtrace: 4 Housekeeper 0x0000000100f3c000 __62+[UIWindow(QMUIUserInterfaceStyleWillChangeNotification) load]_block_invoke_3 + 92
- 解决方案:如果你没使用QMUITheme,就直接注释掉代码即可。
@implementation UIWindow (QMUIUserInterfaceStyleWillChangeNotification) #ifdef IOS13_SDK_ALLOWED + (void)load { return ; }
如果你使用QMUITheme,则及时你更新4.2.1版本也无法根本性解决
这是因为系统自己在子线程访问了这些方法,只是 Main Thread Checker 对其做了兼容,发现 App 自己修改了这些方法的实现,才报错,没修改则不报错。
检测方式可以打条件符号断点,然后把 QMUI 那段代码注释掉,运行起来后会发现依然能命中这个断点,说明系统自身确实是在子线程访问了(UIKit 这种行为特别多,不只是这里)。
所以从原理上看,QMUI 命中这个主线程检测是不可避免的,目前只是做了一些优化,只有真正使用了 QMUITheme 组件时才会出现这个情况,没使用的时候就不会命中,以减少一部分的出错场景。这个优化将会跟随 4.2.1 版本发布。V、网络相关
iOS14 开启 encrypted DNS 提高安全性,防止DNS 劫持
VI、Mac Catalyst 相关
本来iOS不越狱的情况下是没权限看沙盒文件,这下到好了,macOS倒是打开了大门
5.1 判断App是运行在Mac还是iPhone上
- 使用iOS14 新增的API进行判断
+ (void)deviceisMac{ BOOL isMac = false; if (@available(iOS 14.0, *)) { isMac = NSProcessInfo.processInfo.isiOSAppOnMac; } NSLog(@"App %s on Mac:",isMac ? "":"not");// }
- 获取设备型号进行判断App是运行在Mac还是iPhone上
/** #import <sys/utsname.h> 获取设备型号 应用场景:判断App是运行在Mac还是iPhone上 "MacBookAir10,1": "MacBook Air (M1, 2020)", "MacBookPro17,1": "MacBook Pro (13-inch, M1, 2020)", "Macmini9,1": "Mac mini (M1, 2020)", */ + (void)deviceModel { struct utsname systemInfo; uname(&systemInfo); NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; NSLog(@"deviceModel:%@", deviceModel);//iPhone8,1 }
-
-
本博客精品专栏汇总:【《iOS进阶》、《iOS应用安全与逆向》、《Java开发的深入浅出》】(持续更新)
2020-11-11 14:11:33文章目录前言I、 iOS进阶II、iOS逆向III、 javaIV 、iOS基础 前言 “订阅”一次 ,享受终身服务的快乐 订阅任意专栏,享有全部专栏 I、 iOS进阶 进程间的实时通讯方案: local socket(解决扩展和容器应用的实时...文章目录
前言
- 原文:
- “订阅”一次 ,享受终身服务的快乐
订阅任意专栏,享有全部专栏
I、 iOS进阶
《iOS进阶》专栏入口
《iOS基础》专栏入口
《iOS应用安全与逆向》专栏入口
II、 Java开发的深入浅出
《Java开发的深入浅出》专栏入口
III、理解计算机
《理解计算机》专栏入口
《阅读与写作》专栏入口
see also
我已加入CSDN内容合伙人计划,亲爱的各位粉丝,可以添加我的CSDN官方微信号,和我近距离互动聊天,为您答疑解惑
其他平台文章
推荐公众号
推荐理由:以下书籍只是他的冰山一角
-
iOS8开发技术(Swift版):iOS基础知识
2015-01-14 10:31:27本课程主要介绍了开发iOS app的一些基本情况。例如,需要的硬件和软件条件,如何申请开发者账号,XCode的常用功能介绍。后给出一个iOS App的案例来演示开发App的过程。 -
iOS Bug 太多,苹果终于坐不住了!
2019-11-23 09:10:00开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。...开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢?
整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友仍然表示,「无论是从设计、性能,还是流畅度等方面,总觉得 iOS 系统要比 Android 更胜一筹。」
事实是否真的如此?对此,一些资深果粉则无奈回应,随着时间的推移,iOS 的功能的确在不断完善,但是如今的 iOS 也不再是大家印象中的 iOS 了,它的 Bug 让人崩溃不已。就以当前最新的 iOS 13 为例,自从今年 9 月 19 日正式发布以来,关于该版本闪退、无故重启、相机无法工作等各种吐槽的声音充斥网络。
如今,在连发多个版本更新之后,苹果自己也终于忍不了了。据彭博社的一份报告显示,由于存在漏洞和稳定性问题的 iOS 13 发布之后,苹果计划彻底改革其开发和测试 iOS、macOS、watchOS 和 tvOS 的方式,希望使用新的方法来长期改善每个软件平台的质量。具体的改进将体现到 iOS 14 版本系统中。
iOS 13 的那些坑
苹果之所这么做,想必也是听到了不少网友的声音。
生于两个月前的 iOS 13,新增深色模式、浏览编辑照片的全新方式,以及在隐私与安全等方面做了很多的优化与性能改进。不过,仅在不到一周的时间,苹果就带来了 iOS 13.1 版本,进行了诸多错误修复和改进,也带来了隔空投送、企业设备管理的改进以及电池健康等更全面的功能,对此,不少人更认可 iOS 13.1 才是 iOS 的大版本更新。
不过,在升级之后,据多方网友反映,iOS 13 出现了诸多的 Bug,其中最为严重的无疑是杀后台问题。
据外媒报道,网友 Rogifan 称:“我正在 iPhone 11 Pro 上在线观看视频,暂停了视频以回复短信。我在 iMessage 中呆了不到一分钟。当我返回 YouTube 时,它重新加载了该应用程序,并且丢失了我正在观看的视频。我在 iPad Pro 上也注意到了很多类似的情况,与 iOS 12 相比,应用程序和 Safari 选项卡的重新加载频率更高。”
在国内,也有不少用户表示自己正在使用微信语音通话,刚切换到其它 App,微信进入后台运行情况,不到三秒,微信后台就被系统杀掉。针对这一问题,微信官方团队此前回应,「用户升级到 iOS13.2 版本,可能会导致 App(如微信)在回到手机桌面或锁屏后被系统关闭,下次打开需要重新启动 App。建议先不升级 iOS 版本,或耐心等待问题修复。」
诸如此类的仍有很多。而截止目前,iOS 13 已经接连发布了多个版本更新,这一情况也是前所未有的。
苹果计划改变其开发内部 iOS 版本的方式
基于这种现状,苹果想要做出彻底的改变。据彭博社的一份报告显示:
新的开发过程将帮助早期的内部 iOS 版本对于苹果而言,更加可用且实用。在开发 iOS 14 前,苹果公司的部分开发团队会每天添加一些未经完全测试的功能,而其他团队则会每周进行修复。对此,有知情人士形容道,日常构建版本好比一本食谱,里面有很多厨师在加配料。
这种做法的好处是,苹果公司的开发团队可以在开发系统的新过程中使用“标记”,从而使软件工程师能够以隔离的方式有选择地启用或禁用未完成的或有漏洞的功能,以确保不会破坏整体稳定性。
其实,“标记”这一方法早在其他科技公司(如 Google 和 Microsoft)内部中广泛使用。
此外,据报告透露,苹果还考虑将某些 iOS 14 功能推迟到 2021 年,以确保更加稳定的功能上线。
【End】
热 文 推 荐
☞小米 9 年,雷军开启 AIoT 与 5G 超级互联网时代!
☞他的公司1年令比特币暴跌数次,上榜福布斯捐10亿美元的跨界传奇
点击阅读原文,参加中国开发者现状调查!
你点的每个“在看”,我都认真当成了喜欢
-
分享一下自己的手机从ios14降级回ios13.5.1,可以保存资料哦
2020-06-27 11:23:30ios14 6月22号凌晨ios14测试版推出后,上午立马给我的小7装上尝尝鲜。 ios14主要的不同点是: App资源库,可以智能分类 小组件,主屏幕和负一屏 画中画,这个实测仅限apple TV可以使用 接下来的一段时间让我深刻...7月4号更新
关于ios14降级后点击图片和网页分享页面出现空白的情况
需要还原系统设置,这样子会重置当前的所有设置(不会清除数据)。
通用—还原—还原所有设置(会重启)
下面是修复问题后的样子
升级ios14测试版
6月22号凌晨ios14测试版推出后,上午立马给我的小7装上尝尝鲜。
想要尝试的请下载描述文件,iphone和ipad通用。
https://www.firedev.xyz/14/iOS_iPadOS_14_AppleSeed_Profile.mobileconfig
注意:使用Safari浏览器(iphone自带的)
ios14主要的不同点是:
- App资源库,可以智能分类
- 小组件,主屏幕和负一屏
- 画中画,这个实测仅限apple TV可以使用
接下来的一段时间让我深刻体会到了什么是测试版,噩梦开始了
- 手机发热(堪比某米)
- 掉电巨快
- 有时莫名的卡顿
- 系统占用内存的变大
最让我受不了的还是前面两点
ios14降回ios13.5.1
昨天晚上实在是受不了,决定倒退系统
准备工作
- itunes(用来备份手机和还原)
- ios13.5.1固件包
1、备份
建议啊,icloud基本备份一下!!!!!!
微信和QQ的聊天记录备份,可以先备份到电脑上,双重保险。
由于 iOS 系统限制,跨版本降级会导致设备数据丢失,理论上从 iOS 14 备份的数据也无法恢复至 iOS 13 系统,你现在用爱思助手或者 iTunes 备份的数据,降回 iOS 13 是无法恢复的。
1.1、首先,在 iOS 14 系统下通过 iTunes 完整备份你的 iPhone 资料。
如果找不到这个页面,请点击这个手机小图标
1.2、备份完成后,打开刚刚备份的文件
windows:C:Users/用户名/AppData/Roaming/Apple Computer/MobileSync/Backup
打开最新的备份文件夹,用记事本/文本编辑工具打开info.plist
(文件被删除了,就不上图了)Ctrl+F 查找Product Version
在这个字段的下一行就是关于IOS备份的版本号了,因为是在ios14下备份的嘛,这个就是14了
<kev>Product Version</kev> <string>14.0</string> <key>Serial Number</key>
把中间的14.0修改为13.5.1,也就是要降级的系统版本。注意啊,这个版本号千万不要写错!!!!!
2、固件包
2.1、在爱思助手官网上下载相应的固件包
3、使用itunes进行降级
打开 iTunes,按住 shift(windows)键,点恢复 iPhone,在弹出窗口中选择下载好的 iOS 13.5.1 系统固件等待刷机完成即可
实测
除了邮件账户需要重新添加,别的数据都在。(也可能是icloud有基本备份)
成功了的小伙伴帮我点一下赞噢
-
iOS13 已越狱 iOS12.4 已越狱
2019-06-20 12:13:39你没看错,iOS13 beta 内测版系统刚出没多久,那么快被攻破了,在2019年6月11日国外越狱大神 iBSparkes 开发者 在推特分享了二张图片,分别为iOS12.4 和 iOS 13 已经越狱的 Cydia 截图。众所周知一旦设备成功搭载 ... -
iOS9程序设计(顶级iOS开发视频课程-Objective-C版)
2016-11-05 20:48:10iOS9程序设计(顶级iOS开发视频课程-Objective-C版) 本课程主要内容包括: iOS9的基础知识 常用控件 屏幕适配 多窗口 导航 表视图 GPS 地图 网络 数据存储、 音频 视频 本地化等内容,并提供了大量的... -
iOS UI实战
2019-12-20 09:20:59本课程讲述iOS用户界面的使用,内容包括:UI组件、视图控制器、图像绘制和动画。 -
iOS高级专题
2019-12-20 09:35:40本课程讲述iOS开发中的高级专题,内容包括:音频视频开发、数据库SQLite、CoreData、网络编程、多线程、GPS定位、手势处理、传感器编程、通讯录等。 -
iOS快捷指令最全整理(支持iOS14),抖音去水印捷径快手去水印捷径
2020-08-02 07:56:13收集整理一波iOS捷径库(使用方法见文末,支持iOS14),包括了大家最想要的抖音去水印捷径和快手去水印捷径。大家使用过程中如果发现有啥问题或者想实现什么快捷指令,关注微信公众号“云峰小罗”,发送“捷径”找我... -
最全iOS12捷径库收集整理,iOS12捷径推荐
2018-09-30 16:51:28收集整理一波iOS12的捷径库(使用方法见文末),大家使用过程中如果发现有啥问题或者想实现什么捷径,可以关注微信公众号“云峰小罗”,找到我。 1.抖音视频无水印下载 2. 清除照片位置信息 3. 获取热门新闻 4.照片... -
ofstream之ios::ate,ios::app,ios::in,ios::out
2016-11-23 16:47:35ofstream流,以ios::app打开(或者“ios::app|ios::out”),如果没有文件,那么生成空文件;如果有文件,那么在文件尾追加。 以ios::app|ios::in打开,不管有没有文件,都是失败。 以ios::ate打开(或者”ios::ate... -
iOS开发实战精讲
2015-02-28 10:01:18本课主要介绍iOS实际开发的重要的知识点,帮助开发者打通从项目到发布的各个流程与环节,后你会了解iOS开发其实也是很容易的。 -
ios basic_ios和ios_base 的区别
2018-08-24 13:36:41关于ios,作为C++的程序员肯定不陌生,最基础的,我们在设置小数位精度的时候,要用ios::fixed。作为ACM选手,最常用的ios::sync_with_stdio(false) 笔者今天在codeforces上看别人代码时,看到别人用了ios_base::... -
关于ios13升级到ios14企业APP出现无法安装解决方案
2020-09-17 16:55:50在IOS14更新完了之后我们公司app 出现了无法安装的问题, 同一个plist文件,13能,安装,14就提示无法安装,明天就开始推ios14了,所以就显得很急,下面记录下我们的解决方案: 我们没有是用apple store方式下载,我们用的... -
iOS进阶开发
2017-10-16 21:12:47进阶课程涵盖目前iOS开发需要提升和深入研究的基础知识.通过原理讲解,深入理解底层机制.课程答疑讲师QQ:471926977 -
PC电脑控制手机iphone(iOS 11、iOS 12、iOS 13),需越狱
2020-08-06 15:32:33但是最高支持到IOS8,在IOS 10以上无法使用。 基于Veency,cosmosgenius开发了screendump,使其支持到iOS 11。但是没有支持iOS 12和13。 julioverne在cosmosgenius的基础上改进了screendump,使其完美支持ios12和ios... -
iOS逆向 - iOS13 iOS14 模拟点击 模拟触摸 按键模拟 新触动精灵 开源免费
2020-07-21 10:21:44由于目前市面上能找到的模拟触摸库都只支持到iOS11,而主流的iOS版本已经到了13,于是自己写了一个模拟触摸、模拟点击的库,支持iOS11 - 13.6 Github链接:https://github.com/xuan32546/IOS13-SimulateTouch 简介 ... -
iOS支付功能篇:原生WebView调起支付宝客户端支付方案
2017-07-05 15:44:57使用iOS原生WKWebView加载H5调起支付宝客户端进行支付的功能实现。 资源后台提供H5支付接口 e.g : https://qr.alipay.com/bax06385q32ssucugqxm00f1开发历程1. 安卓直接webView加载上面的URL直接可完成跳转支付宝... -
iOS开发-全面解析iOS蓝牙BLE4.0开发
2017-03-24 13:36:32只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发 -
ios building for ios simulator, but the linked framework ‘‘xxxx“ was built for ios 解决
2020-07-13 18:10:45flutter工程在xcode下执行报:ios building for ios simulator, but the linked framework ''xxxx" was built for ios… 解决办法:File -》 Workspace Settings -》 Build System改成 -
Unity打包IOS版本须知流程(移动)
2018-05-17 13:47:46欢迎加入Unity业内qq交流群:956187480 ...Unity是个开放性的平台,打包时也可以选择多种打包类型,几乎包含了所有的平台,目前主流Android,iOS平台,Android平台可以直接使用Unity自行打包,但iOS平... -
IOS之——不想升级,iOS系统自动更新可彻底关闭!
2017-12-28 00:06:24iPhone总是弹出一个提示窗口,如下图“iOS 9.3.2可用于您的iPhone且已经可以安装”,而窗口中根本就没有一个不想升级安装的选项。而当我们点击稍后,就会变成如下图所示的界面“输入密码以在今晚更新,如接入电源,... -
cordova的ios版本cordova-ios4.4.0已经不支持iOS8
2017-11-24 18:08:24cordova的ios版本cordova-ios4.4.0已经不支持iOS8 cordova的官方blog有说明,但是内测用户发现还是很多用户用ios8系统 可以安装上,但是会闪退,找了一些解决方案没有解决 目前是降级了cordova-ios的版本,但不是好... -
C++ 深究fstream打开方式ios::app,ios::ate,ios::in,ios::out
2019-03-03 20:56:20资料2:ofstream之ios::ate,ios::app,ios::in,ios::out 2 学习思路 2.1 所需实现功能 实现网页1所说的写入姓名与年龄功能,但是稍作修改,分两次打开文件,第一次写入姓名,第二次写入年龄。 2.2 第一次尝试 默认 #... -
从零练就iOS高手实战班
2015-06-25 10:37:09iOS课程教学从入门到实战,系统讲解Swift编程,精讲基础语法,详解iOS基础框架,知识点涵盖新潮实用的swift,AppleWatch App开发。 咨询QQ:2528047463 咨询群:462917576 付费学员答疑群:446896569 -
iOS开发教程之OC语言
2015-04-01 18:25:25Objective-C是扩充C的面向对象编程语言,iOS开发是用的Objective-C语言,本专题更系统的讲解Objective-C语言当中的一些要点,类的封装、基本数据结构(NSString、NSData)、继承、内存管理(retain点语法、MyArray、... -
Flutter项目在 iOS14 启动崩溃
2020-09-21 11:42:22Flutter项目在 iOS14 启动崩溃崩溃现象崩溃分析解决方法 崩溃现象 在ios14发布之后,运行APP就出现闪退,和机型没关,只要是IOS 14就必闪退 崩溃分析 1、启动就闪退,多起几次可能有一次没有问题。 2、启动后到某个...