Tag: Wwdc 2018

足够! #AppStoreWalkout #iToo

NotchX 自定义Notch壁纸 魔术缺口- 自定义缺口 魔术缺口- 自定义缺口 Magic Custom Notch-壁纸 NotchRemover – 自定义Notch去刘海 X的自定义缺口 自定义缺口 -魔法壁纸 魔术定制 – 缺口壁纸 定制刘海缺口 Notch Pro — 自定义 Notch 魔术定制缺口 —好奇怪 iPhone X的可爱壁纸 可爱的缺口 – 自定义缺口 魔术缺口样式 无缺口 〜 自定义和删除 缺口定制器 魔术缺口 – 自定义和删除 Costom Notch —耳朵壁纸 定制多样化缺口 当您的应用程序被克隆并且克隆使用您的应用程序名称时,除了在iTunes App Store内容争议中向Apple报告之外,您将无能为力。 我报告了这些应用。 他们花了自己的时间,向我报告的所有应用程序开发人员发出了通知。 他们都不在乎。 所有这些开发人员都在问“ Custom Notch是您的商标吗?”“向我们证明Custom Notch是您的商标!”我试图向开发人员和Apple Legal团队解释,他们违反了App Store审查指南4.1。 […]

WWDC 2018’在Ardından

Merhabalar, Apple苹果4战车大战2018年WWDC比赛在derledim举行。 主题演讲视频izlemekiçin:https://www.apple.com/apple-events/june-2018/ EtkinliklepaylaşılanIstatistikler: 20m uygulamageliştirici。 Haftalık500 milyon应用程序商店ziyaretçisi。 Yazılımcılaraödenen100 milarar美元。 iOS 11版本:%81 iOS 12 —更快,响应速度更快—给您带来更多动力。 iOS 11升级到iOS 12版本。 表演者: Uygulamalarınaçılışhızında%40,klavyegörüntülemehızında%50,kamerauygulamasındaise%70oranındabirhızartışıolacak。 Ayrıca股票表%50’ye kadar birhızartışıyaşanacak。 Bu oranlara bakarsak,ciddi bir performansartışıbekleniyor。 CPU是uygulamaaksiyonların表演,并且是art,düşüreceği,innerjikullanımında,tasarrufsağlanacak。 AR: Apple ve Pixar格式和USD格式的USDZ duyuruldu。 SahneyeçıkanAdobe CTO’su Abhay Parasn​​is,保留所有格式。 度量衡,ARkapsamındayeni bir uygulama duyuruldu。 Bu uygulama ile herhangi bir objeninboyutlarınıölçebiliyorsunuz。 ARKit 2 duyuruldu veçokluoyuncudesteğiaçıklandı。 Buna birörnekuygulamagösterildi。 Uygulama […]

WWDC 2018 —自动化应用商店连接— 303

摘要:了解一些应用商店连接api。 用户邀请工作流程。 处理关系。 使用Apple服务器验证呼叫。 最佳实务 保护您的私钥-保留在内存中 重用令牌-有效期由我们控制 使用api响应中存在的链接-它确保代码可动态适应未来的变化 App Store Connect API 基于标准的—具有JSON响应的基于REST的API。 安全-使用JWT(JSON Web令牌) 一致-单一统一资源模型,链接到相关信息 已记录-API已在同一developer.apple.com中记录 此版本中包含什么 TestFlight —管理测试人员和组,提交以供审查,公共链接 用户和角色-添加和删除用户-分配角色-管理有限的应用访问权限 设置-添加开发设备,注册捆绑包ID,创建证书,管理配置文件 报告-下载销售和财务报告,轻松从Reporter切换 传输器更改-Linux支持,API令牌 使用API​​的 基于REST的标准网址格式:host / api_version / resource_type / identifier?filter [attribute_name] = atrribute_value API示例: -http : //api.appstoreconnect.apple.com/v1/users/17cbd794-94a3-c7b0-1051-http ://api.appstoreconnect.apple.com/v1/users?filter [ email]= john – appleseed@ mac.com 支持的方法: + ————————————— + ——– + | 获取资源或资源列表| GET […]

WWDC 2018 —使用Xcode和LLDB进行高级调试— 412

简介:我们应该避免在进行每个修复后重新运行代码,并继续进行调试。 今天我们将讨论以下几点: 更改/注入代码 打印汇编代码值 通过lldb命令添加符号断点 跳过代码行 自定义调试说明 观察点 在目标C模式下运行命令 创建命令别名 在LLDB中使用python脚本 从调试器更新动画 约束调试 更改/注入代码 要在断点处编辑值,请使用以下lldb命令 表达式variable_name =值 您还可以配置断点以自动完成此操作。 单击断点>编辑断点 注入代码:假设您忘记设置委托,现在不用重新运行,而使用相同的表达式来注入并继续调试。 打印汇编代码值 假设您已经为UIlabel setText方法设置了符号断点 现在,当遇到断点时,如何在汇编代码中看到调试点时如何打印值 在这一点上尝试这些命令并观察值 po $ arg1 po(SEL)$ arg2 po $ arg3 通过lldb命令添加符号断点 假设我们要在另一个断点被击中后激活一个符号断点。 然后,我们可以使用以下调试器命令创建一个断点。 断点集-一键式true –name“-[UILabel setText:]” 跳过代码行 为要跳过的行设置一个断点,然后只需将包含两行的按钮拖动到下一行即可。 我们想在每次点击时跳过此行,让我们为其配置断点 跳线-1 自定义调试说明 对于自定义类,我们可以实现此协议以在LLDB中获取描述 观察点 监视点就像一个断点,每次更改属性时都会暂停。 可以使用调试器的变量部分中的上下文菜单进行设置。 在目标C模式下运行命令 有一些客观的C库,您想以ObjC方式发送命令或发送命令,而无需进行swift的严格类型检查。 为此,您可以使用下面的expression命令 表达式-l objc -o-[`self.view` recursiveDescription] […]

WWDC 2018 — Swift 4.2和“随机”更改

在WWDC 2018中,Swift 4.2引入了新方法来生成和访问集合中的随机值。 通常,应用程序开发人员会在构建游戏或创建测试数据时执行此操作。 让我们看一下访问随机项目的旧方法和新方法。 随机访问和旧版API 在一开始,Swift依靠旧的系统级C库生成随机数。 在Apple设备上,这是通过Darwin函数arc4random_uniform 。 尽管它确实可以满足您的要求,但是除了UInt32之外,它还需要对类型进行大量工作。 例如,如果您需要构建一个浮点数,则需要: let minimum = -7.9 let maximum = 12.8 let doubleValue = (Double(arc4random_uniform(UInt32.max)) / Double(UInt32.max)) * (maximum – minimum) + minimum 这导致一些开发人员构建软件包来简化此过程。 RandomKit和简化随机生成 RandomKit是一个库,在简化该库方面做得很好。 每个简单类型都有一个静态函数,用于根据提供的生成器的类型生成值: let value = Int.random(using: &Xoroshiro.default) 生成器实现RandomGenerator协议,该协议提供生成值所需的实现。 RandomKit还提供以下方法: 从数组中选择随机值 改组数组 生成其他类型,例如日期,(NS / UI)颜色,CGPoint等 Swift 4.2和WWDC 2018 提案SE-0202似乎可以解决许多不一致问题,这些不一致问题是由于跨操作系统(Linux与macOS)的随机生成和访问以及简化API所引起的。 它似乎也正在采取类似于RandomKit的方法。 例如,要生成某个范围内的随机Double,所需要做的就是: Double.random(in: -7.9…12.8) […]

构建自定义的Xcode Instruments包,XML反击

他们说:“写不止一个” 不久前,我开始使用自定义Instruments软件包。 去年Apple WWDC 410会议之后,我感到很兴奋,并认为构建某个东西会很棒。 在上一篇文章中,我描述了整体程序包体系结构,开发工作流程中的一些陷阱以及在AppSpector中我们如何构建自定义程序包来跟踪SDK中的流量压缩。 在410会议上,Apple工程师说:在另一张幻灯片上“制造多个仪器”。 所以我想-为什么不呢? Instruments的自定义软件包是实现高度特定的调试流程的理想工具。 每个人都知道一个bug可以忍受多久,因为您不知道发生了什么。 一旦找到“观点”来解决问题,您就快完成了。 解决方法始终是大约10%,而找到正确的视角就是剩下的时间。 在思考软件包的一些想法时,我遇到了CossackLabs [1]的一篇很棒的文章,内容涉及开放跟踪框架及其实现。 可视化应用程序内部连续过程的想法看起来很适合作为一种工具。 这样的过程的完美示例是在不同视图控制器的上下文中执行的任何操作,堆积在队列中的操作或客户端-后端消息交换。 如果我只知道实施将需要32个小时😉 封装架构 让我们从一个基本的方法开始:为了实现类似开放式跟踪的图形,我决定使用看起来最好的图形元素。 开放式跟踪框架处理范围的两个基本概念:正在发生事情的上下文; 范围-范围内的一些活动。 包实现中的作用域具有开始和停止事件,唯一名称以及结果:成功或失败。 与成熟的开放式跟踪框架所建议的相比,此方法大大简化了,但足以用于试验软件包中的图并很有用。 打包方案不是很复杂。 我将不深入介绍第一部分中描述的元素,而我只会讲一些关于图形的特定内容。 您可以在这里浏览: https://github.com/appspector/Tracer/blob/master/TracerPackage/TracerPackage.instrpkg 我在周末构建原始实现时遇到的第一个问题是,仅在发送stop事件后,图形通道才出现在UI中。 我想从开始事件开始显示它,并用不同的颜色突出显示当前正在运行的跨度。 多亏了参加410次会议的Apple工程师Kacper,我才发现仪器具有一种特殊的结构,称为“开放间隔模板”。 它是一种结构,用于定义开始和结束事件之间包可使用的字段。 图本身用“图”节点描述,其中包含诸如标题和对表的引用之类的字段,以从中获取数据; “ plot-template”结构描述了显示的图形通道。 下面的示例意味着我们将为每个唯一的作用域都有一个单独的通道,它将从作用域名称变量中获取其名称。 “ plot-template”下的最后两个标签描述了车道内的线,颜色将来自“ status-color”,标签来自“ span-name”。 另一个有趣的事情是,“ open-interval-template”只能操作出现在开始模式中的变量。 这完全有道理,因为当您显示开始但未结束的事件时,您的代码无法使用结束模式中的数据。 同样,在表的最后两列中,我们计算行和状态标签的颜色,为此,我们需要知道事件的状态-它是正在运行还是已经完成? 我看到解决此问题的唯一方法是仅检查结束模式中存在的变量。 这就是为什么您在开始和结束模式中看到“ span-name-started”和“ span-name-stopped”变量的原因。 第一个用于在行上绘制跨度名称,第二个用于区分正在运行的跨度和结束跨度。 这是关于自定义程序包的丑陋事情之一,感觉它应该有另一个更优雅的解决方案。 第一次尝试 我很高兴在真实代码上尝试使用示踪剂,因此我开始寻找一个很好的例子。 第一次尝试是AppSpector SDK和消息处理模块。 每条消息的传入和传出都需要经过两个步骤:序列化,打包,压缩和最终发送。 有时,由于诸如网络故障等各种原因,消息可能会在队列中等待。这看起来很合适,因此我插入了示踪剂调用并开始记录期望的图像,就像在开放的示踪手册中有很多重叠的通道一样。 […]