为iPhone开发的陷阱

时间:2009-08-01 12:39:14

标签: iphone

在开发iPhone应用程序时,是否有任何关于陷阱的指导原则?

5 个答案:

答案 0 :(得分:18)

当然,成千上万。任何软件开发都是如此。不幸的是,列举它们的最简单方法是将它们写在一张纸上,同时等待一个友好的灵魂将你从刚落入的那个中释放出来。

然而:

  1. 不要试图重新发明轮子。 iPhone API非常完整 - 您只需查看所需的设施即可。事情并不总是按照你期望的方式实施。仔细阅读指南。查看教程并分析它们的工作原理。 (尝试在教程的这里或那里更改一行,看看这个变化有什么不同。)我在iPhone开发1年中犯下的最大的错误就是没有努力找到 iPhone的方式做某事。

  2. 不要忽略内存管理;及早掌握它。使用Instruments中的Object Allocation和Leaks工具来检查频繁的内存泄漏。完成每个功能或视图后,我建议您进行检查;如果你不断发现错误,往往比这更常见。最终你可以理解它,你可以停止这样做。

  3. 不要只使用默认的构建设置。和他们一起玩,了解他们的所作所为。找出认证和分发。 快速进入开发人员计划 - 可能需要一段时间才能完成该管道。 [并且当您收到需要续订的通知时,立即启用它 - 该过程存在问题。 ]

  4. 不要忽视仔细阅读人机界面指南(HIG)。如果他们说不做某事 - 不要做。 Apple 拒绝滥用其图标的应用程序。

  5. 不要限制营销。是的,App Store将您的应用程序置于数百万人面前......理论上讲。但获得头版的可能性很小。 App Store上有很多很棒的应用程序没有卖得多,因为没有人知道它们。

  6. 不要满足于现状。如果出现了新技术,请了解它是否能让您的工作更轻松;如果确实如此,请花点时间学习它。个人示例:我现在正在尝试从基于SQLite的数据管理切换到Core Data,因为在我开始最近的项目时,我很着急;现在我希望我放慢速度并想一想。

  7. 不要进入你的设计思维(例如)“我如何用表视图实现我的概念?”对于许多信息和实用程序应用程序来说,表视图是很自然的,但不受约束。相反,想想用户想要做什么,如何让他们更容易 - 将各种东西组合在一起等等。如果你从未探索过用例的概念,请阅读它们。

  8. 不要犹豫,建立复合视图。我在Stack Overflow上看到的许多问题都与将工具栏放在表格顶部或在文本字段的背景中有图像有关。我理解以简单的方式做事的愿望,正如我在上面的#1中所述,如果 是一种简单的方法,请使用它。但在许多情况下,解决方案只是将具有适当位置和透明度的几个视图分层。

答案 1 :(得分:5)

考虑从一开始就可能获得Apple批准的内容。

App Rejected是帮助了解Apple大多数无证标准的几个有用网站之一。 (One more。)(关于app store rejection reasons的上一个问题。)

一些简单的例子:

  • 使用UIWebView可以让您的应用获得17+评级。
  • 使用未记录/私有API编码=拒绝
  • 版本号< 1.0可能=拒绝
  • 关于网络成功/失败=拒绝的反馈不足
  • 网络使用太多=拒绝
  • 明显限制免费版与完整版=拒绝
  • 应用名称中的“iPhone”一词=已拒绝

以上链接包含更多示例,以及有关这些示例的更多详细信息。

答案 2 :(得分:3)

不要忽视编程指南。虽然文档非常广泛,但编程指南中包含了一系列有用的技巧和“内幕”信息,而这些信息根本无法从阅读方法定义中获取。我花了同样多的时间阅读技术指南(比如核心数据),就像我实际实现它一样。

不要假设您知道方法的作用。如果您对方法的功能存在任何程度的疑问,那么值得您花些时间在文档中查找以进行验证。

答案 3 :(得分:2)

以上@Amagrammer的精彩例子。

我想补充一点,首先要开始的是iPhone开发是Photoshop。这仍然是我可以给任何刚开始的人提供的最佳建议。我现在使用OmniGraffle,因为它有很棒的模板模板。

我发现即使对于超级简单的应用程序,也要绘制原型并查找可用性问题和工作流程问题。重绘您的应用程序比重新编码它快100倍。我已经多次陷入这个陷阱,现在实际上已经绘制了一些非常简单的功能,看看它的外观和感觉。

这个建议可以为你节省10s甚至100s的时间,希望你的应用程序能够在第一时间正确运行并让你思考问题所在。抛弃代码糟透了我已经完成了,不是因为代码很糟糕,而是因为它使可用性或解决方案变得更糟。我认为我们中最好的人最终会抛弃代码,并且对您的设计进行原型设计肯定会有助于您在RTFM中获得一些您不必首先构建的内容。

答案 4 :(得分:-2)

如果你没有一个出色的设计师,并且不能自己做出很棒的设计,那么甚至不要开始开发iPhone应用程序。此规则仅适用于您希望/需要通过应用赚钱的情况。