Tag: wwdc

使用表情符号创建iMessage应用

然后,我们需要为我们的项目选择名称。 设置好应用后,我们将看到以下内容: 构建我们的BrowserViewController 我们需要创建视图控制器以显示所有令人惊奇的表情符号。 我们去创建一个EmojiBrowserViewController.swift并按如下所示进行设置。 好的,现在我们有了一些贴纸和浏览器,让我们连接浏览器以查看表情符号。 我们将贴纸保存在数组[MSSticker]中。 我们创建一个函数来创建标签,例如附加到标签数组。 最后,我们创建一个函数来加载贴纸。 在这里,我们遍历资源并找到png(我们的贴纸),然后将它们添加到MSSticker数组中。 最后,如果您想完成整个项目,可以在Github上进行检查。

构建自己的Xcode 8 Source Editor Extension

自WWDC 2016以来,我对Xcode 8中发布的新Xcode源代码编辑器扩展感到非常兴奋。你们中的某些人可能知道我曾经写过另一个名为VWInstantRun的Xcode插件,该插件是用一些运行时黑客制作的,又名老式/非官方方式。 因此,自然而然地,我希望将此插件移植到全新的Xcode源代码编辑器扩展中。 我在这个周末进行了尝试,但未能通过新方法实施InstantRun 。 基本上有两个主要限制来实现它: API唯一向我们展示的是字符串缓冲区对象中当前文件的文本。 根本无法访问某些与UI相关的组件。 不可能像VWInstantRun那样将结果直接输出到调试区域。 由于我们假设现在要在扩展内构建事物,因此这当然是一个沙箱。 这意味着在运行时无法在CLI中运行build命令。 好吧,因此我放弃了。 但是我并不是说新的Xcode扩展不值得一看。 相比之下,我认为这是一个很好的开始,它允许访问最重要的部分(源代码编辑器),该部分允许创建许多有用的功能,同时消除任何潜在的隐私和安全威胁。 让我们建立一个 我将在此处尝试提供一个简单的教程,向您展示如何轻松构建自己的Xcode扩展。 让我们通过从AppCode借鉴一些想法开始做这件事,例如快速删除/复制所选行。 I.打开Xcode 8。 (当前版本为Beta 1) 创建一个新的macOS项目并激活相关方案。 使用Xcode源代码编辑器扩展创建一个新目标。 (由Xcode提出的激活方案) 二。 配置。 在“ Info.plist”文件中打开“ NSExtension”对,“ XCSourceEditorCommandDefinitions”是一个包含几个“ item”的数组,一个“ item”代表自定义命令。 在每个“项目”中,有3对。 1.`XCSourceEditorCommandClassName`:用于实现`XCSourceEditorCommand`协议的类的名称。 2.`XCSourceEditorCommandIdentifier`:您选择用来标识唯一命令的标识符 3.`XCSourceEditorCommandName`:命令的名称,将显示在Xcode菜单上。 在这里,我们需要添加两个新命令:`delete_lines`和`duplicate_lines`。 三, 实施。 直接进入`SourceEditorCommand`,实现协议方法: 公共功能表演(带有调用:XCSourceEditorCommandInvocation,completionHandler:(NSError?)-> Swift.Void) 是的,只有一种方法可以实现。 根据描述,此方法将: 使用调用中的信息执行与命令关联的操作。 Xcode将向代码传递完成处理程序,该处理程序必须调用该完成处理程序才能完成命令的执行,成功时传递nil,失败时传递错误。 换句话说,您需要做的是基于给定信息的不同命令来操纵“文本缓冲区”。 您将在`invocation`实例中找到所需的全部内容。 完成后,调用完成处理程序,传递`nil`或`error`。 请直接从Github上的代码源中检查实现的详细信息,该文件已被很好地证明。 IV。 我们完了 ! 🎉🎉 […]

ARKit 2简介-世界地图

按照系列,第二部分介绍ARKit 2中的World Mapping 。系列的其余部分如下: 影像追踪 世界地图 物体扫描 视觉整合(即将推出) 金属和反射性表面(即将推出) World Mapping是ARKit 2中一个了不起的新功能,它允许用户在以前的AR体验中保存的环境中进行保存和加载。 例如,您可以在后院的桌子周围移动,捕获尽可能多的东西,然后在桌子中间放一碗水果。 当天晚些时候,您可以将应用重新打开到同一张桌子。 该应用程序会自动检测到您之前保存的同一张桌子,然后重新加载之前的场景-在这种情况下,桌子上放着一碗水果。 物理3D映射 使用ARKit 2,您的应用程序将基本上能够以3D映射您的物理空间。 通过移动对象(如上表),您将为您的应用提供相同物理环境的多个视角。 这些观点通常称为锚点。 特征点 使用世界地图,您的设备还将扫描许多特征点,这些特征点将再次用于识别空间。 这些特征可以驻留在平面,拐角,点上,或者仅驻留在唯一的感兴趣的随机区域上。 分享经验 ARKit中的世界地图允许您与另一台设备共享地图,例如另一台具有ARKit 2(iOS 12或更高版本)的iPad或iPhone。 这样,您就可以进行实时交互并体验相同的事物,然后再次返回。 您还可以建立网络体验,并在诸如游戏之类的事物上同时互动。 Apple演示的一个示例(是开源的)是SwiftShot。 你可以在这里下载。 持久的AR体验 这样,您可以在关闭应用程序之前保存世界地图,然后在下次打开应用程序时将其加载。 如果在与保存时相同的物理空间中打开,则虚拟体验将继续。 一个示例用例是在墙上或桌子上加载并保存一个木板,该木板上有您需要记住的东西列表(非常乏味的示例,但无论如何)。 每次您在办公桌附近或与该板子在同一位置打开该应用程序时,它都会像从未离开过一样重新加载。 实例化和使用世界地图所需的主要方法是getCurrentWorldMap(completionHandler:) 。 这使您可以保存会话的世界地图。 然后,可以将其分配给配置的initialWorldMap属性,并使用run(_:options:)启动具有相同锚点和物理世界地图的另一个会话。 从会话对象中检索世界地图 会议。 getCurrentWorldMap {worldMap,错误 守卫 let worldMap = worldMap else { showAlert(错误) 返回 } return […]

iPhone X和WWDC:如何快速成为StackOverflow的iOS专家

如果您想成为一流的iOS开发人员,则需要在Stack Overflow(SO)方面享有很高的声誉。 为什么? 它教你如何提出很好的问题 它会使广告掉下来,这也许是您每天都会使用的最重要的网站 它使您可以发表评论和投票,从而充分利用SO 确保您知道如何像冠军一样使用SO 它使您与众不同,让人们知道您在乎自己的手艺 通过为难回答的问题设置赏金,您可以直接为团队做出贡献 但是要达到2000 rep的堆栈溢出并不像以前那么容易。 大多数简单的问题都得到了回答,这是一条口号,您发布的每个答案只能获得10分。 那是(且仅当)您被投票或被接受为答案时。 假设有50%的时间您的答案获得积分,那就是您必须发布400个答案才能获得2k的收入! 那么,iOS开发人员该做什么呢? 好吧,我曾经有一个非常简单的策略,就是通过回答Swift问题来获得2k代表。 而对于刚刚发布的iPhone X,则是一年中最佳实践的最佳时机。 基本上,每当发布新的WWDC视频时,您都将有机会充分利用这一策略。 我将其分为4个步骤。 1)选择一个新的Apple API并成为其中的专家 每年六月(有时是九月😆),Apple都会推出一种新的SDK,没人知道如何使用。 因此,如果您观看真正感兴趣的API上的WWDC视频,然后开始试用该技术,您就会知道该API优于90%的开发人员。 发生这种情况是因为大多数人没有时间去尝试苹果推出的所有新技术。 我是用UIStackViews完成的。 我认为这项技术对iOS开发人员来说是天赐的礼物,因为它为iOS提供了一种全新的方式来处理自动布局。 幸运的是,大多数人无法开始使用该技术,因为只有运行iOS 9及更高版本的设备才支持该技术。 因此,我在WWDC上的“堆栈视图”上观看了视频,并用它构建了一些应用程序,然后通过在RayWenderlich.com上观看了教程视频对它们进行了补充。 有了这一新知识,我继续进行步骤2。 2)提取API标签,并回答发布的每个问题 在SO主页上,导航至标记,然后输入您已掌握的新API的名称。 将鼠标悬停在标签上,您就可以通过单击星标来收藏标签,并通过电子邮件或RSS进行订阅。 然后在下个月的每一天,早上检查SO,然后回答所有已发布的问题。 或简单地回答它们,就像电子邮件中显示的那样。 3)格式化答案以发挥最大效用 该策略最重要的部分是答案的格式。 确保执行以下操作: 1)确保您回答的是确切问题 许多人仅仅因为不专注于回答所提出的问题而无法对SO进行投票。 2)尽可能附上屏幕截图或示例代码,以使答案更清晰 我们是视觉生物。 你们是否都尝试过实施仅以文本形式说明的一段代码? 真痛苦! 因此,通过包括屏幕截图和代码,可以简化原始海报(OP)的生活。 3)通过解释答案背后的原因,使答案详尽无遗 堆栈溢出是一个学习的好地方,但是几乎没人教。 考虑周到的答案包括为什么(不仅是如何)获得最多的选票。 当您输入原因时,提出问题的人可能不必再次查找该问题,因为他们将学到的不仅是如何复制和粘贴代码。 刚开始时,您的答案可能不会获得太多投票,但这是计划的一部分,这是一个漫长的过程。 在这一年中,人们将开始使用您已成为专家的API。随着越来越多的人使用它,更多的人将查找您的答案并单击“投票”。 这是我关于Stack Overflow的一篇详尽文章的示例。 现在,如果您知道有人要提出但尚未回答的问题,请使用步骤4。 […]

Apple WWDC 2018演练

早安,好久不见!神隐成阵子也该出来透透气,2018年6 / 4–6 / 8参与了在美国圣何塞,加利福尼亚的苹果开发者朝圣大会,相对于其他活动我认为这个是比较因此写下此篇文章的心得顺便记录一下,一并附上我参考受用的文章连结:BožidarŠevo(英语),forbze(英语),OneV的巢穴(中文)。 首先说明取得门票必须拥有开发者帐号,这对你们应该应该不陌生,请自行Google,由于参加者众但门票有限,使用这种一般途径是需要经过抽签的(古董的前1-2个月)登记,可在官网查询),另外的途径例如如与苹果合作企业,奖学金资格,苹果员工等门票入手方法比较特别,说明一下学术好了,通常是学生申请,并且另外附上当年度“小”作业,也许如用Swift Playground做一个酷炫的App,有时候这样的一个小专案反而需要更多创意与收益,当然如果以这样的方式得到门票,肯定是意义非凡。偷偷推广一下我的App(不是Scholarship… ),下载全部以继续阅读(可…可恶没这功能)。 EZCircle圆订,EZ汇率,猜歌Quiz WWDC官网当年度的活动资讯通常都到很接近古代日期才会释出,这颗白苹果隐藏了许多不可告人的秘密吧,由于注册抽签时一定要绑扎付款方式(通常是信用卡),当收据到信表示已中签时就会被立刻扣款,也就是$ 1,599 USD,你没看错!就是那么贵而且这是Non-refundable意即不可退还,在政策上都有说明,所以目前看起来最好的旅行方式是请公司老板赞助……也可以带公司App去健检一下,你可以在Apple Developer的Event中找到你的电子票,距离剩下一个礼拜时Apple会更新官方App,登陆自己的Apple id后就可以将电子票加入Wallet,报到时出示条码就可以换Badge了,因此如果你只是担心与会票券,不用怕,带着你的iPhone去会场就可以啰! 连续两年的会场都在San Jose圣荷西的McEnery会议中心,天气穿着等就不在于了wiki上应有尽有,基本上就是风大时还是会凉的那种天气,去美国前记得申请ESTA,建议到达时间设在报到的大前天或者前一天早上,而报到时间是在会议开始的前一天,如果从台湾出发由于没有直飞圣荷西机场的飞机,因此会飞到San Francisco机场再搭BART捷运过去(悠游卡的名字叫做Clipper Card),我现在认为开车其实是最好的选择,在美国开车路大很好开,尤其是会场附近的大众运输并没有我预想中的方便,结果最后没乘车的我就是搭UBER到达,虽然方便但相对的烧钱,又没办法自由自在的去附近的矽谷穿梭,史丹佛漫游,强烈建议租个车子。 讲是吃的东西吧!毕竟是超高级科技园区,餐厅价格也是不同凡响,如果你有点击烹饪煮技能的话可以省下不少钱,基本上我分开三类,$ 13 USD以下,$ 13〜$ 20区间,$ 20以上,对于台湾人消费看含税价格习惯后,去美国不习惯的一点就是Tax&Tips,价格显示都是未税价,先说Tax像是我在SF买的纪念品价格是$ 13.99,下面的$ 1.19就是税(1.19 / 13.99 => 8.5%),提示则是在餐厅布置看情况给,有服务生到餐桌上菜整理时,就需要给小费(定价为价格的10%通用,但看你心情,服务越好越多,服务生对这个小费有所期待…,多多益善但也可以不给,但是后果请自负=口=),比较好区分的需不需要的方式是如果你是餐前付款(例如:速食餐厅,外带,自助取餐)就不用,现金也不用带太多在身上($ 100以下)一卡在手,希望无穷(帐单寄给老板就对了^ O ^),信用卡在矽谷首都90%以上 的消费完全刷,但就是用台湾信用卡会有一点国外交易手续费就是了。 好像突然离开发者有点远了,咳嗽,赶快拉回来要不然有人以为我是去玩的((误,我个人hen边缘所以很多开发者的点没有达到,有个不错的Tips供参考, ii。预约实验室跟Apple官方开发者互动iii。不要错过一些除了session外的活动(我绝对不会说我错过了什么),会议就是针对未来一年的开发布局简报,Lab是咨询时间主题官方订问题由你决定,有些要先在当天早上安排,所有一般的会议在网第一天的主题演讲要超早起排队(想要坐在前面的凌晨3–4点开始排,中间位置的5–6点开始排),但十点钟才开始简报且九点快十点才入座,大半时间就是无聊的排队,6000只叫做工程师的生物从世界各地飞过来 总之就是试图做到一些平常无法做到的事情,跟一些排队前后的其他国家的人聊聊他们的App,每个人都很有想法,也会偷听其他人在聊些啥,顺便练练习听力,除非真的是工作需要,否则在这个会议期间窝在角落写Code我认为相当不值得。 最后最后,我要感谢台湾FB WWDC2018拉我进FB群(不要问我是哪一个,最帅的那一个就是了)才能有更多大神前辈的资讯,如果明年你想要找我当导游的话,赞助我旅费我非常愿意提供一套用于U,哈哈,想要其他资讯的人也欢迎利用留言或我的个人软件包App上的联络资讯XD,必须先下载我才承认; )欢迎转载,但请注明出处与连结,预祝各位旅途愉快,收获满满。

Swift 4.2的新功能-我的摘要

星期三。 六月06,2018 我刚刚看过WWDC 2018的Swift新增功能,我认为写一篇关于此演讲的博客文章并总结我的学识是一个很大的动力。 这是我真正喜欢的一些Swift 4.2新功能。 希望您会喜欢! 🤓 SE-0194枚举案例的派生集合 如果需要打印所有可用的枚举值,则必须创建一个包含所有枚举大小写的辅助变量。 例如,一个名为allCases的静态数组。 这种方法的一大缺点是,每次修改枚举allCases时,我们都需要记住要更新allCases数组。 Swift 4.1的方法: 在Swift 4.2中,我们可以使用CaseIterable协议来为我们完成所有工作! 请看下面的例子: 条件符合 它也将与Optional和Dictionary类型一起使用。 条件一致性与Hashable , Encodable和Decodable协议的工作方式相同。 例如,因为Int是Hashable ,那么在这种情况下,这意味着Int? 也是可Hashable ,因此[Int?]也可Hashable ! 布尔切换 很小,但我认为-非常好的功能。 在阅读objc.io博客文章时,我第一次遇到该扩展程序。 现在它已内置到Swift 4.2中。 🎉 哈希协议 protocol Hashable { func hash(into hasher: inout Hasher) } 在Swift 4.2中,我们不必为hashValue提供自定义算法。 现在,swift可以处理具有运行性能的哈希方法质量。 重要的是, hashValue使用在每个应用程序启动时创建的随机的每个进程的种子。 In️在这种方法中,您应该将与hashValue相关的代码更改为常量。 在每次运行的应用程序中,哈希值都将不同。 ⚠️ SE-0202随机统一 Swift 4.1的方法: 但是在Swift […]

旧金山— WWDC15 | 第3天-2015年6月10日

每天,都已经很习惯地把大家看到观光游览的叮叮车 认为我自己的批评了 总是一早叮着叮着地到市区 再步行到Moscone Center 就这样,进入了第三天 — — — — 整周的议程,除了课程之外 还有一个你可以直接跟苹果员工接触的管道—“ Labs” 实验室几乎涵盖了所有面向,有— 图形,游戏,媒体实验室 开发人员工具实验室 框架实验室 用户界面设计实验室 App Store实验室 这些实验室是每天都有的 也就是说,苹果员工每天都会出现在这些实验室 所以,强烈建议来WWDC,一定要去跟他们聊聊 或者更棒的是,有问题就可以直接当场问他们 (这样就不用担心饱受每次打去客服转来转去之苦,或技术问题根本很难问到?) 所有实验室中,最夯的就是—“用户界面设计实验室” 因为大家都知道,苹果最有价值的就是设计 所以大家都很想要更深入的了解他们强大的设计师到底在想些什么 而且这么多的Labs,除了有些需要小排队之外 最傲张的就是Design Lab —“还需要事先安排预约!” 因此可以看到很多人一早就来排队,为得就是要能够与他们的设计师聊聊 (还有提供隔间的小房间,可见他们对设计之认可) 而因为我有缘认识的好朋友— Johnny有事先安排好的约会 所以我也真的很有幸地能跟着他一同进去探个究竟 主要过程是Johnny拿出他们他们公司所做的APP给设计师玩玩 接着设计师就会很直接的跟你说 他对于无论是介面或是体验上的主观感觉 然后会当下给些意见,并用纸笔画出来他所分解的想像 过程中,你也可以与他讨论关于这设计上的思维和想法 彼此互相交流,收获满满,真的是个很棒的经验! (但可惜的是,一次只能咨询一个APP) 所以记得,下次去WWDC一定要先去预约用户界面设计实验室! — — — — 除了有幸去Design Lab瞧瞧之外,我还去了—开发人员实验室 为什么呢?因为有一个问题真的陷阱我很久了 直到现在我还是无解 那么我就先简单的前情提要一下好了 — […]

使用Xcode和LLDB进行高级调试

框架变量varaibleName 打印此变量的类型 2.表达式variableBool = false 添加一个断点,为此断点添加动作,然后它将variableBool更改为false 3.为所有调用此函数的位置添加断点:符号断点 4. po $ arg1 — —打印汇编代码 5.断点集—一次正确—名称“-[UILabel setText:]”:断点仅有效一次 6.通过将断点拖动到下一行来跳过该行,或者添加断点并添加操作:线程跳转—加1 7.通过右键单击变量名称并单击监视变量名称来监视变量 8.expression -l objc -O — — [[‘self.view’XXXX]修复某些类型没有成员的错误 9.命令别名poc表达式-l objc -O — — 别名使命令更简单 视频参考:https://developer.apple.com/videos/play/wwdc2018/412/

可可触摸(WWDC 2017 Session 201)TL; DR中的新增功能

以下是WWDC 2017(会议201)的大部分“可可接触新功能”会议的快速回顾。 这都是现场输入的内容,因此,如果某些内容不正确,请随时纠正我。 生产率 拖放 通过创建UIDragInteraction(UIInteraction的子类)并将其附加到您希望具有Draggable的视图(并分配其委托),来启用Drag。 委托人提供拖动项目的数据,允许自定义“提升”动画并自定义draggin预览。 通过创建UIDropInteraction并以类似方式设置其委托来启用Drop。 委托允许在拖动移动时更新UI,接收拖放上的常规数据并自定义拖放动画。 开箱即用地支持许多UIKit元素-TableView,CollectionView,TextView,TextField和WebView。 文件管理 引入了新的文件资源管理器,该文件资源管理器允许在我们的应用程序中进行演示。 UIDoumentBrowserViewController是我们可以在应用程序中显示的ViewController。 它是高度可定制的,并允许访问设备内容,iCloud内容和外部云服务。 协调文件访问至关重要,因为我们不能指望我们的应用程序是唯一可以触摸某些文件/资产的应用程序。 可以通过使用NSFileCoordinator / UIDocument来完成。 用户界面优化 大标题导航栏可以具有内置的搜索栏,但是当您向上滚动内容时,搜索栏将随着大标题折叠为常规小标题而折叠,就像我们习惯于iOS 10。 在大多数情况下,这几乎可以自动完成,因为系统可以通过将UINavigationBar.prefersLargeTitle设置为true来自动处理它。 您还可以使用UINavigationItem.largeTitleDisplayMode来围绕导航级别以更精细的方式控制大标题显示模式。 通过设置UINavigationBar.searchBarController启用统一搜索栏。 通常,导航控制器/堆栈中的顶部控制器将是唯一使用“大型”样式标题的控制器,而内部控制器应使用标准的小变化。 导航栏中有一个内置的Pull-to-refresh,看起来很棒。 我们不能一直指望导航栏的静态高度,因为它可能会更改不同内容类型的高度。 在大多数情况下,这将由各种UINavigation类自动处理。 UIView上有一个新的safeAreaInsets.top属性,我们可以准确而可靠地使用它来通过导航栏知道“模糊”区域的大小。 还有一个底线值。 ( safeAreaInsets.bottom ) 您也可以使用safeAreaLayoutGuide 。 对于手动布局,您可以手动阅读safeAreaInsets并订阅安全区域大小的更改。 现在, UINavigationController不再像使用安全插入一样控制插入值,因此在Scroll View上设置手动插入应该不再像以前那样费时了。 UIScrollView具有称为contentInsetAdjustmentBehavior和contentInsetAdjustmentBehavior新属性,可用于手动定义插图在UIScrollView上的行为。 UITableViewCell现在支持使用新的UIContextualAction类在左侧和右侧进行内置的滑动操作。 看起来与UITableRowAction工作原理类似,但是更加精致,因为您可以单独使用UISwipeActionsConfiguration对这些UIContextualAction进行分组。 UITableView上有一个新的属性,称为“ separatorInsetReference ,可让您设置插图的值是绝对值还是“增量”,例如,在引用中,插图将是以前的插图。 斯威夫特4和基金会 归档Swift本机类型 新的Codable协议允许更轻松地“存档”和“取消存档”,并且默认情况下允许他们参与NSCoding。 关键路径 新的KeyPath类型具有用于文字语法的选项(例如\Object.path.subPath ),因此您可以动态创建一个密钥路径,然后使用collection[keyPath: someKeyPath] 。 使用object.obserer(keyPath) { […]

WWDC 2017:平台国情咨文主题演讲

苹果宣布了一系列新功能以帮助应用程序分发。 显着的改进是分阶段发行,该版本将使开发人员几乎可以在Google Play分阶段推出时逐步部署其应用程序的更新。 iOS 11将以32位应用程序结尾。 从2018年1月开始,所有将提交到iOS应用商店的新应用都将需要64位,并且在2018年6月还将包括更新。 由于iOS macOS将类似地淘汰32位应用程序,因此High Sierra是最后一个完全支持32位应用程序的版本。 斯威夫特游乐场 如今,迅速的游乐场已被超过一百万的用户使用。 在WWDC发布1.5版本的应用程序前一周,您可以与鹦鹉,Sphero甚至LEGOMINDSTORMS®等品牌的无人机和机器人进行互动。 您可以找到一个新的附件选项卡,可以在其中找到准备与此机器人一起使用的示例。 在将随iOS 11一起发布的2.0版本中,将添加8个新的本地化版本,开发人员,教师和组织可以创建操场上供稿,以帮助与Swift Playgrounds应用程序用户轻松共享内容。 Xcode 9 更好的源代码编辑器 当他们谈论Xcode的新功能时,它始终是我最好的部分,而今年我们有很多新东西。 首先,源代码编辑器完全是用Swift重写的,现在它包含一个markdown编辑器,突出显示问题的布局正在重新考虑,以使其更适合代码,并且最终可以一次解决所有问题。 现在,如果您在按CMD的同时单击某个地方,Xcode 9现在也会提供更好的代码重构,它将显示一个菜单,其中包含可能的重构和与所选代码相关的操作: 另一件事是像现在Xcode高亮逻辑组只是按CMD并传递了func或class关键字: 向类添加协议已经存在一个问题,该问题将实现非可选方法: 同样,CMD + / CMD —现在将增加和减小字体大小。 对于仍在使用Objective-C的人们,他们迅速使用了@availabe关键字。 现在,您的项目也有了组组织,它将与您的文件夹匹配。 Github也直接集成在Xcode中。 苹果团队将使转换引擎成为开放源代码,任何开发人员都可以轻松地添加新的重构功能。 更好的迅捷 他们删除了所需的characters关键字来访问字符串的字符,而不是字符串是可范围替换的双向Collections。 在整个iOS上拖放 您可以在应用程序之间以及同一应用程序内进行拖放。 它会自动用于UITextfield和UIWebviews。 在其他情况下,仅使用两个UICollection和UITableview委托方法即可轻松实现,添加它可能是向列表添加重新排序支持的一种好方法。 拖放所涉及的数据无法由其他应用访问,因为期望该应用将删除该内容。 拖放的所有部分都是可定制的,动画,数据模型… 都是关于图片的 iOS摄像头现在可以检测QR码,并带有通用链接的通知。 苹果公司向我们展示了一种新的压缩格式: HEVC ,视频和照片的压缩率是原来的2 倍 。 结合起来,有一个名为HEIF的新图像容器,可以由不同的资产类型组成。 HEIF是ISO标准。 深度 :应用程序现在可以访问HEIF图像的深度图 视觉 :您可以直接从相机进行面部,界标,矩形,文本,条形码的检测,还可以进行一些对象跟踪,并且使用核心ML,您可以使用机器学习模型来帮助进行对象识别。 […]