前提
本周刚做完蓝牙OTA升级功能,然后适配了iOS 13之后,兴高采烈的打包上架,一气呵成,心想都迭代很多个版本了,而且就在iOS 13正式发布不久才发了一个版本,而且几乎都是一次性通过的。所以这次应该也是没什么问题了,在第二天的早上,收到一封apple 的email,顿时心头一紧,被拒了(被拒了)。
接下来进入正题,仔细看了email的内容,总共两个问题,第一个问题大概是说我们用了蓝牙功能,但是没有写蓝牙的权限描述,让我们在info.plist里加入权限描述字段,而且还附了一张截图给我,全文如下
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access their Bluetooth but does not
clarify the use of the Bluetooth in the applicable purpose string.
Next Steps
Please revise the relevant purpose string in your app’s Info.plist file to specify why the app is
requesting access to the user's Bluetooth. You can modify your app's Info.plist file using the
property list editor in Xcode.
To help users understand why your app is requesting access to their personal data, all
permission request alerts in your app should specify how your app will use the requested
feature.
Resources
For additional information and instructions on requesting permission, please review the
Requesting Permission section of the iOS Human Interface Guidelines and the Information
Property List Key Reference. You may also want to review the Technical Q&A QA1937:
Resolving the Privacy-Sensitive Data App Rejection page for details on how to provide a usage
description for permission request alerts.
这时候我就纳闷了,上个版本为了适配iOS 13的蓝牙,添加了 iOS 13以后的NSBluetoothAlwaysUsageDescription字段,并且也添加了Privacy - Bluetooth Peripheral Usage Description的字段,兼容iOS 13以前的设备。结果就是这么神经质的被拒了,好好好,苹果店大,我惹不起,然后我删除这两个字段,又重新加回来,然后打包上架,结果又被拒了。同样的问题,郁闷ing,但是没办法版本还是得上呀,然后找了群里几个遇到同样问题的网友问了,给的回复是可能描述的不清楚,把描述内容写的更清楚一些,比如
NSBluetoothAlwaysUsageDescription 需要您同意才能够使用蓝牙与外设连接,并进行数据传输,允许吗?
Privacy - Bluetooth Peripheral Usage Description 需要您同意才能使用够蓝牙与外设连接,并进行数据传输,允许吗?
最后结论是果然有效,第一个问题就这么解决了
第二个问题的原文如下
Guideline 5.2.1 - Legal - Intellectual Property
Your app includes content or features from the hardware owner, or is marketed to control
external hardware from the hardware owner, without the necessary authorization. The
inclusion of third-party content within your app, whether retrieved from the internet by the app
or embedded in the app, is subject to the terms of the Apple Developer Program License
Agreement.
Your app and its contents should not infringe upon the rights of another party. In the event
your app infringes another party’s rights, you are responsible for any liability to Apple because
of a claim.
Next Steps
To resolve this issue, please attach documentary evidence in the App Review Information
section in App Store Connect. In accordance with section 3.2(f) of the Apple Developer
Program License Agreement, you acknowledge that submitting falsified or fraudulent
documentation can result in the termination of your Apple Developer Program account and the
removal of your apps from the App Store. Once Legal has reviewed your documentation and
confirms its validity, we will proceed with the review of your app.
Alternatively, please remove the third-party content from your app and its metadata.
大致意思是:
准则5.2.1-法律-知识产权
您的应用程序包含硬件所有者提供的内容或功能,或在未经必要授权的情况下用于控制硬件所
有者提供的外部硬件。在您的应用程序中包含第三方内容,无论是由应用程序从Internet检索还
是嵌入到应用程序中,都要遵守《苹果开发者程序许可协议》的条款。
您的应用程序及其内容不应侵犯另一方的权利。如果您的应用程序侵犯了另一方的权利,您将
因索赔而对苹果承担任何责任。
下一步
若要解决此问题,请在app store connect中的app review information部分附上证明文件。根据
《苹果开发者计划许可协议》第3.2(f)条,您承认提交伪造或欺诈性文件可能导致您的苹果
开发者计划帐户终止,并将您的应用从应用商店中删除。一旦法律审查了您的文档并确认其有
效性,我们将继续审查您的应用程序。
或者,请从应用程序及其元数据中删除第三方内容。
再次懵逼了,上了十几个版本了,这个版本居然出了个侵权的问题,而且不知道清了谁的权,(这里说明一下,我们公司的账号是个个人账号,体现不出公司信息)我猜想苹果的审核人员可能是看到我们没有用公司级的账号上传应用,所以怀疑我们侵权了,后来我想到app信息里有个版权的项,之前写的是公司的英文名称,于是改成了公司的中文名称,然后连同第一次盖好的权限字段一起打包上架,结果,同样被拒(连续两个相同的问题,连续拒绝两次,看来必须重视,放大招了)好了,文中让我们附上证明文件,刚开始想出一份手写的证明,再盖上公司的公章,公章上的名称和app里的版权名称一样就好了,后来为了避免第三次被拒,一不做二不休,直接把app的软件著作书作为附件上传了。
在不安的等待了一天之后,终于两个问题都得到解决,成功上架了。
在此记录这次的上架心路历程,因为最近几乎所有的蓝牙项目都有被拒的情况发生,所以分享出来,方便广大开发者快速解决被拒问题。纯手工码字不容易,觉得对你有帮助的话,请轻轻的点上一个赞,谢谢