iOS开发之DeviceCheck框架的应用 DeviceCheck框架是iOS 11后提供的一个记录用户设备的工具框架。 Apple基于保护用户隐私的原则,开发者不能直接获取用户设备的相关标识信息,iOS 11后,Apple提供了DeviceCheck框架用来提供设备检查功能。 DeviceCheck非常简单,大部分设备检查的逻辑要交给服务端调用Apple提供的接口来实现。 DeviceCheck框架中只提供了一个类:DCDevice。 generateTokenWithCompletionHandler:(void(^)(NSData * _Nullable token, NSError * _Nullable error))completion; @end DeviceCheck 详细文档地址如下: https://developer.apple.com/documentation/devicecheck/accessing_and_modifying_per-device_data
5.DeviceCheck - 每天要用广告 ID 追踪用户的开发者现在有了更好地选择 (当然前提是用来做正经事儿)。 DeviceCheck 允许你通过你的服务器与 Apple 服务器通讯,并为单个设备设置两个 bit 的数据。 简单说,你在设备上用 DeviceCheck API 生成一个 token,然后将这个 token 发给自己的服务器,再由自己的服务器与 Apple 的 API 进行通讯,来更新或者查询该设备的值。
DeviceCheck DeviceCheck 允许你通过你的服务器与 Apple 服务器通讯,并为单个设备设置两个 bit 的数据。 简单说,你在设备上用 DeviceCheck API 生成一个 token,然后将这个 token 发给自己的服务器,再由自己的服务器与 Apple 的 API 进行通讯,来更新或者查询该设备的bit值
DeviceCheck - 每天要用广告 ID 追踪用户的开发者现在有了更好地选择 (当然前提是用来做正经事儿)。 DeviceCheck 允许你通过你的服务器与 Apple 服务器通讯,并为单个设备设置两个 bit 的数据。 简单说,你在设备上用 DeviceCheck API 生成一个 token,然后将这个 token 发给自己的服务器,再由自己的服务器与 Apple 的 API 进行通讯,来更新或者查询该设备的值。
deviceCheck - Runs all device checks using Device Providers and Test Servers.
connected devices. deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers. deviceCheck
CryptoTokenKit 官方文档 CryptoKit 官方文档 38、DeviceCheck 这个框架也是在iOS11之后新加进来的,用来标记用户,说到获取设备的唯一标识码可能大家都比较熟悉 iOS DeviceCheck详解 官方文档 39、EventKit EventKitUI 这是个用来读取,修改和创建日历上的事件的框架,这个我相信可能接触到的同学稍微会多点, iOS
以下为最重要的新的Tasks: connectedCheck:在已经连接的设备或者模拟器上执行tests任务 deviceCheck:为其他插件在远程设备上调试提供的占位任务 installDebug/ installRelease:在已经连接的设备或者模拟器上安装一个特定的版本 所有的install任务都会有相对应的uninstall任务 build任务依赖于check任务,而不是connectedCheck或者deviceCheck
插件,所以Android插件基本上包含里所有Java插件的功能,包括继承的任务,比如assemble、check、build等等,除此之外,Android在大类上还添加了connectedCheck、deviceCheck connectedCheck 在所有链接的设备或者模拟器上运行check检查 deviceCheck 通过API连接远程设备运行checks。它被用于CI(译者注:持续集成)服务器上。
[在已连接的设备和模拟器上并行运行check任务] deviceCheck Runs checks using APIs to connect to remote devices. be able to run regular checks without needing a connected device.Note that build does not depend on deviceCheck [任务build并不依赖deviceCheck和connectedCheck这两个任务] An Android project has at least two outputs: a debug APK : check lint connectedCheck connectedAndroidTest connectedUiAutomatorTest(not implemented yet) deviceCheck
DeviceCheck 允许开发者通过开发者自己的服务器与 Apple 服务器通讯,并为单个设备设置2bit 的数据,在保护用户隐私的同时,标识正在使用应用的设备。 这样一来,即使攻击者即使重装应用或重置设备,被DeviceCheck编码保存的技术依然不会清空。 图14:按照计数个数,分别用DeviceCheck的0,1,2,3标识(引用自【5】) 3.3案例总结和思考 上文介绍的研究不光被USENIX 2020收录,实际产品Boxer也以SDK的形式投放市场,
后的文件,例如apk文件 3.check:运行所有的单元测试,和集成测试 4.build:运行assemble和check 5.connectedCheck:在一个连接的手机设备安装了apk之后再卸载 6.deviceCheck
connected devices. deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers. deviceCheck
deviceCheck 通过 API 链接远程设备运行 checks 。它被用于 CI 服务器上。 lint 在所有的 ProductFlabor 上运行 lint 检查。
the root folder, the following command line will run all the tests and aggregate the reports: gradle deviceCheck dependencies { androidTestFlavor1Compile "..." } Running the tests can be done through the main deviceCheck
最后,还介绍了禁止越狱设备的实施方案,以及 DeviceCheck 和 App Attest API 等新技术方案。