大多数浏览器和
Developer App 均支持流媒体播放。
-
更快捷、更简单地对 Mac app 进行公证
与 macOS 协同工作,公证可帮助人们在 App Store 之外安全地为 Mac 下载软件。了解公证工具如何让您快速轻松地对您的 Mac app 进行公证,做好分发准备。我们将向您展示现在如何仅使用一个命令即对您的 app 进行公证,以及如何将公证集成到您的持续集成工作流程中。要了解公证工作流,请观看 2019 视频“详解公证”。
资源
相关视频
WWDC22
WWDC21
WWDC19
-
下载
♪播放重低音音乐♪ ♪ 各位好 我是奥莉维亚希尔曼 我是一名安全性工程师 任职于Apple的“公证”服务 接下来 要跟各位介绍 我们手上一些令人激动的项目 可以加速并简化Mac apps的公证流程 我会先简单概述“公证”服务内容 接着深入介绍我们的新工具 并跟各位分享如何开始使用 那么就开始吧! 公证可以让Mac开发者 将他们的软件分发至 App Store以外的地方 这段讲座专门针对那些 使用现有命令行工具、altool 与“公证”互动的人 如果你只用Xcode进行公证 你的作业流程不会改动 Mac开发者会在软件分发前 提交软件进行公证 才能在用户的Mac上运行 这个公证流程 让用户有信心 在他们的机器上运行的软件 Apple已详细检查过没有恶意组件 从macOS 10.14以来 公证一直协助保护客户 现在 我们加速并简化了使用流程 想知道更多“公证”的背景 请参照2019的深度讲座 “关于公证” 现在先来看看“公证”的作业流程 开发者构建他们的软件 并提交给我们进行公证 “公证”服务会自动分析 扫描软件内有无恶意内容 并确认有无代码签名问题 如果没有问题 “公证”会发布凭证 让用户的Mac在启动软件时可取用 接着我们回到你的开发者团队的结果 我们努力在15分钟内处理完 98%的“公证”提交案件 大部分都能在五分钟内完成 之后你就能提供你的app供用户下载 而macOS会先检查软件 才能在用户的机器上运行 我们希望保护客户不受恶意软件侵扰 简化开发者提交给“公证”的流程 并让用户可以更快速地访问新软件 抱着这样的使命 实在很高兴 可以跟各位分享公证的新方法 向各位介绍notarytool notarytool提供了一个单行命令 用来提交你的软件并等候结果 我们已经介绍过 以Mac开发者需求为目标的增强 他们需要可独立进行的公证软件 而不需altool的App Store支持 这些优化使得公证更快也更简单 同时也能持续保护客户 不受到恶意软件侵扰 开发者依赖“公证”服务 所以我们希望它尽量可靠 且只要开发者需要都能随时提供 除了改动客户端软件之外 我们也简化了服务 事实上我们已构建新的专用服务后端 专门处理“公证”的可靠性 新服务的设计会提供优化 以及端对端处理速度 我们很期待你体验看看 我们知道你上传提交内容后 可能会等待一段时间 所以我们尽力提升上传速度 对大部分开发者而言可以加快四倍 要利用这些厉害的性能 以及提高可靠性 一定要从altool转换成notarytool notarytool很容易上手 设计时仔细考虑了 你的公证作业流程 我们听见你的反馈 我们希望 通过较简化的客户端 优化开发者的互动 以及单行就完成作业 假设我是开发者 我才刚处理完app最新的程序错误 我希望尽快发布 对我而言 使用命令行的altool 做到这件事最快的方法 就是使用轮询循环 像这样 我会先提交我的应用程序 完成后 我开始不断地轮询状态 直到处理完成 现在 有了notarytool 我们在客户端新增了等待旗标 你要提交 和等待公证结果 只要一个命令就行了 工作完成后 程序会显示你提交的结果 收到提交结果之后 只需要再一个命令 就能用新的客户端 查看你的“公证”日志 你能直接从notarytool 查看你的结果细节 包括为什么你的应用程序 可能未通过公证 我们也新增了一个全新功能 你可以在提交至“公证”时访问 webhook通知 这个功能可以让你指定一段链接 让服务器可以在 我们一处理完你的软件后就回调函数 指定了一段webhook链接后 当你提交 就能通过收到通知时 自动取回你的结果与“公证”日志 将公证无缝新增到 你的连续整合作业流程中 我们等不及你开始体验 这个强大的新工具 也期待收到你对notarytool 以及这个新的开发者体验的反馈 notarytool是与“公证”服务互动的 新的客户端 且会跟Xcode一起分发 altool还是会在 不过现在会在 与“公证”并用时被舍弃 通过“公证”服务专用的客户端 notarytool 可以加速并简化你的作业流程 接下来几周 你可以在这个讲座连结的文件中 了解更多最新功能与性能优化的细节 在最新的Xcode构建中 有存取工具可用 在工具的手册页 有信息可以协助你开始 所以今天就转换吧 开始以前所未有的方式 更快且无缝地分发软件 谢谢大家 ♪
-
-
4:10 - altool example
// with altool xcrun altool --notarize-app -f path/to/submission.zip --primary-bundle-id "$BUNDLE_ID" --apiKey "$KEY_ID" --apiIssuer "$ISSUER" while true; do INFO_OUT=$(2>&1 xcrun altool --notarization-info "$SUBMISSION_ID" -u "$USER" --apiKey "$KEY_ID" --apiIssuer "$ISSUER") STATUS=$(echo "$INFO_OUT" | grep "Status:" | sed -Ee "s|.*: (.*)$|\1|" ) if [[ "$STATUS" != "in progress" ]]; then break fi sleep 30 done
-
4:19 - notarytool example
// with notarytool notarytool submit path/to/submission.zip --wait --key "$KEY_PATH" --key-id "$KEY_ID" --issuer "$ISSUER"
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。