Tag: iOS 11

WWDC 2017:惊人的订阅新功能

苹果公司致力于减少客户流失 编辑(2017年7月16日):苹果发布了此处描述的功能! 相关链接显示在底部。 继续逐渐成为对订阅的一种温和的迷恋,我非常荣幸地参加了Apple的主要活动,并探讨了订阅中出现的所有闪亮的新事物。 众所周知,在过去的一年中,App Store中订阅服务的公告和增长迅速。 它从开放所有类别的订阅开始,到第二年订阅者大幅削减Apple专利使用费,然后在全年继续提供大量功能发布,例如地理定价,新的免费试用选项和期限,订阅事件报告等。 在大多数情况下,这些举动都是促成因素,允许并鼓励许多开发人员转向新模型,这种做法是正确的。 但是,随着这些开胃菜的到来,我们都越来越渴望更多。 实际上,JoyTunes的团队已经仔细收集了一些统计数据和可行的见解,以供下一步使用。 幸运的是,苹果公司惊人的订阅团队也有类似的想法,这使我们进入了WWDC17。 那么,WWDC17发生了什么? tl; dr苹果决定加倍减少流失,包括非自愿取消,自愿取消和退款。 (流失率=付费用户流失率) 以下是JoyTunes团队发现的最令人兴奋的主要变化,然后对这些变化的重要性和现实生活数据进行了一些解释。 将帐单重试窗口从几个小时延长至(最多)60天 从Apple发送的特殊情况下的实时服务器事件,例如用户降级,退款和过期订阅的续订(例如在计费问题之后),这对于跨平台服务很重要 按用户标记计费问题,自动续订取消,退款,甚至发生退款的原因(来自AppleCare)(!!!) 对于退款,这尤其棒,因为之前没有与退款相关的信息 有点尴尬,但是这些变化实际上使我眼中充满了喜悦的眼泪。 要了解原因,让我们更深入地研究这些变化。 非自愿流失 让我们从非自愿的流失(也称为帐单问题)开始。 这些是由于信用卡过期,商店信用额不足,卡被盗以及Apple在收取续订费用时遇到的任何其他困难而导致的取消。 我猜这听起来太微不足道了,上帝知道我们也是这么想的。 也就是说,直到我们在相当新且隐藏得很深的订阅事件报告(ITC→销售和趋势→下拉菜单中的报告→下载订阅报告)中检查了取消原因之后,才发现有22%的取消是由于该原因而发生的。 进入WWDC17时,我们有以下问题– 22%被认为是标准的吗? 如果没有,wtf ?! 我们在做什么错? 如果是这样,wtf ?! 苹果可以帮助解决这个问题吗? 第一个发现是22%实际上是令人恐惧的标准,从某种意义上来说,这令人放心–至少不仅仅是我们! 此外,计费问题通常被认为是#3取消原因。 今天,当出现计费问题时,Apple会尝试让用户在几个小时内解决这些问题。 例如,如果您的卡被盗了,或者您像我们其他人一样只是一个懒惰的被动人物,那么时间就不会那么宽裕。 现在,已将其延长到最多60天(!!!),具体取决于发现的问题。 我的猜测是,这一变化可能单方面导致整体订阅收入大增。 此外,Apple在收据数据中添加了新字段,用于发出计费问题信号,以便我们(应用程序开发人员)可以警告用户有关情况,将其移至临时访问权限或任何其他解决方案。 最重要的是,Apple很快将针对几种特殊情况发出服务器通知。 其中,标记为已解决帐单问题,以便可以更新成员资格。 这对于跨平台服务非常重要,在跨平台服务中,用户可能会尝试访问网站,例如,没有先打开应用程序,因此我们不知道结算问题已得到解决。 换句话说,Apple认真对待其作为超越应用程序的订阅付款方式的责任 。 应当指出,服务器通知非常重要,特别是因为我们每天增加的订阅数量越来越多,并且要一直获取所有这些信息的最新挑战变得越来越困难。 自愿流失 此类别包括为什么任何人都想取消服务的自动更新的常规原因,其中之一就是过时的恐惧。 实际上,我们的数据显示,年度计划中自动续订的取消中有20%以上是在前几天发生的(请参见图表)。 基本上,人们想要该服务,但是只是想确保它甚至在使用前都不会更新。 尽管我们可以做很多事情来提高用户对我们高质量音乐学习服务的信心,但是到目前为止,还没有办法知道我们是否在进行改进,因为只有在订阅到期后才能看到这些匿名取消。 实际上,我们需要等一整年才能知道我们的努力是否产生了影响…… 好吧,苹果改变了这一点。 […]

最大化iOS 11中的连接性

2017年8月24日 我们已经让您知道了要为iOS 11准备的事情,现在我们正在研究更具体的内容:即将到来的iOS更新将如何处理较差的网络连接。 外行用户只需要知道您使用的移动数据可能会比更新到iOS 11之前要多一些。但是对于我们的开发人员,我们将在下面深入探讨此主题。 戴上工程师帽! 在iOS 11中,Apple对URLSession系列API进行了许多改进。 这些改进从开发人员的生活质量更新到显着的性能提升,无疑将改善整个平台的用户体验。 在本文中,我们将特别介绍两项改进:URLSession内置的多路径TCP支持和可达性监视。 多路径TCP 优雅地处理恶劣的网络条件是应用程序精心打造和完善的必然标志。 与手机上的其他大多数应用程序相比,您是否注意到Siri似乎很少有连接问题吗? 原因是多路径TCP。 当Siri发出网络请求时,该应用实际上打开了与服务器的两个连接:一个通过Wi-Fi,一个通过蜂窝。 这些连接一起工作,可以尽快将数据传送到应用程序。 只要您的设备在两个通道之一上都具有良好的连接,Siri就可以正常工作。 多路径TCP是一种相对较新的协议,专门为移动设备设计。 它建立在TCP之上,因此可以从TCP内置的可靠性和拥塞控制中受益。 此外,MPTCP允许在无线和蜂窝连接之间无缝切换。 它甚至支持同时使用两个连接以提高吞吐量(稍后会对此进行更多介绍)。 为了利用MPTCP,在客户端和服务器级别都需要支持。 当前,并非所有服务器基础架构都支持MPTCP,但像AWS这样的流行供应商都支持。 使用iOS 11,应用程序开发人员现在也可以在客户端级别支持MPTCP。 模式 在iOS 11中,应用程序可以选择三种不同的MPTCP模式:切换模式,交互模式和聚合模式 切换模式:如果可能,将通过Wi-Fi建立连接。 如果Wi-Fi网络条件不佳,系统将自动启动蜂窝链路并将流量传输到该链路。 随着Wi-Fi条件的改善,流量将被转移回Wi-Fi连接,并且蜂窝链路将被拆除。 本质上,切换模式试图在保持可接受性能的同时最小化蜂窝使用。 所有这些都发生在URLSession中,并且对我们的应用程序完全透明。 交互模式:系统将立即启动Wi-Fi和蜂窝链接。 尽管仍然首选Wi-Fi,但如果发现Wi-Fi条件不理想,该系统将积极过渡到蜂窝网络。 交互模式针对性能进行了优化,但以蜂窝数据的使用为代价。 Siri使用交互模式。 聚合模式:与交互模式一样,系统将立即启动两个链接。 但是, 两个链接将一起使用以增加网络的整体吞吐量。 理论上,在10mbps Wi-Fi连接和5mbps蜂窝网络上使用聚合模式可能会导致与服务器的15mbps连接! 虽然这很酷,但会导致大量的蜂窝数据使用。 因此,Apple不允许在生产应用程序中运行聚合模式。 但是,开发人员可以通过“设置”应用中的“开发人员设置”屏幕使用汇总模式。 无论使用哪种模式,如果您的应用达到了Wi-Fi辅助数据限制,蜂窝链接将被禁用。 如果要测试应用程序,请注意这一点,并注意MPTCP不再切换到蜂窝网络。 这很好地表明您可能需要重新考虑哪些呼叫选择了加入MPTCP。 选择加入 那么,您如何选择加入? 苹果公司做到了这一点非常容易。 只需在Xcode中向您的应用程序添加“ multipath”功能,然后将URLSessionConfiguration上的multipathServiceType属性设置为.handover或.interactive。 而已! 可达性 […]

如何在Swift中创建抽象类

协议,协议扩展,协议一致性 Swift中没有抽象类(就像Objective-C一样)。 最好的选择是使用协议,就像Java接口一样。 然后,借助Swift 2.0,您可以使用协议扩展添加方法实现和计算的属性实现。 唯一的限制是您不能提供成员变量或常量 , 也没有动态分配 。 怎么运行的 如果您熟悉Objective-C,协议并不是什么新鲜事物。 为了说明此解决方案,以下示例定义了一个具有单实例方法要求的协议: 协议RandomNumberGenerator {func random()-> Double} 该协议RandomNumberGenerator ,要求任何符合条件的类型都具有一个称为random的实例方法,该方法在每次调用时都会返回Double值。 这是采用并符合RandomNumberGenerator协议的类的实现。 此类实现称为线性同余生成器的伪随机数生成器算法: 可以扩展协议以将方法,初始化程序,下标和计算属性实现提供给符合类型。 这使您可以定义协议本身的行为,而不是每种类型的单独一致性或全局函数。 例如,可以扩展randomBool()协议以提供randomBool()方法,该方法使用所需的random()方法的结果返回随机的Bool值: 扩展 RandomNumberGenerator {func randomBool ()-> Bool {return random()> 0.5}} 通过在协议上创建扩展,所有符合类型的类型都会自动获得此方法的实现,而无需进行任何其他修改。 协议扩展可以将实现添加到符合标准的类型,但不能使协议扩展或从另一个协议继承。 协议继承始终在协议声明本身中指定。 礼宾员工{ var AnnualSalary:Int {get} }扩展员工{ var biweeklySalary:Int { 返回self.annualSalary / 26 } func logSalary(){ print(“每年$ \(self.annualSalary)或每两周$ \(self.biweeklySalary)”) } } struct […]

iOS 11有什么新功能?

iOS 11 Beta:新功能? 5月的最后一周,Apple放弃了iOS 11的第一个公开测试版(iOS 11 beta),现在可以下载。 苹果计划在今年秋天晚些时候发布最终版本,有传言称它将与新的iPhone 8一同推出,与新的iPhone 8一同推出。iOS 11 beta包含了大量的UI改进和其他新功能。 在此博客中,我们将讨论开发人员可以从新更新中期望什么,它将支持哪些设备,并简要说明对测试人员意味着什么? iOS 11的新功能 通过对Siri,Messages,照片,Apple Pay和其他第一方应用程序和服务进行了多个后端增强,带来了最重大的变化。 例如,地图获得了新的“请勿打扰”功能,以确保安全驾驶,并为大型购物中心和机场的室内地图添加了其他资产。 此外,Siri还获得了更新的语音响应系统和其他智能功能。 最值得注意的是,在UI方面,现在已经完全重新设计了Control Center,其面板系统标榜了各种应用程序和系统控件。 最后,值得注意的是,由于升级了用于机器学习的Core ML和新的ARKit工具,Apple已经掌握了证明改变游戏规则的新技巧,因为它们将提供大量增强现实应用程序供用户浏览,从而提高了用户体验。 这是在苹果公司严重考虑人工现实,今年晚些时候推出的新型Home-pod扬声器以及机器学习的重要性的时候。 那么,这对全球的开发人员和测试人员意味着什么呢? 让我们更深入地研究他们最有前途的新更新。 Apple通过适用于iOS的ARKit拥抱增强现实 在继续对公司的App Store进行更改的过程中,Apple对Pokemon Go表示赞赏。 它还引入了一组新的API,这将允许更多开发人员将增强现实应用程序引入iOS设备。 AR在顶级技术公司的认可和健康态度上度过了一年。 Facebook在F8引入了AR Camera平台,而Google继续更新Tango以及新的AR应用程序Google Lens。 苹果全球副总裁Greg Joswiak最近提到了名为AR Measure的ARKit演示应用程序,该应用程序于上周早些时候在社交媒体平台上广为传播。 ARKit基本上是一种将3D对象现实地放置在“真实”位置以增强真实感的解决方案。 这将改变游戏规则。 以家具和室内装饰行业为例,他们拥有数以百万计的图像,并保存了其资产的3D模型,现在可用于开发此工具。 对于3D模型,存在很大的需求和大量的内容来填充AR宇宙。 苹果现在已经打开了通往数百万个可用门户的道路,每个物理出口都有可能与AR分层。 这将使堆栈中的设计师技能向上移动,从而将现实世界可视化到移动设备中。 对应用程序的思考重点还将与语音,摄影和语音等其他技术结合在一起,而无需适应现有的AR系统或从头开始构建它。 iPad的完整改造 苹果公司通过多点触控技术,借助新的iOS 11将变革性的焦点转移到iPad上,具有升级的功能和扩展的功能。 UX已经完全改变,主要侧重于多任务处理,为iPad用户提供了更加流畅和连接的体验,这是一个主要的抱怨。 例如,其拖放功能带有一个新的扩展坞,该扩展坞使您可以在全屏应用程序顶部的应用程序之间移动。 如果需要同时使用两个应用程序,则仍可以使用拆分视图功能同时打开两个应用程序,通过从扩展坞中拖动一个应用程序并将其放到所需的一侧以替换这些应用程序中的任何一个,依此类推。 开发人员将不得不接受新的框架。 设备获得iOS 11 许多使用iOS的设备都在使用iOS […]

IOS面试常见问题解答(2018年8月)

2018年8月iOS最新面试题 在本文中,我将介绍在最近的采访中(2018年8月)向iOS工程师询问的一些问题。 那些正在准备的人一定会对他们有所帮助。 Q1。 swift和目标C有什么区别? Q2。 什么是手动保留周期? Q3。 Swift中的内存管理如何工作? 我们首先看一下Swift中的内存管理基础知识。 ARC(自动引用计数)为您完成了大多数内存管理工作,这是一个好消息。 原理很简单:默认情况下,每个指向类实例的引用都是所谓的强引用。 只要有至少一个强引用指向一个实例,该实例就不会被释放。 如果没有足够的参考指向该实例,则该实例将被释放。 让我们看下面的例子: class TestClass {init(){print(“ init”)} deinit {print(“ deinit”)}} var testClass:TestClass? = TestClass()testClass =无 创建实例后,情况如下所示: testClass对TestClass的实例有很强的引用。 如果我们现在将此引用设置为nil,则强引用将消失,并且由于没有强引用,因此TestClass的实例将被释放: 顺便说一句,如果您看一下控制台,您会发现一切工作正常,因为只有在释放实例时,系统才会调用deinit方法: 如果TestClass的实例未释放,则不会出现“ deinit”消息。 正如我们将在后面讨论的那样,在deinit内放置一条日志消息是观察对象释放的一种很好的方法。 Q4。 拥有所有权的方法有哪些(保留数增加1)? alloc / init —创建一个对象并声明其所有权 保留—用于声明该对象的所有权 复制—复制对象并声明其所有权 Q5。 什么方法用于声明所有权(将保留计数减少1)? release —声明对象的所有权。 自动释放—声明对象的所有权。 Q6。 什么是面向协议的编程及其好处? Swift的设计核心是两个非常强大的想法:面向协议的编程和一流的值语义。 这些概念中的每一个都有益于可预测性,性能和生产率,但是它们一起可以改变我们对编程的思考方式。 了解如何应用这些想法来改进编写的代码。 快速进行面向协议的编程 Q7。 如何检查协议的可选方法在继承的类中实现? […]

尝试! Swift纽约2017回顾

如果您从未听说过,请尝试! Swift是该领域最新的iOS会议之一。 于2016年3月在日本首次开始尝试! Swift已迅速成为国际会议,最近将班加罗尔作为今年的第三站也是最后一站。 该会议由Natasha Murashev( @ NatashaTheRobot)组织,他还负责运行本周Swift iOS新闻通讯( 强烈建议注册)。 本月初,我有机会参加我的第一次尝试! 在纽约市召开的Swift会议。 关于会议 这次单场会议涵盖了三天-一个会前研讨会+两个主要会议日-并有20多位演讲者进行了精彩的演讲。 我真的很喜欢这次会议的形式,每次演讲大约持续20-30分钟,并在“办公时间”直接与演讲者取得联系。主剧院外面有一个专用空间,每个演讲者在发表演讲后都会立即提出问题。他或她的讲话。 除了所有出色的演讲者之外,我还认为iOS社区中有一些“大牌”。 服务器端Swift领导者(如乔纳森·古思里(Swift Perfect))的支持得到了支持,后者主持了服务器端Swift研讨会。 和Tanner Nelson(Vapor),他通常在服务器端Swift和Vapor上做过演讲。 RxSwift的创始人Krunoslav Zaher就称为RxFeedback的新RxSwift架构进行了演讲。 还有一些知名的博客作者,例如Soroush Khanlou(khanlou.com),他不是日程安排发言人,而是为生病的主持人做准备。 其他博客老手包括Matt Gallagher(cocoawithlove.com),他做了出色的视图驱动的应用程序演示; 和运行RxSwift研讨会的Ash Furrow(ashfurrow.com)。 最喜欢的谈话 这些是我最喜欢的会议演讲的笔记。 尽管所有讲座都很精彩,但这些演讲与我目前在iOS开发中的熟练程度和兴趣最为相关。 如果可能,我已经提供了指向代码和/或演示者注释的链接。 当我发现发布了更多演讲者材料时,我会尽力保持页面更新。 还值得注意的是,所有演讲均由Realm录制,并且视频/成绩单将很快发布! 2017年9月26日更新: Realm已开始发布来自try的视频! Swift NYC2017。在Realm Academy的会议页面上查看它们!

iOS 11封面的动作调整

在iOS 10中,通知会在锁定屏幕上以及您从顶部边缘向下滑动的通知中心中列出。 在iOS 11中,Apple尝试通过对两者采用锁屏设计来统一这两种视图。 您现在从顶部拖动的内容称为封面,基本上是锁定屏幕的“非锁定”版本。 使用现有设计(在上面模拟),您可以将视图拖动为单个静态零件。 对于我们中几乎没有通知的人来说,这通常感觉就像拖着一个空的东西,这可能令人沮丧。 动作调整 下面的模型探讨了如何使交互同时变得更加引人入胜并且可能更有用。 当您开始拖动时,状态栏的时间标签会急剧膨胀,直到变成庞大,熟悉的封面之一。 这进一步统一了UI,并使其更加有趣和动态。 这个概念与“封面” 基本上是状态栏的扩展状态有关。 由于Cover Sheet具有与锁定屏幕相同的设计,因此某些用户(例如我!)可能首先认为,通过拉下该表可以锁定设备。 事实并非如此。 由于重新设计的感觉不太静态,因此内容现在处于浮动状态,这可能有助于减少混乱的风险。 更重要的是,所建议的调整使查看时间和日期变得很方便,通常在状态栏的信息难以读取(光线不好,对比度差,眼睛疲劳)或根本不显示的情况下。 在当前的iOS 11实现中,要查看舒适的时间标签,您必须完全拉下Cover Cover或进入锁定屏幕(例如,按两次Power键)。 两种方法都使人分心和费力。 在iPad上的iOS 11中,基于一项思想,即在不中断用户流程的情况下可以访问某些功能的相同思想上,做了一个出色的改进:从底部边缘向上轻扫一点,应用程序停靠栏立即弹出,而不会阻塞当前应用。 如果继续一路向上滑动,您会得到更多,但通常不需要更多。 这是渐进式披露的概念,但是手势驱动的,连续的,而不是通常的全有或全无,扩展或崩溃的方法。 笔记 带有该概念的通知将如何显示? 我还没有探索。 但是按照相同的展开逻辑,我们可以想象通知栈的顶部将首先出现; 一件好事,因为这意味着最新的通知将首先显示。 与原始设计相比有其他好处吗? 这篇文章中的模型是使用适用于Mac的Principle快速制作的。 实际的iOS 11实现使用了我很高兴地跳过的复杂模糊过渡。

iOS 2018系列:破解iOS采访或成为iOS专家(9)

快速枚举,免费电话桥接和必须了解iOS基础知识 这次,我将在下一篇文章中介绍一些有关iOS的基本知识,并概括介绍LRU Cache。 快速枚举是枚举集合内容的首选方法,因为它具有以下优点: 枚举比直接使用NSEnumerator更有效。 语法简洁。 如果在枚举时修改集合,则枚举器将引发异常。 您可以同时执行多个枚举。 Core Foundation框架和Foundation框架中有许多数据类型可以互换使用。 此功能称为免费桥接 ,意味着您可以将相同的数据类型用作Core Foundation函数调用的参数,或者用作Objective-C消息的接收者。 例如: NSArray和CFArrayRef可以在Core Foundation和Foundation之间互换使用 核心基础类型 CFArrayRef 基础类 NSArray 解释(__bridge),(__ bridge_retained)和(__bridge_transfer)强制转换的正确用法。 (__bridge T) op将操作数转换为目标类型T。如果T是可保留对象指针类型,则op必须具有不可保留指针类型。 如果T是不可保留的指针类型,则op必须具有可保留的对象指针类型。 否则,演员表的格式不正确。 没有所有权转移,并且ARC不插入保留操作。 (__bridge_retained T) op将必须具有可保留对象指针类型的操作数转换为目标类型,该目标类型必须是不可保留的指针类型。 ARC保留该值,但要对本地值进行通常的优化,并且接收方负责平衡+1。 (__bridge_transfer T) op将必须具有不可保留指针类型的操作数转换为目标类型,该目标类型必须是可保留对象的指针类型。 ARC将在封闭的全表达式结束时释放该值,但要对本地值进行通常的优化。 为什么应用程序在低设备内存上崩溃? iOS设备通过分页使用虚拟内存。 由于它是移动设备,没有可用的可扩展内存或相当大的内存(如硬盘驱动器),因此页面的可用性受到各种因素的限制,例如打开的应用程序数量,不同应用程序的分配等。 ,即使是处于休眠状态的某些板载应用程序(例如野生动物园,i-tunes,消息传递等)也将始终使用某些页面。因此,实质上,随着应用程序数量的增加,您的应用程序可以使用的页面数进一步减少。 因此,当您的应用程序分配的速率超过其他应用程序释放页面的速率时,您的应用程序将崩溃。 操作系统仅从内存中释放只读数据,而不会释放可写数据。当可写数据超过某个阈值时,操作系统会要求应用程序释放内存。 无法释放内存会导致崩溃。 解释UIView和CALayer之间的关系 尽管许多开发人员都认为,但CALayer是iOS中基本的绘图单元。 我们之所以这样认为UIView是因为它是CALayer之上的一薄层,对于大多数UI挑战,使用某种形式的UIView都可以正常工作。 您无需触摸CALayer,就可以创建自定义视图,将其引入其中,处理用户交互甚至为它们设置动画。 每个带有CALayer的UIView都被称为“底层”或“底层”。您在UIView上调用的许多方法都只是委派给该层。 更改视图的框架时,只是在更改图层的框架。 如果您更改Alpha,它将更改图层的Alpha……等等,包括背景色,变换等。 尽管可以维护UIViews的层次结构,每个UIViews代表彼此的父级和子级,但是您可以使用CALayer进行相同的操作。 我应该使用子视图还是子图层? 这不是一个简单的问题,但是有一个经验法则使决定变得容易得多。 视图和图层之间的主要区别在于,视图可以接受用户输入,而图层则不能。 层只是图形表示。 […]

在iOS 11中使用自动填充密码轻松登录

介绍 每当他们遇到登录屏幕时,用户都会在各处看到密码。 有时这会在他们中间造成某种烦恼。 苹果的默认浏览器(即Safari)保存了密码,用户可以使用iCloud将其与多个设备同步。 从iOS 11开始,Apple引入了一个新库,该库允许第三方应用自动填充密码。 密码自动填充功能允许用户通过与键盘上方显示的QuickType栏进行交互,将其登录凭据直接填写到您的应用中。 配置您的应用以进行自动填充 AutoFill将在iOS 11中的应用程序中自动运行。仍然有一些可用的技术可以确保您的应用程序可以在AutoFill上正常运行。 它在键盘上方显示了一个密码按钮,只需在文本字段上使用一些设置即可实现。 但是为了确保哪个密码属于您的应用程序,我们需要将其与我们的网站相关联,并将向用户建议该密码。 设置您的文本字段 您可以通过代码或使用Xcode的界面生成器为自动填充配置文本字段。 iOS 11提供了UITextContentType两个新属性,它们是: txtUsername.textContentType = .username txtPassword.textContentType = .password 之后,iOS将在键盘上方显示一个按钮,使用户可以从保存的列表中选择密码。 它也适用于多个登录屏幕。 现在,将您的网站与您的应用程序相关联,iOS可以通过该应用程序建议正确的密码。 设置您的应用以获取正确的密码建议 默认情况下,iOS 11将不显示与您的应用程序关联的密码,而是显示已保存密码的完整列表。 现在,您可以按照以下步骤操作,让iOS知道这些密码属于您的应用。 将您的应用与网站相关联,以便您获得仅与应用有关的密码建议。 要将您的应用程序与网站相关联,您将需要一个名为apple-app-site-association 。 这是在深层链接中使用的同一文件。 为此,您需要在我们的Xcode项目中启用关联域。 切换到Xcode项目设置,转到“ 功能”标签,然后打开“ 关联域” 。 在此添加您的网站网址。 假设您的网站域名是yourwebsite.com。 列出的域名应该是webcredentials:yourwebsite.com 。 在您的服务器上,添加apple-app-site-association文件。 它应该包含一个webcredentials部分,用于指定您的应用。 这是一个例子: { “webcredentials”: { “apps”: [T7836PQ635.com.companyName.YourApp] } } T7836PQ635.com.companyName.YourApp这些是与应用程序关联的详细信息。 您可以在Apple Developer […]

什么是越狱iOS 11?

苹果公司于一周多前发布了iOS 11。 用户现在可以尝试与iDevices兼容的第一个beta版本。 新更新包括一系列功能,其中包括一些技巧,这些技巧将使您的iDevice看起来比以前的任何更新都更类似于计算机。 但是,其中一些功能以前曾在越狱的iOS设备上可用,或者在Apple提出之前在Android方式上可用。 尽管iOS 11 Beta版本已在不久前推出,但已经被越狱者破解。 安全研究人员最近在2017年中国移动安全大会(MOSEC)上公开了iOS 11 beta 2越狱事件。 越狱显然是梁靓(腾讯热衷安全实验室)工作的结果。 腾讯基恩安全实验室是一个以安全为导向的小组,致力于与应用程序,云计算技术,台式机或移动OS等相关的前沿安全研究。 只要Keen Security Lab在安全领域开展业务,他们不太可能很快就将iOS 11的越狱事件发布给公众。 但是,他们有可能与苹果公司共享它。 与苹果公司共享iOS 11的越狱行为,意味着可以在发布iOS 11之前了解到有关iOS 11潜在安全漏洞的意识。 苹果公司一直在与越狱社区玩猫捉老鼠的游戏。 即使在几次情况下,苹果公司也公开谈论过越狱者,他们修复了可用的iOS版本中的漏洞。 但是,腾讯基恩安全实验室能够入侵iOS 11无疑证明了可以毫无疑问地越狱iOS 11。 腾讯基恩安全实验室使用的实用程序使用户不仅可以越狱iOS 11,还可以通过Apple Company在不同的移动类型上使用iOS 10.3.2。 但是,黑客没有提及出于机密原因而利用的漏洞。 越狱iOS 11视频指南