一、Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public APIs:
allocBatch:withEntity:count:
The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.
Next Steps
If you are using third-party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.
Resources
If there are no alternatives for providing the functionality your app requires, you can file an [enhancement request](https://developer.apple.com/bugreporter/).
问题:
使用了私有的api
解决方法:
打开terminal ,cd 到项目的根目录文件,输入命令
grep -r prefs .
得到结果:
Binary file ./aidaiwangjiekuan-iphone/libMoxieSDK.a matches
发现第三方SDK中使用了私有api,然后问第三方,第三方说是之前一个api被appstore划到私有api里了,然后就换了最新的sdk
参考文章:App Store 被拒绝记录
疑问:这个问题搞了一天,之前也遇到这个问题,能在项目里搜到反馈的私有api,但这个东西 allocBatch:withEntity:count: 在项目里私活没找到,最后只好考虑到第三方,换了之后就上架了,看后续审核情况吧
跟踪:
问题又被打回
Your app uses or references the following non-public APIs:
PrivateFrameworks/AdSupport.framework ()
The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.
**Next Steps**
If you are using third-party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.
**Resources**
If there are no alternatives for providing the functionality your app requires, you can file an [enhancement request](https://developer.apple.com/bugreporter/).
说是使用了AdSupport.framework私有api,查找一下项目中是否用到了这个东西
首先打开终端,cd到项目的当前目录中
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep AdSupport.framework
检索到结果如下:
Binary file ./*******/UMessage_Sdk_1.1.0/libUMessage_Sdk_1.1.0.a matches
删掉重新打包上架
参考文章
二、Guideline 3.2.1 - Business - Other Business Model Issues - Acceptable
We found that your app facilitates loan applications, but the seller and company names associated with your app do not reflect the financial institution in the app or its metadata, as required by Guideline 3.2.1(viii) of the App Store Review Guidelines.Next StepsTo help us proceed with the review of your app, please provide the following information. The more information you can provide upfront, the sooner we can complete your review.1. Both a copy and the direct link to the government website of your Business License (营业执照)2. A copy of the Rectification Notification issued by the relevant governing authority to your company (当地金融办 (局) 下发给贵公司的「整改通知书」附件)3. A copy of the proof that your company is connected to a bank’s depository system (银行存管证明)4. Your app’s and service’s Terms & Conditions. 5. In the case of dispute, what resolution mechanism does your app and service offer? 6. What is your responsibility in such case? Is such responsibility stated clearly in the Terms & Conditions? 7. How will the involved parties trace one another?Additionally, please ensure your app’s Support and Privacy URLs in the metadata direct users to the webpages with appropriate information.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.
问题:
贷款类、理财类、彩票类的APP上架,需要有相关资质证明。
解决方法:
公司提供相关材料,下次提交的时候,将文件压缩,英文名命名,上传到提交界面的附件
三、Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access their camera and location but does not clarify the use of this feature in the permission modal alert.
Next Steps
To resolve this issue, please revise the permission modal alert to specify why the app is requesting access to the user's camera and location.
The permission request alert should specify how your app will use this feature to help users understand why your app is requesting access to their personal data.
Resources
For additional information and instructions on configuring and presenting an alert, please review the [Requesting Permission](https://developer.apple.com/ios/human-interface-guidelines/app-architecture/requesting-permission/) section of the iOS Human Interface Guidelines and the [Information Property List Key Reference](https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW18). You may also want to review the [Technical Q&A QA1937: Resolving the Privacy-Sensitive Data App Rejection](https://developer.apple.com/library/content/qa/qa1937/_index.html) page for details on how to provide a usage description for permission request alerts.
Learn more about [Protecting the User’s Privacy](https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
Please see attached screenshots for details.
问题:
你的app需要访问用户的相册权限,但是呢你并没有描述清楚为什么要访问,用相册要干什么
解决方法:
我以前的说明是:请求访问相册,只要把两个说明改一下就行了,改成:此App会在修改头像时访问您的相册权限
其他的访问权限说明类似。
问题跟踪:
由于定位描述问题,这个问题再一次被打回,搜罗了一些资料信息后才发现,原来是审核又严了,以前“是否允许APP使用XXX权限”就过了,现在必须要说明详细权限使用情况!
解决方法:又找了一款同类产品的访问提示,做了修改
参考文章
ios 上线隐私权限被拒
四、Guideline 3.1.1 - Business - Payments - In-App Purchase
We noticed that your app or its metadata provides access to external mechanisms for purchases or subscriptions to be used in the app, which does not comply with the App Store Review Guidelines.
Next Steps
To resolve this issue, please remove the account registration links and any other fully qualified links to your site that could indirectly provide access to these mechanisms, such as links to web pages for support, FAQs, product or program details, etc.
In-App Purchase
It may be appropriate to revise your app to use the in-app purchase API to provide content purchasing functionality.
In-app purchase provides several benefits, including:
- The flexibility to support a variety of business models.
- Impacting your app ranking by consolidating your sales to one app rather than distributing them across multiple apps.
- An effective marketing vehicle to drive additional sales of new content.
For information on in-app purchase, please refer to the following documentation: [In-App Purchase for Developers]
(https://developer.apple.com/in-app-purchase/)
[In-App Purchase Programming Guide](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/)
For step-by-step instructions on in-app purchase creation within App Store Connect, refer to [App Store Connect Help](https://help.apple.com/app-store-connect/#/devb57be10e7). Please see attached screenshots for details.
app内因包含微信和支付宝支付被拒
这并不是说app内不能使用微信个支付宝
如果你希望通过付费才可以解锁你的应用当中的一些功能(例如,订阅内容,游戏货币,游戏关卡,获取优质内容,解锁完整版本),你必须使用应用内付费(IAP),IAP就是苹果支付
因为我们的app中有订阅、活动报名支付、商品支付等支付功能,所以把订阅这一块的支付砍掉了,其他的支付功能保留,打包上架。
过了几天,又被拒,收到了审核大礼包2.1大礼包🤣🤣🤣🤣🤣
五、Guideline 2.1 - Information Needed
This type of app has been identified as one that may violate one or more of the following [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/). Specifically, these types of apps often:
1.1.6 - Include false information, features, or misleading metadata.
2.3.0 - Undergo significant concept changes after approval
2.3.1 - Have hidden or undocumented features, including hidden "switches" that redirect to a gambling or lottery website
3.1.1 - Use payment mechanisms other than in-app purchase to unlock features or functionality in the app
3.2.1 - Do not come from the financial institution performing the loan services
4.3.0 - Are a duplicate of another app or are conspicuously similar to another app
5.2.1 - Were not submitted by the legal entity that owns and is responsible for offering any services provided by the app
5.2.3 - Facilitate illegal file sharing or include the ability to save, convert, or download media from third party sources without explicit authorization from those sources
5.3.4 - Do not have the necessary licensing and permissions for all the locations where the app is used
Before we can continue with our review, please confirm that this app does not violate any of the above guidelines. You may reply to this message in Resolution Center or the App Review Information section in App Store Connect to verify this app’s compliance.
Given the tendency for apps of this type to violate the aforementioned guidelines, this review will take additional time. If at any time we discover that this app is in violation of these guidelines, the app will be rejected and removed from the App Store, and it may result in the termination of your Apple Developer Program account.
Should you choose to resubmit this app without confirming this app’s compliance, the next submission of this app will still require a longer review time. Additionally, this app will not be eligible for an expedited review until we have received your confirmation.
Since your App Store Connect status is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit App Store Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review.
针对以上问题,我们又仔细检查了一遍app,并对出现的问题进行了纠正,然后,针对每一条问题,进行一一回复:
尊敬的苹果审核团队:
感谢您的耐心审核, 对于您提到的9个审核条款, 我们开发团队经过认真自查和研究,并且对所违规内容作了修改, 我们现在对此回复如下:
1.1.6:我们并没有包含虚假信息,和误导用户的功能,全都是真实的场景和现有的真实货品交易销售;
2.3.0:我们没有在通过后修改任何概念和功能,我们是原生app ,只是在原有的版本上升级了支付交易的相关功能的调整,同时修复了app的bug;
2.3.1:我们是一个健康类的app,没有任何和赌博或博彩/彩票网站任何关系功能和内容,并且我们的app是采取的是绝对的原生开发 ;
3.1.1:关于支付说明如下:
(1)我们健康商城有真实商品销售并在线支付(微信支付/支付宝支付),用户购买商品为公司销售的真实商品不是虚拟商品,积分兑换支付为:************************;
(2)代理申请那里为:*********;
(3)代理经销商工作管理后台有产品预订购功能(预存货款),此功能为:***********************;
(4)活动报名支付为本公司不定期组织线下沙龙等各类丰富主题活动,参加活动有免费报名参加与付费报名参加,付费参加活动,则在线支付活动报名费用(活动现场是需要提供相应的餐饮及住宿费用)所以也不为虚拟商品交易;
(5)钱包为:**********************;
3.2.1 :我们的app是一个健康类的app,并未提供金融或者借贷之类的任何产品,我们app里也没有这些功能;
4.3.0:我们的app内容都是根据我们自己需求定制开发的, 并不存在抄袭或者大量相似;
5.2.3 :我们app学习版块的内容,都是我们公司内优秀专业人员录制的音频学习课件,免费供在线用户学习参考;
5.2.1:我们的App并没有法人实体和版权的风险,app主体*****公司为合法中国企业,拥有合法的相关法律资质,并拥有*****知识产权的保护(******商标证书及软件著作权等)
5.3.4:我们的App并没有使用任何定位相关功能和权限,只有使用蓝牙功能连接智能电子称设备的获得相关数据的功能;
这个不用重新打包,只需在被拒的信息下面回复的地方回复即可,回复内容中英文都可以,我是直接用中文回复的。
由于连续被拒,这次审核时间较长,最后终于过了。
参考文章:
审核被拒 Guideline 2.1 - Information Needed
历时3个月终克2.1大礼包
苹果审核2.1解决方案