我有一些捆绑ID具有相同前缀的应用,例如com.mycompany.app1
和com.mycompany.app2
,但他们的 Apple开发者帐户不同 。
在开发中,我可以通过调用identifierForVendor
获得相同的值。但是当它们在App Store上提交时,它们会彼此不同。
identifierForVendor section in Apple Documentation中描述的以下段落使我感到困惑。
当App在App Store上时,Apple没有告诉我们App Store如何确定供应商。通常,供应商由App Store提供的数据确定。如果未从应用商店安装应用(例如仍处于开发阶段的企业应用和应用),则会根据应用的捆绑ID计算供应商标识符。假设捆绑包ID采用反向DNS格式。
答案 0 :(得分:0)
我已经收集了一些用于识别设备的方案。
就像问题中所写的一样,IDFV对于来自在同一设备上运行的同一供应商的应用程序是相同的。
通常,供应商由App Store提供的数据确定。如果未从应用商店中安装该应用(例如企业应用和仍在开发中的应用),则根据应用的捆绑软件ID计算供应商标识符。
参考: https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor?language=objc
与IDFV不同,将相同的值返回给所有供应商。例如,如果用户擦除设备,则此标识符可能会更改。在iOS 10.0和更高版本中,当用户跟踪广告时,advertiseIdentifier的值全为零。
如果开发者尝试获取IDFA而未投放广告,则该应用可能会被拒绝。
与来自相同团队ID的应用相同。
与来自相同Apple Developer帐户的应用程序相同。在iOS 11中可用。
参考: https://developer.apple.com/documentation/devicecheck?language=objc
与来自相同团队ID的应用相同。此方案已已弃用。
参考: https://github.com/ylechelle/OpenUDID
与来自相同团队ID的应用相同。