【问题标题】:Is accessing a private property (starting with underscore) using KVC considered using private API?使用 KVC 访问私有属性(以下划线开头)是否考虑使用私有 API?
【发布时间】:2015-02-18 23:39:23
【问题描述】:

在我正在合作开展的一个项目中,我看到我的同事使用以下代码访问/修改 UISearchBar 的非公共属性:

something = [self.searchBar valueForKey:@"_searchField"];
[searchField setValue:grayColor forKeyPath:@"_placeholderLabel.textColor"];
...

我不确定这是否被 Apple 考虑使用私有 API。这些会导致 App Store 拒绝吗?我看到了一些关于私有 API 使用的问题,但找不到这个确切问题的任何答案。

【问题讨论】:

  • 我不相信它会被当作私有 API 使用 - 方法调用不是私有方法,但它使用了未记录的属性,因此它可能会在未来中断。使用外观 api 可能也可以达到相同的效果

标签: ios app-store iphone-privateapi


【解决方案1】:

我已经在许多应用程序中使用了您在上面描述的内容,所有这些应用程序都从未被拒绝过。只需关注每个新的 iOS 版本,以防万一发生故障。

所以关于“Would these cause App Store rejection?”,根据我的经验,不会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多