我们有一个最近开发的应用程序被 Apple 拒绝了。这是他们的解释:
我们发现您的应用在收集用户的个人数据之前没有按照 App Store 审核指南的要求征得用户同意。
具体来说,您的应用程序会在未经用户许可的情况下发送设备的 MAC 地址。您的应用还会在未经用户许可的情况下发送设备联系信息。
要使用您的应用程序收集个人数据,您必须向用户明确他们的个人数据将被上传到您的服务器,并且您必须在数据上传之前获得用户的同意。
iOS 6 包含用于指定应用访问用户受保护数据的原因的新密钥。当显示访问提示时,这些键中指定的用途会显示在该对话框中。如果您的应用程序将传输受保护的用户数据,则访问请求中的使用字符串应明确告知用户,如果他们同意,他们的数据将上传到您的服务器。
有关这些键的更多信息,请参阅信息属性列表键参考。
我们正在使用 RubyMotion 工具链,而不是在我们的应用程序的任何地方访问 MAC 地址。我们认为它可能是我们正在使用的 SDK 或 gem 之一。
宝石文件:
source :rubygems
gem 'bubble-wrap', :git => 'https://github.com/rubymotion/BubbleWrap.git'
gem 'teacup'
gem 'rake'
gem "cocoapods", "0.13.0"
gem 'motion-cocoapods', "1.1.0"
gem 'motion-testflight'
gem 'motion-table'
gem "Parsistence"
gem 'formotion'
gem "ProMotion"
gem "motion-addressbook"
唯一的外部 api 调用是Parse.com和 testflight,因为我们同时使用这两个 SDK。
Parse 说他们不收集 MAC 地址,除非您特别这样做,否则 Testflight 不会。
我们也在使用这些可可豆荚:
'NSData+MD5摘要'
'MBProgressHUD'
'ASIHTTPRequest'
'PHFRefreshControl'
'JSONKit'
问题:这些 gem 或 Cocoapods 是否需要 MAC 地址?