排查私有API

2021-02-11 10:19

阅读:344

标签:技术分享   get   pat   pos   邮件   输入   png   测试   exp   

一、排查问题

首先,来看一下上面的Apple发送的审核被拒原因邮件,其中提到了两个重要的点:

这次Apple审核,相对以往来说更为严格,以下提到的两个问题,在以往的版本迭代中,没有被拒绝过。

问题 ①:

Additionally, your app uses or references the following non-public APIs:
IOServiceMatching, IOServiceGetMatchingService, IORegistryEntryCreateCFProperties, IOObjectRelease

您的应用程序使用或引用以下非公开API:
IOServiceMatching, IOServiceGetMatchingService, IORegistryEntryCreateCFProperties, IOObjectRelease

问题 ②:

Your app also uses the "prefs:root=" non-public URL scheme, which is a private entity. 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.

您的应用程序还使用 prefs:root= 非公开URL方案,这是一个私有实体。
在App Store中不允许使用非公开API,因为如果这些API发生变化,可能会导致用户体验不佳。

二、解决问题 ①

  1. 首先打开终端,cd到项目的当前目录中:
cd (drag and drop your project folder here) Your_Project_Path
  1. 分别输入以下命令行,来找到使用了(私有API)的SDK或者.a的静态库:
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep (私有API)
grep -lr "(私有API)" * | grep -v .svn | grep -v .md
技术分享图片
 
  1. 根据终端的提示找到对应的地方,将SDK替换成官方最新的SDK,然后再用第2步再确认一遍,确认无误后提交代码。

若SDK中依旧包含私有API,根据实际情况做相应的处理。

解决方案:
目前ATSDK的使用场景,用于帮助开发人员快速查找分析性能,UI等方面问题,暂时在发布环境中弃用ATSDK,其中包含的测试入口,FLEX调试工具,调整到其他位置。

?

排查私有API

标签:技术分享   get   pat   pos   邮件   输入   png   测试   exp   

原文地址:https://www.cnblogs.com/spiderdzl/p/8495743.html


评论


亲,登录后才可以留言!