【问题标题】:Will using a custom category to extend UIButton get my app rejected?使用自定义类别来扩展 UIButton 会导致我的应用被拒绝吗?
【发布时间】:2009-10-24 16:51:36
【问题描述】:

如果我使用自定义类别来扩展 UIKit 界面元素(比如 UIButton)的功能,我的应用被 Apple 拒绝的可能性会更大吗?

澄清:我正在考虑实现一个切换 UIButton,它将在每次点击时在按下/释放状态之间交替。

【问题讨论】:

  • 扩展它做什么?您是否在使用未记录的 API?您是否严重违反了用户界面准则?
  • 我投票结束这个问题,因为它是关于 App Store 政策而不是关于编程。

标签: iphone categories appstore-approval


【解决方案1】:

当然你可以通过类别或子类来扩展 UIButton 的功能。

HIG 违规是应用被拒绝的最常见原因,这也是我所关心的。但这是你的判断。可能发生的最糟糕的情况是他们要求您修复它。

【讨论】:

    【解决方案2】:

    这听起来像是类别的用途...您正在扩展 UIButton,这是一种标准的 OO 技术。只要您的类别本身不违反任何规则(即访问未记录的内部代码),我认为您会没事的,但要遵守关于没有人知道为什么苹果有时会做这些事情的标准免责声明......

    【讨论】:

      【解决方案3】:

      您可以使用自定义类别来做任何您想做的事情。如果您包含私有 API,您可能不会被拒绝,但如果他们更改 API,您可能会发现自己陷入困境。将任何使用私有 API 的方法封装在 @try 块中是一种很好的做法,并包含一个解决方法,以防最坏的情况发生

      【讨论】:

      • 抱歉,这不正确。如果你使用私有 API,你几乎肯定会被拒绝。苹果特别拒绝此类应用程序,因为私有 API 很脆弱。虽然确实有些使用私有 API 的应用程序无论如何都会被接受,但最好远离这些方法。
      • 除了检查您的应用程序是否访问了某些被禁止的硬件或框架之外,应用程序审查人员无法检查您是否使用了某些私有 API。您不会因为使用或覆盖 UIButton 的某些私有方法而被拒绝,因为他们无法检测到它。
      • Alex,虽然您和我的经历纯属轶事,但 Darren 是正确的。 Apple 无法检测您是否使用私有 API。我只能说,在 15 个应用程序中,其中许多是备受瞩目的应用程序,我从未遇到过一个应用程序因使用私有 API 而被拒绝。有些也很明显……我将 UISwitch 颜色更改为橙​​色。我编辑 MPMoviePlayer 来看看我想要的样子。重点是,Apple 永远不会知道我是使用了他们未记录的方法还是创建了我自己的方法。我希望您能推翻您的反对意见,因为我们的回答都是轶事。
      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 2019-09-05
      • 2017-12-19
      • 1970-01-01
      相关资源
      最近更新 更多