好奇什么做法,人们已经学会之前使他们最终建立和提交程序的商店?除了开关从"调试"释放和评论出的呼吁只有什么其他的基本和/或没有这么基本的事情我们应该能看出来?

有帮助吗?

解决方案

这是一个很好的问题和我想要重申的一些答复并添加一些我自己的。我做了这个答案的社区维基,感到自由增加。

  1. 删除的程序从你的装置,关闭无线,关闭蜂窝数据,现在安装和测试的应用程序。它不会正常工作(如多,因为它可能没有互联网)?它不会告诉用户需要的网络连接(如果它是),或者它不会崩溃?

  2. 如果你使用CLLocationManager:删除的程序,新的安装和运行,但是不允许的应用程序有位置的数据。不应用程序的行为或不崩溃?它是否至少告诉用户,它不能运行没有位置的数据(如果这是一个要求)?它的工作在iPod上的接触,确切地理位置使用无线网络。

  3. 运行的应用程序,在模拟器,并为每个图控制器做以下步骤:(a)从iPhone模拟器菜单选择"硬件"-->"模拟存储器的警告",(b)现在导航应用到其他图控制器,并看看如果一切工作,(c)重复试验另一种看法控制器。

  4. 如果你支持老年固件(即:iOS3.1.3),安装应用程序在运行的设备3.1.3和测试它有(如果没有一个,使用3.2模拟器).

  5. 开始你的应用程序而一个电话,或者当个人热点是活动的。是的所有屏幕上的布局,更正(状态条是40px高而不是20)?有没有在底部20像素的图获得推掉屏幕上或做的调整是否正确?

  6. 接受一个电话同时在你的程序,它不会辞职活动和恢复正常吗?不听从您的应用程序停止播放,同时在电话?

  7. 开始你的应用的同时,播放的音乐,音乐继续玩吗?做你的声音组合正确或褪色的音乐适当?

  8. 试验性能上更慢 设备 RAM有限的,例如:iPhone3G(128MB RAM、412Mhz CPU)或iPod触(第1或第2代).

  9. 运行铛静态分析和修正(或至少理解)每一个警告。

  10. 确保NSZombiesEnabled没有在环境变量(注意:不知道,如果这仍然是一个问题)

其他提示

几件事情:

我实际上推荐不是创造一个建立结构称为"分配"作为苹果指定的,因为我经常到创建临时建立的beta测试。我创建两个建立结构中,一个称为临时和一个叫商店,所以我不感到困惑。唯一的区别两者之间存在的权利。plist文件的临时建立的。这种方式我可以测试尽可能我会提交的苹果。

大多数开发是乐观主义者。这就是为什么我们周末工作,以创建一个应用程序,我们刚刚知道的是要使我们的一个百万富翁。在提交之前虽然是一个悲观主义者。想象一下一切都可能出错,并仔细检查它。

不要以为任何东西。不要假设,即小小的改变你作出的程序不会影响其他任何东西。墨菲的法律规定,这一小小的变化将会导致您的应用程序的崩溃,在所有iPod接触或东西。测试,测试,彻底测试之间的最终码编辑和简单的提交。如果你要做一个小小的改变,然后重复,直到它的完美。

记住,如果应用程序没有崩溃为99.9%的用户,然后1每1000下载结果将在1星级的严厉审查。

我用铛静态分析仪、泄漏和目的拨款在开发期间,但我一个额外运行的这些工具提交之前刚刚在的情况。

如果你没有一个旧的设备,得到一个,因为3GS业绩明显好,你可能会错过一些重要的业绩问题。

测试你的程序与以下配置网络或位置是适用的:

  • iPod的触摸
  • iPhone3G
  • iPhone3GS
  • iPhone在飞行模式
  • iPhone与无线网络
  • iPhone与边缘
  • 呼叫的电话在使用的应用程序

,而不是切换到Release,我切换到“分配”。它的发布的副本,但是这是我如何得到一些苹果文档教和 iPhoneDeveloperTips 的。

要点:

最终版本后,但你赶紧再关闭拉上你的应用程序,打开使用Finder的显示包内容的包。由于MacOS的一些bug,这之前雪豹咬了我的版本(和它仍然会在那里),如果你拉上过快(使用Finder的压缩或存档菜单项),部分资源还没有被冲刷掉到文件中。当你做一个显示包内容,内容得到更新。你会发现这个问题的方法是,你的压缩应用程序的大小将是第五至第十或更少的预期大小之间。你可能会认为自己,“哎,那个压缩工具确实压缩了伟大的工作”,但事实并非如此。在这一点上,而不是测试期间主要是因为你正在做一个“干净所有”会出现此问题建立和所有的资源和应用程序包的内容开始是空的,然后用Xcode的填充。出于某种原因,Xcode中完成创建文件后,也该内容仍然没有真正在那里,如果你压缩,但如果你看了他们(排序反向海森堡的)会在那里。当心。

我花了很多时间上的另一个区域是使的来源一个很好的备份,我犯了所有SVN的最新变化后,提出了一个新的分支和标记文件。我也喜欢有我的版本号符合我的SVN编译/提交数,所以我总是知道哪SVN版本我发布相匹配。我在我的info.plist这两个版本号,可以通过应用程序的用户,当他们击中拉升的 I 的的信息。例如,当前info.pist包括:

<key>CFBundleShortVersionString</key>
<string>2.0a1</string>
<key>CFBundleVersion</key>
<string>346</string>

有关于如何使用CFBundleVersion不同的想法。这是我的方式。同样有用的是命令行实用程序, agvtool

在应用程序构建,压缩所以你没有真正做的压缩版本进行任何更改后,请检查应用程序文件,并确保它与权分配证书签署,而不是你的即席之一。学习使用命令行实用程序,协同设计,是用于这种检查和调试的有帮助的。通过首先使压缩的副本,可以确保您以任何方式将改变最终副本是不是Xcode中已交给你,你将上传到itunesconnect,如果一切看起来很好。

其他需要记住的事情是应用程序图标,其他各种图标和图形,你需要在iTunes Store,Info.plist中,并且当应用程序的上传失败,一个神秘的错误消息,它通常有一个事实做这些片是从要构建(那些在应用程序包属于件)的压缩文件缺失中的一个。

一下这个检查清单文件@ Github上

https://github.com/bapu/AppReleaseCheckList

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top