随着苹果各大系统正式版的发布,Xcode 12 正式版也最终发布。Xcode 12 包含的 SDK 支持 iOS 14, iPadOS 14, tvOS 14, watchOS 7, 和 macOS Catalina 10.15.6。现在已经可以用 Xcode 12 打包上传 App 了,而且苹果要求最晚在明年 4 月份,要全部使用 Xcode 12 来打包。
整个 Xcode 12 Release Notes 的内容很多,总共包含了 20+ 项内容,每项或多或少包含了新特性、解决的问题、已知的问题和弃用项等内容,有耐心的读者可以慢慢研究。这里我们主要整理了一些新特性,没有包含全部的内容,仅供参考。
• 文档可在所属的标签中打开,从而可以在文件之间快速切换,同时保持 Xcode 其余的配置不变 • Xcode 现在支持预览 widgets,App Clips 和 Swift 包中的内容,并安装了适用于 iOS 14 和 iPadOS 14 的新的 Xcode Previews 应用; • 新的 LibraryContentProvider 协议能够在 Xcode 的库中显示视图和修饰符; • 代码补全的用户界面更加突出重点,更容易查找,同时速度也提高了 5 倍
• Clang 现在会对 NSLocalizedString 宏中不正确的格式化字符串给出警告; • std::is_scalar 对于 Block 类型的值为 true,这允许在一些新的地方使用 block,如 std::optional
• 添加了对 SVG 的支持; • 显示复杂点位符图像所需要的像素大小; • 默认情况下,添加新颜色时会包含一个 Dark Appearance 变体。如果保持为空的话,Xcode 会为 Light Appearance 和 Dark Appearance 使用 Any Appearance 色值; • Mac Catalyst 资产变体更名为 Mac Scaled。在选择了 Scale Interface to Match iPad 时,Xcode 将在使用 Mac Catalyst 构建的目标中使用此资产。当选择 Optimize Interface for Mac 时,Xcode 将首选 Max 资产变体; • New Asset 菜单按平台组织资产类型;
• 可以在命令行上使用 momc 从模型生成 Core Data 代码; • XCFrameworks 现在可以使用 -debug-symbols 标识在库中包含 .dSYM 和 .bcsymbolmap 调试符号文件;
• Training Control 可辅助在训练过程中探索模型并与之交互,可暂停、保存、恢复和扩展训练过程; • 新的 Style Transfer 模板可以训练深度神经网络来实时样式化照片和视频; • 新的 Action Classification 模板可以训练神经网络以对视频片段中单个人的动作进行分类; • 当训练数据有限时,新的 Object Detection 模板的新 Transfer Learning 选项有助于提高模型的准确性; • Word Tagger 模板的新 Transfer Learning 选项使用动态词嵌入,可在训练数据有限时帮助提高模型的准确性。
• 流程在断点处暂停时,断点位置的点击计数会显示为断点注释的一部分; • 进程在调试时崩溃时,Xcode 将会在控制台中打印崩溃消息,这些消息类似于 CrashReporter 中显示的信息; • 在 Breakpoint Editor 中拖动断点以重新排序; • Current Line -> Current Line and Disable Breakpoint 中的新的 Enable Breakpoint 菜单项可以在代码中切换已有的断点; • 可以命名一个断点,并在另一个断点的动作中通过名称来引用这个断点; • 要进入汇编,可以单击 Step Over 或 Step Out 时按住 control 键; • 除了在编辑器中显示暂停的行外,还会显示暂停所在的列; • 可以指定用于 Run 和 Test 操作中的 LLDB 初始化文件的路径; • Xcode 调试器注释将突出显示源代码,使其具有更高的不透明度,以提高在多个Xcode主题中的可见性; • 视图调试器可识别运行时问题,并提供优化机会以提高UI的效率和响应能力。当您调试应用程序的视图层次时,Debug 导航器会给出建议; • 要调试 Widget Extension,可运行扩展的方案。在小部件扩展方案的 Arguments 中设置环境变量,以配置调试会话。小部件支持一个或多个系列或大小; • 视图调试器现在支持保存和重新打开视图层次结构快照; • 在视图调试器中选择了 CALayer 后,Object 检查器现在将在 Offscreen Flags 和 Group Flags 上显示说明性的工具提示; • 如果已在 Breakpoint Navigator 中禁用了断点,则可以使用上下文菜单删除所有禁用的断点; • 使用为 App Clip 创建的方案调试 App Clip; • 视图调试器会为 CALayer 的性能优化机会生成运行时问题; • Xcode 捕获的视图层次结构现在可以导出到 .viewhierarchy 文件; • ClockKit 框架会在 Xcode 中生成运行时问题,以帮助您分析运行时错误;
• Devices and Simulators 窗口的 Add Device 可调整大小; • Devices and Simulators 窗口允许在导航器中选择多个设备,因此可以将它们取消配对;
• Developer Documentation 窗口有一个新的 Featured 页面,包含Apple最新开发人员文档的概述;
• 您可以使用 xctrace 命令从现有 Instruments.trace 文件导出 Analysis Core 表; • 当存在 dSYM 时,Instruments 支持在调用树和事件回溯中更好地扩展内联函数; • Instruments 现在将适用的 CPU 注释为 Efficient 或 Performance。选择一个 CPU 将显示相关的详细信息,包括数据受该 CPU 限制的调用树; • Instruments 现在可以从 .logarchive 文件导入数据; • 可以使用 --attach 标志通过名称将 xctrace 命令附加到现有进程; • 现在,除了 Disk Reads 和 Disk Writes 的各个详细信息视图之外,File Activity 模板还提供了逻辑读取和写入的汇总统计信息; • System Trace 模板在新记录和导入文件上的性能明显更高; • 由于优化了 .trace 符号存储,现在具有大量符号记录的文件小了80-90%; • Instruments包括一个新的Animation Hitches模板,用于检测滚动和动画问题,以帮助您可视化和研究应用程序的图形管道; • 在轨迹视图中双击事件将切换到详细视图,该视图在检查的时间显示基础数据,以便您进一步调查;
• 添加了对 macOS 11 中引入的 NSView 上新的 safeAreaLayoutGuide 的支持; • Interface Builder 的画布具有一个新的小地图; • 查找和替换现在在属性字符串文字中包括匹配项; • Interface Builder 现在为 NSDatePicker 提供了“当前日期”选项; • Interface Builder 现在为 iOS 14 中引入的 UISplitViewController 支持两列和三列样式; • 在,默认情况下,当项目彼此之间的距离为标准距离时,会创建标准间距约束; • 在 macOS 11 中添加了对 SF 符号的支持; • 在 macOS 11 中添加了对新的 isNavigational 工具栏项属性的支持; • 现在,您可以为 storyboard 和 .xib 文件编辑 SF 符号的 Render Mode 和 Symbol Scale。在图像选择器中选择 SF 符号时,图像名称下方会展开两个附加属性; • 添加了对带有自动,全宽,插入和源列表选项的新 NSTableViewStyle 的支持; • Objects 库包含一个带有边栏对象的新窗口控制器,该对象由一个窗口控制器和拆分视图控制器组成,这些控制器被配置为提供工具栏,边栏和具有安全区域布局指南的全尺寸内容视图。
• 链接器现在支持 @filename 响应文件,文件的内容代替文件名被替换到参数列表中; • 现在,如果您与 dylib 链接但未使用任何符号,则链接器将报告警告;
• Metal Debugger 中新的 Summary Page 概述了捕获的命令缓冲区,性能指标和内存使用情况。Xcode 分析命令,并提供描述您可能要调查的潜在问题的见解列表; • 在 A11 或更高版本 GPU 的设备上捕获数据时,Metal System Trace 会跟踪各个着色器的开始和结束时间,从而提供有关 GPU 如何执行代码的更详尽的信息; • 在 Instruments 中,除了 iOS,GPU 计数器现在还可用于macOS。使用 GPU 计数器可获取有关 GPU 如何运行着色器代码的更多信息,例如着色器代码是未充分利用 GPU 还是在 GPU 的特定部分出现瓶颈; • 着色器验证可检测常见的着色器错误 • Metal Debugger 中的 GPU Counter 视图具有新的用户界面,可以更轻松地过滤和分类 GPU 计数器数据;
• Xcode Organizer 中的 Metrics Charts 现在是交互式的,允许开发人员比较和对比与他们的应用程序的不同版本相关的指标; • Xcode Organizer 现在显示滚动提示指标。使用这些指标可以帮助您识别在滚动应用程序时遇到的可察觉的动画延迟; • Xcode Organizer 现在提供“磁盘写入”诊断报告。使用这些报告可以优化应用程序的磁盘写入性能; • 现在,Xcode Organizer 中的指标包括来自应用程序版本的数据,这些数据使用有一定限制;
• Xcode 的 Report Navigator 现在包括 Playground 构建日志; • Xcode Playgrounds现在可以构建活动方案的目标,并在文件检查器中启用 Build Active Scheme 后将其导入; • Xcode Playgrounds 现在可以导入和使用 Swift 包和框架;
• Xcode 现在可以在选择哪个应用程序呈现预览时考虑编辑过的文件并打开预览。现在,与应用程序链接的框架中包含的文件可以在应用程序内部进行预览,从而拾取应用程序提供的所有资源和权利; • 现在,每个预览都有用于启动 Live Preview, Preview on Device, Inspect Preview, and Duplicate Preview 的按钮; • 画布具有添加修改器的全新集成体验; • 现在,代码完成功能会为SwiftUI视图和修饰符插入一个可编译的完成内容和示例; • Xcode 支持预览小部件; • 现在,“属性”检查器提供了快速操作,可用于编辑所选预览的名称,设备,布局,首选配色方案和可访问性文本大小; • 如果框架通过选定方案中的应用程序链接,则 Xcode Previews 现在支持在设备上预览框架中的视图; • Xcode 现在通过在 watchOS complications 中添加 previewContext(_:) 修饰符来支持预览 SwiftUI watchOS complications; • Xcode 现在支持 App Clips 的预览; • Xcode 现在可以与适用于 iOS 14 和 iPadOS 14 的新 Xcode 预览应用程序连接,以大大改善设备上的预览。Xcode Previews 应用程序无缝显示设备上 Xcode Previews 中的更改。首次使用设备上的预览时,Xcode 预览应用会显示在设备的主屏幕上。与 Xcode 断开连接后,在设备上启动 Xcode 预览将恢复最后显示的预览; • 现在,双击预览中的视图将选择相应的代码,并将键盘焦点移至源代码编辑器,从而可以快速编辑视图的内容; • 现在,画布的底部栏包含一个用于快速检查所选视图的按钮; • 使用新的 LibraryContentProvider 协议将自定义 SwiftUI 视图和修饰符添加到 Xcode 库;
• Document Types, Exported Type Identifiers 和 Imported Type Identifiers 窗格支持 macOS 11 中新的模板化文档图标;
• 现在,Project navigator, Source Control navigator, Debug navigator 和 Reports navigator 中的选择将跟踪活动编辑器的内容。 • Xcode 的导航器现在尊重系统的“侧边栏图标大小”,并允许独立于该设置进行更改。 • 现在,在 Find 导航器中的文件结果将使用显示其工作区位置的路径进行修饰。 • 现在,Project 导航器可以在键入过滤条件并按 Enter 时控制文本匹配样式(“包含”,“不包含”,“开头为”或“结尾为”)。 • Open Quickly 匹配更具针对性和重点。Open Quickly 更适合查找不连续的单词匹配; • 跳转栏,方案菜单和运行目标选择器中的文本过滤得到了显着改进;
• Editor > Refactor > Rename 将使用带有反引号转义的定义或引用来处理重命名符号。
• App Clip 可以使用 Network Extension 框架和 Hotspot Configuration Entitlement 来配置Wi-Fi网络; • Xcode 12 使您可以构建 iOS 应用程序,以便在具有 Apple Silicon 芯片的 Mac 上运行;
• Simulator 可以全屏模式显示模拟的设备,也可以将其窗口平铺在 Xcode 旁边; • 模拟的 watchOS 7 设备支持 64 位处理器; • Window > Stay On Top 可使设备窗口位于其他应用程序窗口的前面; • 当设备窗口失去焦点时,它将暂停捕获从 Send Pointer to Device 和 Send Keyboard Input to Device 的输入事件,直到模拟器重新获得焦点; • 模拟器默认为内置麦克风,除非您明确选择其他音频源; • 模拟器支持为支持该功能的设备模拟“近场交互”;
• 现在,您可以在 Xcode 的“偏好设置”的“源代码控制”窗格中为新存储库指定默认分支名称。此首选项使用 Git 版本 2.28 中提供的 init.defaultBranch Git 配置选项;
• 与 Xcode 11.5 相比,Swift函数体内的重复代码完成调用现在快 15 倍;
• Xcode 12 支持使用新的本地 StoreKit 测试环境直接在 Simulator 或连接的设备中测试应用内购买
• 改进了链式方法调用的缩进,特别是那些涉及嵌套或结尾闭包的缩进; • 改进了使用 SwiftUI 的 List 初始化程序时的错误消息,该初始化程序采用可识别数据的集合,且其元素类型不符合 Identifiable; • Swift 缩进现在使 guard 和 if 语句中的条件按列对齐; • 现在,编译器将诊断代码中的排他性违规,该代码在字典访问期间计算默认参数; • 现在,当不太可能发生循环引用时,Swift 允许在 @escaping 闭包中隐式使用 self; • 现在,使用默认初始化而在包装属性上没有空括号的情况下,具有附加属性包装器的属性现在可以依靠类型推断来推断包装的值类型; • 为了缩短增量编译,Swift现在为每种类型(和协议)主体保留单独的指纹。这些类型主体指纹意味着,如果您在还定义了其他结构,枚举,类,协议的文件中更改结构,枚举,类或协议的主体,则只有已更改的实体才被视为“dirty”。目的是重新编译其他文件。 • Xcode 12 支持在基于 UIKit 或 AppKit 的应用程序中使用 @main 代替 @UIApplicationMain 或 @NSApplicationMain; • lazy 属性现在可能具有 didSet 和/或 willSet 观察者; • Swift 5.3 引入了一个 #fileID 标识符,该标识符产生的字符串比 #file 短。#fileID 字符串包含文件名和模块名称,但省略了文件的其余路径;这样可以节省空间,提高性能,并避免在开发人员的二进制文件中意外嵌入开发人员的主目录名称之类的私人信息; • 尾随闭包现在与从第一个闭包参数开始并向前移动的功能参数匹配。这允许默认的闭包参数更自然地与多个尾随的闭包一起使用;
• 现在,您可以为 Swift 软件包的目标依赖项声明条件,例如按平台限制依赖项。这使您可以更加灵活地描述支持多个平台的复杂目标依赖关系; • Swift 软件包现在可以包含资源,例如图像,资产目录,storyboards 和其他文件;Xcode 构建依赖于程序包的应用程序时,会将程序包的代码和资源添加到应用程序包中,以便在运行时使用; • Swift 软件包现在可以作为 XCFrameworks 分发的预构建库,从而允许依赖于不能作为源代码分发的库。Xcode 构建使用此类软件包的应用程序时,会将库嵌入到应用程序包中; • Swift 软件包现在可以包含软件包中任何资源的本地化内容。除了资产目录中的本地化内容外,Xcode 还支持.lproj文件夹中的单独本地化文件;
• 现在,可以在除 XCTestCase 子类的实例方法之外的上下文中使用 Objective-C 中的 XCTAssert 和相关的断言宏; • Xcode 现在捕获测试方法之外发生的测试失败的回溯,并在“问题”导航器,源代码编辑器和测试报告中列出失败的调用堆栈框架; • 现在,UI 测试将隐式处理 iOS 上的横幅通知,这些横幅通知会在 UI 测试期间阻止导航栏; • XCTest 现在提供 XCTIssue 类型,用于对测试失败和其他问题进行更丰富的建模,以及用于处理这些问题的关联 API; • 如果测试过程无法启动或加载测试包,例如,如果动态链接失败,或者某些其他系统故障导致无法启动测试,则该错误将显示在测试报告中标题为“System Failures”的部分; • 现在,测试报告UI中会显示通过,失败和跳过的测试数量; • 在以启用测试计划的方案进行测试时,Xcode 现在仅生成活动测试计划引用的测试目标。如果该方案引用了多个测试计划,则不会构建当前活动的测试计划未引用的测试目标; • XCTApplicationLaunchMetric 现在可以衡量应用程序启动到第一帧的情况; • 现在,Xcode 在计算在运行测试时要包含在 DYLD_FRAMEWORK_PATH 和 DYLD_LIBRARY_PATH 环境变量中的内置产品目录列表时,会排除静态库目标; • 性能 XCTests 现在在结合使用 XCTOSSignpostMetric 和动画 os_signpost 间隔时支持动画性能测试; • 如果测试进程在等待异常时停止,则 Xcode 捕获测试进程的转储并将其附加到测试报告中; • Xcode 12 扩展了 Xcode 11.4 中引入的重置受保护资源的授权状态的功能; • XCUIElement 和 XCUICoordinate 允许在执行滑动和拖动交互时指定速度; • 在UI测试期间拍摄的屏幕截图现在已编码为 HEIC 文件,而不是 JPEG,这可以大大减少结果包的文件大小; • ......
本文由哈喽比特于4年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/1yIM8UquTgHvnvHoRVq1aw
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。