首页
学习
活动
专区
圈层
工具
发布

一篇文章看懂iOS 11 SDK所有新特性与功能

如果你不是很熟悉机器学习的话,我想我可以在这里“僭越”地做一些简介。...Core ML 将使用模型的门槛降低了很多。 Core ML 在背后驱动了 iOS 的视觉识别的 Vision 框架和 Foundation 中的语义分析相关 API。...AR 可以说并非什么新技术,像是 Pokémon Go 这样的游戏也验证了 AR 在游戏上的潜力。不过除了 IP 和新鲜感之外,个人认为 Pokémon Go 并没有资格代表 AR 技术的潜力。...虽然不知道是不是由于换成了 Swift 4,不过正在做的公司项目的总编译时间从原来的三分半缩短到了两分钟半左右,可以说相当明显了。...由于 Swift 4 编译器也提供了 Swift 3 的兼容 (在 Build Setting 中设置 Swift 版本即可),所以如果没有什么意外的话,我可能会在之后的日常开发中使用 Xcode 9

1.7K70

教程 | 如何使用Swift在iOS 11中加入原生机器学习视觉模型

想知道如何将苹果的新 API 集成到自己的应用程序中吗?这可比想象中更容易。 ?...当你将.mlmodel 文件拖动至应用程序中时,Xcode 便会为其自动创建 Swift 封装。一些模型文件的大小可以达到几百 Mb。...这是我在使用 Xcode 9 测试版时,短时间内所发现的许多 bug 之一。 ? 苹果公司还凭借 Core ML 模型推出了自己的机器视觉 API,并命名为 Vision。...Vision 包含了许多不同的机器视觉模型,它们可以检测人脸、条形码、文本等多种类型,还为基于图像的 Core ML 模型提供了包装器。其中一些包装器专属于特定类型的模型。...最后一个代码块只需接受请求的结果并将其打印出来。在这个演示中,我没有设置任何「预防差错」的措施,所以一旦出现问题,整个应用程序便会崩溃。

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

    Swift 周报 第三十九期

    当在 Xcode 时间线中查看时,几乎所有时间都花在“Emitting Module”阶段。 在干净的构建中,时间从约 56 秒缩短到约 1440 秒。...如果我当时观看 Activity Monitor,我的 CPU 的 swift-frontend 进程在此期间将保持在 100%。但除此之外似乎没有什么可疑的。...比较输出,框架的大小几乎相同,我没有看到任何其他真正值得注意的东西。 关于什么会导致这种巨大差异有什么想法吗?...如果这些步骤中的任何一个失败,我都会发出一条诊断消息,要求该值是一个文字。 这是应该如何工作的吗?对于看似常见的用例来说,这似乎是一个极其繁琐的过程。我在这里错过了什么吗?...难道我做错了什么?是否使用正在构建的平台来确定可用性,而不是目标平台? 回答 这里的问题是 #if 块是 IfConfigDeclSyntax,而不是表达式。

    67720

    苹果新推出的CoreML怎么用?有哪些bug?这里有一份教程

    当你把.mlmodel格式的文件拖进App中时,Xcode会为它自动创建Swift wrapper。一些这样的模型文件大小可超几百兆。...为了支持Core ML模型,苹果也推出了自己的机器视觉API,并命名为Vision。...Vision包含了许多不同的机器视觉模型,它们可以检测人脸、条形码、文本等多种类型,还提供基于图像的Core ML模型wrapper。...在这个Demo中,我没有设置出错时提醒之类的机制,所以一旦出现了错误,整个程序就会崩溃。 另一个影响项目的大bug是将文件拖放带项目导航器中发生的。...如果模拟器无法启动,你需要先退出模拟器和Xcode。 以上就是我带来的iOS 11中轻松使用机器学习的示例项目。苹果链接中的其他三个模型应该都与VNCoreMLRequest兼容。

    2K70

    Swift 2.0 简要介绍

    Error Handling 程序总会出错,当函数出错时,如果能找出哪里出错了,有助于理解为什么会失败。...这就是为什么我们要包含最后一个不带任何匹配模式的 catch 如果你想学习更多的关于 Swift 的错误处理,我推荐你去读 Apple 的官方文档 No More println...是不是很美妙 O(∩_∩)O~~ Availability Checking 每个开发者都要构建 App 的时候都要和不同的 iOS 版本做斗争。...Summary 我希望你能很高兴地去阅读一下 Swift 2 的官方简介,这里有很多我这篇文章没有提到的内容,比如 Markdown 格式的注释等,你也可以去观摩 WWDC 视频...你可以下载这篇文章的 Playground file 代码,请确保用 Xcode 7 运行哦,因为这是唯一支持 Swift 2.0 的 Xcode 版本。

    1K00

    2020 年,苹果的 AI 还有创新吗?

    Vision 框架来做这些事情。...让我们快速看看这里有什么新东西。 Vision 计算机视觉框架 Vision 增加了很多新功能。 Vision 已经有了人脸、人脸特征和人体检测模型。...Turi Create:基本上是 Create ML 的 Python 版本,虽然它看起来仍在维护中,但最近似乎没有得到很多人的喜爱。 让我们具体看一下这些 API 都提供了什么新特性。...我很高兴,我们不需要再通过 ONNX 转换 PyTorch 模型了! Vision 新提供了一堆很酷的东西。我很高兴苹果添加视频分析功能。虽然可以在每个视频帧上单独运行 ML,但这样做会忽略时间维度。...至于 训练……我不知道为什么我们需要 7 种不同的 API。我认为,在新 API 解决所有问题之前,苹果公司不会弃用旧 API。

    1.5K40

    深度学习图像识别项目(下):如何将训练好的Kreas模型布置到手机中

    对于熟悉Xcode的人来说,这一步没有什么困难,但对于我来说,我必须使用在线资源学习(我不是移动专家,而且我已经很久没有使用Xcode了) 。...Swift应用程序中,(5)编写Swift代码以对摄像头进行帧的推断,(6)部署到iPhone!...08:36 xcode …你会看到 pokedex .mlmodel,它可以直接导入到Xcode中(我们将在下一节的第4步中继续这样做)。...然后,我使用上篇文章的代码重新训练模型。background类由从我的系统上的UKBench数据集中随机抽取的250个图像组成。 在Xcode中创建一个Swift + CoreML深度学习项目 ?...借助Vision框架,可以执行人脸检测,面部标志检测,条形码识别,特征跟踪等。 现在我们已经导入了相关的框架,下一步创建 ViewController 类(从一个文本标签开始): ?

    6.5K40

    实战 | 手把手教你用苹果CoreML实现iPhone的目标识别

    这篇文章介绍了通过苹果最新的API把YOLO模型集成到APP中的两种方法。...将其拖放到Xcode项目中 http://machinethink.net/blog/ios-11-machine-learning-for-everyone/) 在我们的案例中,Xcode已经生成了TinyYOLO.swift...但是目前,Vision并没有为这个Core ML模型返回任何东西。我的猜测是,在当前的测试版中不支持非分类器。 所以现在我们别无选择,只能跳过Vision并直接使用Core ML。...在之前的YOLO帖子中,我们创建了一个转换脚本,将批量归一化参数“折叠”成卷积层的权重。必须这样做,因为Metal没有批量归一化层。...没有什么大惊喜,因为核心ML底层使用的Metal。 注意:运行这些类型的神经网络会消耗很大的电量。这就是为什么演示应用程序限制运行模型的频率。

    5.6K80

    Swift入门: 数据类型

    字符串可以是长的(例如一百万个字母或更多)、短的(例如10个字母)甚至是空的(没有字母),这无关紧要:它们在Swift眼中都是字符串,工作原理都是一样的。...它的意思是,“我不知道name是什么数据类型,因为你没有给我足够的信息。”...此时,您有两个选项:要么创建变量并在一行代码中为其提供初始值,要么使用类型注释(type annotation),在这里您可以告诉Swift该变量稍后将保持什么数据类型,即使您现在没有为其提供值。...请注意,String和Int开头都有大写字母,而name和age则没有,这是Swift中的标准编码约定。编码约定对Swift来说是无关紧要的(你可以写自己喜欢的名字!)但对其他开发者来说确实很重要。...我们说过经度应该等于-86.783333,但在结果窗格中,您将看到-86.78333——它在末尾缺少了一个3。现在,你可能会说,“0.000003有什么关系?”但这很好地证明了我所说的准确性。

    1.1K10

    肘子的 Swift 周报 #057| 超宽虚拟屏很棒,但我们期待更多

    就我个人的使用体验而言,超宽虚拟屏幕为开发工作营造了一种独特的沉浸感,能让我在相当长的时间内保持专注 —— 直到设备的佩戴重量打断这种沉浸体验。...超宽虚拟屏幕的推出证明了 Apple Vision Pro 的硬件潜力远未被充分释放。随着苹果开放更多功能性 API,开发者有望为这款设备创造出更多突破想象的创新体验。...Swift 开发团队同样早已认识到所有权的重要性,并在 5.9 版本中首次引入了相关特性,随后在 6.0 版本进一步完善。...在 Xcode 中格式化 Swift 代码 (Swift Format in Xcode)[12] Sarah Reichelt[13] 在苹果的开发生态中,有两个名称相近、功能相似的代码格式化工具:由...Nick Lockwood 开发的 SwiftFormat[14] 提供了更丰富的定制选项,而苹果自己开发并集成到 Xcode 16 中的 swift-format[15] 则是内置的选择。

    49610

    用 Swift 来构建安卓应用|肘子的 Swift 周报 #071

    OpenSwiftUI 项目最近公开了 ViewList[6] 相关的代码实现,这是理解 SwiftUI 中 View 协议未公开 API 的关键部分。...我同样期待苹果能够进一步开放其部分官方 Swift 框架。Swift 在其他平台上的成功不会动摇苹果生态的根基,相反,这种开放姿态可能会吸引更多开发者投入苹果平台的怀抱。...[18] .xcconfig文件是 Xcode 项目中去中心化管理构建配置的重要工具,能够帮助开发者将环境变量(如 API 地址、编译选项、日志级别)从 Xcode 界面和 Swift 代码中解耦出来。...Let's Vision 2025 LET’S VISION 是中国最大、最具国际化的 Apple 生态盛会,被誉为 Apple 生态中的“超级盛典”。...在 上期周报[24]的抽奖活动中,Cocoa 获得了一张 Let's Vision 2025 Basic Pass。

    1.2K00

    肘子的 Swift 周报 #021 | 拥抱 AI,和 Apple Car 说再见

    作为长期使用苹果产品的用户,我对于苹果进军汽车行业的举动始终持有保留态度。我曾自问:苹果能否成功制造汽车?它们制造的汽车能否具有足够的独特性来吸引消费者?...作者建议 Apple 应在 Xcode 中增强对推断执行上下文的显示,明确标示代码是运行在主执行者、其他执行者还是全局协作池上,以此来降低 Swift 并发编程的复杂性,提升代码逻辑的透明度和易理解性。...Sharing state in the Composable Architecture[10] Point-Free[11] 在先前的 Composable Architecture(TCA)版本中,...这一私有 API 虽然未公开文档,但已被众多知名应用验证其安全性,并在生产环境中得到广泛应用。...Noah Martin 在本文中展示了如何利用此 API 开发 SnapshotPreviews[16] 框架,该框架能够将 Xcode 预览转化为图像快照,进而支持将自动化快照测试集成进拉取请求,为应用开发提供了高效的测试解决方案

    49610

    Swift 周报 第三十一期

    周报精选 新闻和社区:Apple Vision Pro 和 visionOS 撼世登场 提案:移除由属性包装器引起的 Actor 隔离推断 Swift 论坛:为什么只能将结构附加到数组一次 推荐博文:Swift...此外,为了向用户提供额外的隐私保护,如果 App 引用的 API 可能会被用于指纹识别(在 App Store 中被禁止的一种做法),现在需要选择合理的原因来解释为什么使用此 API 并在隐私清单中声明已使用此...目前大多数提案只提到主分支中有一个功能可用,尽管大多数时候该功能都在 Swift.org 上可用的开发快照中 - 下载 Swift 对于新手来说了解这一点并不是那么微不足道,有时还有一个提案审查期 甚至在没有工作快照的情况下启动...为什么要这样做?这就是我想要弄清楚的。...宏目标不应链接到应用该目标中包含的宏的代码。 提问哪个 Apple Networking Api 用于 UDP 多播和单播?[10] 一般而言,iOS 开发和网络的新手。

    51420

    WWDC 2025 初印象:意料之中,预想之外

    之所以说意料之中,是因为其中很多新特性在之前的传闻中已经泄露,而且我所关注的几个框架的新进展也大多集中于过去几年间开发者的迫切需求,因此在看到这些变化时并不会在第一时间感到什么惊喜。...这在某种程度上也解释了长期困扰我的一个问题:为什么很多看起来并不复杂的功能,苹果总是很晚才能提供官方实现。至少今年的不少新 API,都让我感到设计得很精彩,而且也具有相当的前瞻性。...有些遗憾的是,我测试了从去年到今年遇到的一些必现 SwiftUI Bug,在 beta1 版本中并没有得到解决。我认为解决稳定性、提升性能仍是未来相当长一段时间里 SwiftUI 的首要目标。...类似的功能在几个月前刚在 Swift 论坛[9]中进行讨论,没想到就以更加完美的形态出现在 Xcode 中。...这个功能不仅让开发者可以更加灵活、低成本地学习和测试 API,而且也让库开发者可以将更多有效的演示集成到源码中。

    32900

    Vision Pro 有望 2 月上市| Swift 周报 issue 44

    随后有关 Vision Pro 生产的消息不断传出,今年 9 月,立讯精密董事长王来春曾透露,公司正在为明年初上市的苹果头显 Vision Pro 做生产准备。...没有观察到交换,并且操作系统保持响应。 如果没有内存限制,随着时间的推移,Swift 往往会消耗所有可用内存,从而影响包括 SSH 在内的其他进程,并需要重新启动系统来中断。...该测试涉及重复创建嵌套结构的实例(从 0 到 999),尽管类型化 init 方法需要类型推导,但它在多个 Xcode 版本中始终比 .init 方法慢。...这种差异很明显,Xcode 15.2 中 .init 方法的速度是原来的两倍多。 用户对观察到的性能差异感到困惑,因为类型化的 init 方法应该推断类型,通常会导致更快的执行。...为了有效地表达这些算法,使用像 RangeSet 这样的类型变得至关重要。 考虑到这些算法的更广泛必要性,LSG 发现包含 RangeSet 等专门集合以提高 API 效率更为明智。

    41222

    Swift 中的热重载

    包括: 重新启动它(或将其部署到设备) 导航到您在应用程序中的先前位置 重新生成您需要的数据。 如果您只需要做一次的话,听起来还不错。...我已经用了十多年了。 从今天开始,您想每周节省多达 10 小时的工作时间吗?...我跟踪我的工作一个多月,对我来说,每天节省了 1-2 小时。 坦白地说,如果每周节省10个小时的开发时间都不能说服您去尝试,那么我认为任何方法都不能说服你。 其他平台在做什么?...注入现在允许你更改 PaneAView 中的任何东西,除了它的初始化API。这些变化将立即反映在你的应用程序中。 ---- 一个更具体的例子?...如果您切换到我们的 TCA 分支(我们保持最新),你可以在 UI 和 TCA 层上使用 Inject 。 它有多可靠? 没有什么是完美的,但我已经使用它十多年了。

    2.8K20

    Swift 2.0 简要介绍

    在今年的 WWDC 上 Apple 推出了 Swift 2,我很幸运能参加这次 WWDC 大会,下面我分享一些新版 Swift 的更新。...Error Handling 程序总会出错,当函数出错时,如果能找出哪里出错了,有助于理解为什么会失败。...这就是为什么我们要包含最后一个不带任何匹配模式的 catch 如果你想学习更多的关于 Swift 的错误处理,我推荐你去读 Apple 的官方文档 No More println...是不是很美妙 O(∩_∩)O~~ Availability Checking 每个开发者都要构建 App 的时候都要和不同的 iOS 版本做斗争。...Summary 我希望你能很高兴地去阅读一下 Swift 2 的官方简介,这里有很多我这篇文章没有提到的内容,比如 Markdown 格式的注释等,你也可以去观摩 WWDC 视频

    92720

    苹果希望在中国推出 AI 功能 | Swift 周报 issue 68

    上期话题结果超越一定程度之后,停止或者慢速发展是不是依旧是超越态势?...具体到厂商,市场研究机构的报告是显示 Meta 将是销量最高的厂商,在出货量中所占的比例将达到 73%,远高于其他厂商;索尼则是出货量第 2 高的厂商,所占的份额为 9%;苹果 Vision Pro 以...市场研究机构在报告中也提到,Vision Pro 销量要低于苹果的预期,这主要是因为高昂的售价和目前有限的应用资源。...2) 讨论[第二次审查] SF-0007:Subprocess在 SF-0007 提案的第二次审查中,总体来看,SF-0007 提案为 Swift 引入了一个潜力巨大的子进程 API,但在细节上还需要进一步优化和澄清...使用 FileDescriptor 和 FilePath:目前 swift-system 并不包含在工具链中,因此提案中如何在公有 Foundation API 中使用这两个类型仍需进一步讨论。

    68322

    Swift入门:扩展

    扩展允许我们以一种非常干净的方式修改Swift的数据类型以添加新的功能——我们的新代码与现有代码没有区别。 让我们从一个扩展开始,它将一个扩展添加到一个整数。...是的,我意识到的是+=1,我们从最简单的开始。首先,添加此整数: var myInt = 0 extension Int告诉 Swift 我们想为其Int结构体添加功能。...Xcode真正的意思是,默认情况下,Swift不允许您在扩展中修改self。原因是我们可以使用5.plusOne()来调用plusOne(),显然您不能将数字5修改为其他含义。...如果您发现自己经常用字符串修剪空格,您可能会厌倦使用这种怪诞的功能: str = str.trimmingCharacters(在:.whitespacesAndNewlines中) …所以为什么不做这样的扩展...trim() { self = trimmingCharacters(in: .whitespacesAndNewlines) } } 您可以根据需要扩展任意数量,尽管将不同的功能分隔到单个文件中是一个很好的做法

    1.4K10
    领券