Apple拒绝了app,因为它在未经用户许可的情况下传输MAC地址
我们最近开发的应用程序被Apple拒绝了。 这是他们的解释:
根据“app store评论指南”的要求,我们发现您的应用在收集用户的个人数据之前未获得用户同意。
具体而言,您的应用程序在未经用户许可的情况下发送设备的MAC地址。 您的应用程序还会在未经用户许可的情况下发送设备联系信息。
要使用您的应用收集个人数据,您必须向用户明确说明他们的个人数据将上传到您的服务器,并且您必须在上传数据之前征得用户的同意。
iOS 6包含用于指定应用访问用户受保护数据的原因的新密钥。 显示访问提示时,这些键中指定的用途将显示在该对话框中。 如果您的应用程序将传输受保护的用户数据,则访问请求中的使用字符串应明确告知用户,如果他们同意,他们的数据将上传到您的服务器。
有关这些密钥的更多信息,请参阅信息属性列表密钥参考。
我们正在使用RubyMotion工具链,而不是在我们的应用程序中的任何位置访问MAC地址。 我们认为它可能是我们正在使用的SDK或gem之一。
的Gemfile:
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不会。
我们也在使用这些Cocoa豆荚:
‘的NSData + MD5Digest’
‘MBProgressHUD’
‘ASIHTTPRequest’
‘PHFRefreshControl’
‘JSONKit’
问题:这些gem或Cocoapods中的任何一个是否需要MAC地址?
我想象测试飞行或Parse可以检索MAC地址,即使他们没有发送它,Apple可能只是看到他们正在访问和发送一些东西。 我假设这是因为如果这些库中的任何一个通过网络发送未加密的MAC地址版本会非常糟糕,所以Apple可能只是看到它的访问。 您是否有机会在您的应用中使用广告网络?
将TestFlight升级到最新的SDK以解决此问题。 从他们的发行说明:
1.2.5 – 2013年5月1日
删除了对mac地址的任何访问权限
添加了AdSupport.framework要求
如果您想从设备中嗅探流量以查看正在发送的内容,请尝试使用Charles 。
- var someString =“Some String”,var someString:String =“Some String”,var someString =“Some String”as string
- XCode:为什么didFinishLaunchingWithOptions中的launchOptions总是为零?
- 移动光标在开始UItextview
- 有没有什么办法从iOS应用程序向卡充电,而无需从我们的服务器收取后端费用(Stripe – iOS)
- Autolayout正在改变旋转时UIScrollView的contentOffset
- 我怎样才能添加从JSONasynchronous提取logging到数组中,只有当所有的logging在Swift中获取?
- 核心数据和iOS 7:持久存储的不同行为
- 快速发展的伦敦科技初创企业正在寻求现代iOS向导!
- 在textview中删除特性文字的单词