【问题标题】:Using undocumented classes such as NSPreferences in Mac App Store在 Mac App Store 中使用未记录的类,例如 NSPreferences
【发布时间】:2011-03-19 12:19:47
【问题描述】:

有一个名为NSPreferences 的未记录类似乎被 Safari 和 Mail 使用,并简化了多页首选项页面的创建。

有没有人在提交给 Mac App Store 的应用程序中使用 NSPreferences 或类似的未记录但有用且有趣的功能?

【问题讨论】:

标签: objective-c cocoa appkit mac-app-store


【解决方案1】:

不要浪费你的时间。来自Mac App Store Review Guidelines

2.5 使用非公开 API 的应用将被拒绝

【讨论】:

  • 谢谢!然而,我想知道是否有人有过让代码真正通过而不被拒绝的经验。
  • 这样看。想象一下,您已经向使用私有 API 的应用商店提交了一些东西,但奇怪的是它仍然被批准了。你打算在 stackoverflow.com 上谈论它吗?即使您的用户名没有表明您的身份,即使您从未提及您的产品,即使 Apple 可能不会注意到,它也不会显得谨慎。
  • 即使你侥幸逃脱了一次,也没有必要期待再次侥幸逃脱。指望审阅者忽略你的违规行为,既不是好的开发实践,也不是好的商业模式。
  • 谢谢!为大家点赞。太糟糕了。 NSPreferences 看起来真的很有用。我想知道为什么它没有记录在案和公开可用。
  • 为公共框架创建一个类比为内部使用创建一个类要多得多。你总是可以告诉你的同事:“你可以用这个,但不要做 x、y 或 z。”这与公共课程无关。此外,有时项目迫切需要像 NSPreferences 这样的类,但框架架构师有不同的长期计划。对一个组织来说,修改任何使用 NSPreferences 的应用程序并不是什么大不了的事,但一旦它公开,他们就会被锁定一段时间来支持它。
【解决方案2】:

看起来 Transmit 和 Coda 都可能通过其首选项对话框的外观来使用它。两者都可以在 App Store 上找到。

或者,您应该检查 OmniGroup 框架库。

https://github.com/omnigroup/OmniGroup/tree/master/Frameworks/OmniAppKit/Preferences.subproj

它实现了一个非常相似的首选项对话框。

【讨论】:

  • 我很久以前就自己实现了它;) 使用 tabview、工具栏和 NSView 动画并不难。问题主要涉及NSPreferences 本身的实际使用。不过,这是对新人的支持 - 欢迎来到 SO!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
相关资源
最近更新 更多