ios - 将使用私有 API 'value(forKey: "view") 作为?UIView' 获得 App Store 拒绝
问题描述
我需要使用以下方法获取 tabBar 内的 imageView 的框架以及 navigationBarButtonItem 的框架:
let fifthTab = tabBarController?.tabBar.items?[4].value(forKey: "view") as? UIView { ... }
let barButtonItemView = self.navigationItem.rightBarButtonItem?.value(forKey: "view") as? UIView { ... }
在这两种情况下,我都成功地根据它们的框架设置了其他一些 UIView。我读到它们是私有 API,使用私有 API 会导致 AppStore 被拒绝,但我在 SO 和 GitHub 之间发现了很多使用它们的示例。没有人确认这些在 AppStore 上线时是否会导致拒绝。
有人可以确认使用这些 API 是否会导致拒绝?
解决方案
这取决于苹果。但基本不会被拒绝。Apple 有一个特殊的私有 API 扫描器来检测您是否使用敏感 API。虽然 valueForKey 和 view 是相当常见且合法的 API,但扫描程序很难将它们扫描出来。
推荐阅读
- c# - 如何从 RichTextBox Rtf 中提取字体名称
- ios - 通过 KVC 设置“textColor”时,UIDatePicker 在 iOS 14 上崩溃
- python - 在 ODROID XU4 上与 Python OpenCV/OpenCL 共享 GPU/CPU 数据
- parsing - 找到匹配项后将第一个和第二个数字提取到变量中
- arrays - 查找数组中的最大值和代码的效率
- java - 使用 xpath java 获取基于父属性值的 XML 搜索
- gremlin - gremlin python 克隆遍历
- reactjs - 我如何从钩子中使用 react-toastify?
- linux - 在 tcl/expect 中解析多行
- javascript - 我是否为我的 lambda 使用了正确的谓词?