开发iPhone应用的陷阱

7
有没有关于开发iPhone应用时要避免的陷阱的指南?
5个回答

18

当然,成千上万个。任何软件开发都是如此。不幸的是,最简单的列举它们的方式就是在等待友善的灵魂将你从刚刚陷入的困境中解救出来的时候,在纸上写下它们。

但是:

  1. 不要试图重新发明轮子。 iPhone API 非常完整——你只需要寻找需要的功能。事情并非总是按照你的期望实现。仔细阅读指南。查看教程并分析它们的工作原理。(尝试在教程中更改一行或两行代码,以了解更改带来的差异。)我在一年的 iPhone 开发中犯的最大错误是没有努力去寻找做某些事情的。

  2. 不要忽视内存管理;早日掌握并经常使用它。使用 Instruments 中的对象分配和泄漏工具频繁检查内存泄漏。我建议在完成每个功能或视图后进行检查,并在发现 bug 时更频繁地进行检查。最终你可能会对它有深入的了解,可以停止这样做。

  3. 不要只使用默认的构建设置。玩弄它们以了解它们的作用。弄清认证和分发。 快速加入开发人员计划——可能需要一段时间才能完成。[ 当收到需要更新的通知时,立即更新——该过程存在问题。]

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

  5. 不要节省营销费用。是的,App Store 将你的应用程序展示在数百万人面前……理论上。但被放在首页的几率很小。 App Store 上有许多优秀的应用程序因为没有人知道它们而没有卖出很多。

  • 不要止步于过去的成就。如果有新技术出现,要发掘它是否能让你的工作更容易;如果可以,花时间学习它。个人例子:我现在才尝试从基于SQLite的数据管理转换到Core Data,因为在开始我最近的项目时时间很紧迫;现在我希望我当时能够放慢脚步并好好考虑一下。

  • 不要陷入自己的设计思路中(比如)“我如何使用表格视图来实现我的概念?” 虽然表格视图对于许多信息和实用类应用程序来说很自然,但不要被束缚。相反,想想用户将想要做什么,如何使其更容易-把可能一起使用的东西放在一起等等。如果您从未探索过用例的概念,请阅读相关资料。

  • 不要犹豫建立复合视图。Stack Overflow上我看到的许多问题都涉及将工具栏放在表格顶部或在文本字段的背景中放置图像。我理解想要以简单的方式完成任务的愿望,正如我在上面提到的第1条,如果有简便的方法,请使用。但是在许多情况下,解决方案只是将一些视图层叠在一起,并适当地放置和透明度。


  • 我完全赞同所有这些观点,尤其是在这里问的那种问题,第一条建议就是 RTFM(读手册),如果你在查找时找不到它,请查看超类或子类文档! - Harald Scheirich

    5

    考虑一下从一开始就可能得到苹果认可的内容。

    App Rejected 是几个有用的网站之一,可以帮助理解苹果主要未记录的标准。 (还有一个.) (关于应用商店拒绝原因的先前问题。)

    以下是一些快速的例子:

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

    以上链接包含更多例子以及这些例子的更多详细信息。


    虽然这些是有趣的小贴士,但我认为它并没有像@Amagrammer的回答那样很好地回答问题。虽然设计以避免被应用商店拒绝很重要,但这些提示对于临时开发人员是无关紧要的,而一般原则对于更广泛种类的原则更有用。此外,许多苹果的政策并没有公开记录,并且高度易变。然而,设计和编码陷阱通常更持久。 - Quinn Taylor
    我认为这远非全面答案,其他建议如Amagrammer的也是必要的。当我发布它时,我想到这是那种需要多个答案调查的问题,而不是寻找一个单一全面答案的问题。 - Tyler

    3
    不要忽视编程指南。虽然文档相当详尽,但编程指南包含了大量有用的提示和“内部”信息,仅从方法定义中无法获得。我花费的时间阅读技术(比如Core Data)的指南与实际实现它的时间一样多。
    不要假设你知道一个方法的功能。如果你对一个方法的功能有任何疑问,查阅文档以进行验证是值得的。

    2

    以上来自@Amagrammer的精彩示例。

    我想补充的是,在iPhone开发中,第一步应该从Photoshop开始。这仍然是我能给任何刚入门的人的最好建议。现在我使用OmniGraffle,因为它有很棒的模板。

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

    这些建议将节省您10到100个小时,希望第一次就正确地获得您的应用程序,并让您思考问题所在。丢弃代码很糟糕,我曾经这样做过,不是因为代码不好,而是因为它使可用性或解决方案变得更糟。我认为我们中最好的人最终都会放弃代码,并且原型设计肯定会有所帮助,使您不必首先构建某些东西而必须阅读说明书。


    1
    幸运的是,我与一位设计师合作,在我编写代码之前进行图形布局和流程设计。(尽管我们经常在用例上争论。)只需记住:您可以在Photoshop中绘制一些在SDK中构建起来很麻烦的东西。此外,专注于过渡效果-它们对视觉设计至关重要。 - Amagrammer
    您的建议非常好,我正在专注于第二点内存管理。我不会完全忽略它,但有时在某些对象或特殊情况下,我可能不一定100%确定需要释放一次还是两次。 - John Ballinger
    如果你没有Photoshop,Balsamiq Mockups - http://balsamiq.com/ 提供了很棒的在线工具来完成这个任务。 - Toby Allen

    -2

    如果你没有一个优秀的设计师,也不能自己做出优秀的设计,那么就不要开始iPhone应用程序开发。这个规则仅适用于你想要/需要通过你的应用赚钱的情况。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接