iOS 代码混淆上架审核不通过(2. 3 Performance: Accurate Metadata)

本文分享了一次iOS应用上架经验,因采用代码混淆技术导致苹果审核拒绝,揭示了苹果对代码混淆的态度及应对策略。

最近,参考了几篇代码混淆文章,然后上架审核发现被苹果拒绝了,具体原因如下:

原因:
2. 3 Performance: Accurate Metadata

Guideline 2.3.1 - Performance

We discovered that your app contains obfuscated code, selector mangling, or features meant to subvert the App Review process by changing this app’s concept after approval to the App Store.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

  • Review the Performance section of the App Store Review Guidelines.
  • Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditionsof the Apple Developer Program.
  • Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

是因为参考了这篇文章进行操作:
iOS自动代码混淆
就审核不过。。。

### 2.1.0 Performance: App Completeness 此问题通常是因为在 App 中创建了若干内购项目(消耗或非消耗),但审核无法找到购买它们的界面(可能是被“隐藏”得够深)或者在购买界面中,审核到全部的内购项目。解决办法是检查 App 内购项目的购买界面,确保所有创建的内购项目都能在购买界面中正常显示,避免将购买界面隐藏得过深,让审核人员能够顺利找到并看到所有内购项目。 ```python # 以下为伪代码示例,用于说明检查内购项目显示逻辑 # 假设这是获取内购项目列表的函数 def get_in_app_purchases(): # 模拟获取所有内购项目 all_purchases = ["purchase1", "purchase2", "purchase3"] return all_purchases # 假设这是显示在购买界面的内购项目列表 displayed_purchases = [] # 获取所有内购项目 all_purchases = get_in_app_purchases() # 检查是否所有内购项目都显示在购买界面 for purchase in all_purchases: if purchase not in displayed_purchases: # 如果有内购项目未显示,进行相应处理,例如添加到显示列表 displayed_purchases.append(purchase) print("当前显示的内购项目:", displayed_purchases) ``` ### 2.3.10 Performance: Accurate Metadata2.3.3 Performance: Accurate Metadata 这两条审核问题都与应用元数据的准确性有关。元数据包括应用名称、描述、图标、截图等。需要确保这些信息准确无误,与应用的实际功能和内容相符。检查应用名称是否清晰、准确地反映了应用的核心功能;应用描述是否详细且没有夸大或虚假宣传;图标是否符合苹果的设计规范且具有辨识度;截图是否展示了应用的主要功能和界面。 ```python # 以下为伪代码示例,用于检查元数据准确性 app_metadata = { "name": "My App", "description": "This app does amazing things", "icon": "icon.png", "screenshots": ["screenshot1.png", "screenshot2.png"] } # 检查应用名称是否符合要求 if len(app_metadata["name"]) > 30: print("应用名称过长,请缩短") # 检查应用描述是否包含虚假宣传 if "amazing" in app_metadata["description"] and not app_has_amazing_features(): print("应用描述存在夸大宣传,请修改") # 假设 app_has_amazing_features 是一个检查应用是否具有相应功能的函数 def app_has_amazing_features(): # 这里可以添加具体的检查逻辑 return False ``` ### 4.2.3 Design: Minimum Functionality 该问题意味着应用可能没有达到苹果要求的最低功能标准。需要确保应用具有完整且有价值的功能,能只是一个简单的演示或测试版本。检查应用的核心功能是否正常工作,是否提供了足够的用户价值。可以参考同类型优秀应用的功能,对自己的应用进行优化和完善。 ```python # 以下为伪代码示例,用于检查应用核心功能是否正常 def core_function_1(): # 模拟核心功能 1 的实现 return True def core_function_2(): # 模拟核心功能 2 的实现 return False # 检查核心功能是否正常 if not core_function_1() or not core_function_2(): print("应用核心功能存在问题,请检查并修复") ``` ### 4.8.0 Design: Login Services 此问题可能与应用的登录服务设计有关。苹果要求应用的登录服务设计要合理、安全且符合用户体验。确保登录流程简洁明了,要强制用户进行必要的注册或登录。提供多种登录方式(如苹果登录、第三方登录、邮箱登录等),并确保登录信息的安全性。 ```python # 以下为伪代码示例,用于检查登录服务设计 login_methods = ["apple_login", "third_party_login", "email_login"] # 检查是否提供了多种登录方式 if len(login_methods) < 2: print("建议提供多种登录方式,以提升用户体验") # 假设 check_login_security 是一个检查登录信息安全性的函数 def check_login_security(): # 这里可以添加具体的检查逻辑 return True if not check_login_security(): print("登录信息安全性存在问题,请检查并修复") ``` ### 5.1.1 Legal: Privacy - Data Collection and Storage 该问题涉及应用的数据收集和存储的合法性和合规性。需要确保应用在收集、使用和存储用户数据时遵循相关法律法规,如 GDPR 等。在应用中提供清晰明确的隐私政策,说明数据的收集目的、使用方式和存储期限。确保数据的收集和使用获得用户的明确同意,并且采取必要的安全措施保护用户数据。 ```python # 以下为伪代码示例,用于检查隐私政策和数据收集合法性 privacy_policy = "本应用收集用户的姓名、邮箱等信息用于个性化服务,数据将存储在安全的服务器上,会泄露给第三方。" # 检查隐私政策是否清晰明确 if "个性化服务" in privacy_policy and not app_provides_personalized_service(): print("隐私政策中提到的服务与应用实际符,请修改") # 假设 app_provides_personalized_service 是一个检查应用是否提供个性化服务的函数 def app_provides_personalized_service(): # 这里可以添加具体的检查逻辑 return False # 检查数据收集是否获得用户同意 if not user_consent_given(): print("数据收集未获得用户同意,请确保在应用中获取用户同意") # 假设 user_consent_given 是一个检查用户是否同意数据收集的函数 def user_consent_given(): # 这里可以添加具体的检查逻辑 return False ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值