一两天后,我将准备好将我的 iPhone 应用程序提交到 AppStore,我很好奇经历过此过程的人是否有任何关于顺利提交过程的提示/建议。

这是我已经介绍过的内容;

  • 没有内存泄漏
  • 在实际设备上测试的性能
  • 不会崩溃:)
  • 使用正确的证书/配置文件

我有点不确定如何在 info.plist 中配置“捆绑包显示名称”/“捆绑包标识符”和“捆绑包名称”。我知道第一个是 iPhone 本身显示的文本,但最后一个呢?这必须与捆绑包标识符匹配吗?

我还应该添加其他内容到 info.plist 中吗?我注意到,当为 Adhoc 分发构建时,我的应用程序在 iTunes 中没有任何作者/标题信息。

有帮助吗?

解决方案

首先,不用担心 iTunes 中缺少作者/标题信息(和图标)。这是当您使用 App Store 分发时到达的元数据。

正如 sascha 所说,您的包标识符应该是唯一的,并且通常是您的域的倒序。这需要与您在开发者门户中创建的应用程序 ID 相匹配。

显示名称 (CFBundleDisplayName) 是其在主屏幕上的显示方式。我发现的一件重要的事情是它可以本地化,所以如果你的应用程序在英语中被称为“Beer”,它可以在意大利语中显示为“Birra”,在德语中显示为“Bier”。

只要您按照说明进行操作,机械方面的东西实际上是相当简单的。我发现钥匙正在准备中。在您的应用程序上线之前,您基本上不会收到任何通知,并且审核过程可能需要几个小时到几周的时间。确保您有一个网站正在运行并且能够接受(并提供)反馈。我刚刚使用过 Blogger。

除非你的应用程序在现实世界中微不足道 将要 发现您没有预料到的问题,而不满意的用户永远是最直言不讳的,所以您需要有能力回复!

我的应用程序是 好吃, , 顺便一提。

其他提示

确保你有一套防火服来应对所有给差评的弱智评论者,而无需尝试该应用程序或阅读其应有的描述。

我因没有做我的描述中规定不做的事情而被扣分。

审查过程以及无法真正回应的情况令人抓狂。

提交应用程序时,请确保在 info.plist 文件中正确设置版本号 - 更新应用程序时,必须增加版本号。您可以使用 x.x 表示法或 x.x.x 表示法。(我忘记在第一次应用程序更新时更新它)。并不是说更新和重新编译很难,但这是很容易忘记的事情之一。

我也同意亨特的观点。你会得到不好的评论。没关系。他们是白痴。你的应用程序很棒。

如果您遇到证书问题,我发现以下一些内容很有帮助:

  1. 重新启动 XCode。
  2. 在您的 iPhone/iPod 中,进入“设置”>“常规”>“配置文件” 确保您使用的分发配置文件在其中,并且没有其他冲突的配置文件(我对同一应用程序有两个分发配置文件)。您可以直接在 iPhone/iPod 中删除它们。

有时您会看到“应用程序协同设计验证失败”错误。它会让你发疯。深吸一口气。重新启动 XCode,重新启动您的开发硬件。去撞墙,去喝一杯,然后一切都会恢复正常。

然后,您会想要:

  1. 清理构建目标(或所有目标,如果您对所有目标都感到愤怒)
  2. 将代码签名身份(在目标属性中)设置为“不进行代码签名”
  3. 关闭Xcode
  4. 删除构建文件夹中的所有目录
  5. 打开Xcode
  6. 将代码签名身份重置为您的 iPhone 发行版:证书
  7. 牺牲一只小动物。
  8. 建造。
  9. 向 iTunes Connect 提交申请
  10. 利润!

请注意,Xcode 4 在处理配置方面要好得多。

您的应用程序获得批准后,您应该将可用日期更改为今天的日期。这可确保它将显示在按日期排序的类别列表的顶部。我们为我们的应用程序这样做, iStylist 改造.

更新:如下所述,这不再有效。

这篇文章是迄今为止对这个优秀问题最全面的回答:

应用商店拒绝

该帖子还提供了有关该主题的其他资源的链接。

祝你好运,马修

文章中的信息包括:

虫子
Hig Lite版本互联网
连接性(您可能会惊讶地读到的优秀信息)
带宽使用过多
蜂窝网络设备功能(这里救了我的另一个好处)

  • 私有API
  • 功能有限
  • 没有解释的代码
  • 用户数据的处理
  • 受版权保护的内容
  • 商标图像的使用
  • 令人反感的内容
  • UIWebViews
  • App Store 之外的交易
  • 价格信息应用程序图标和应用程序
  • 存储图片应用说明
  • App Store 关键词更新为
  • 被审核为新应用程序

如果您被拒绝,您的提交日期将与您首次提交时保持一致,从而导致您的应用程序最终可用时排名较低。如果您确实被拒绝,请要求苹果删除第一次提交,而不是替换被拒绝的应用程序上的二进制文件,而是将其作为具有较新版本号 1.1 等的新应用程序提交。

有些人建议在促销阶段让您的应用程序免费一周左右,然后再提高价格。我已经尝试了两种方法,到目前为止,一种方法似乎是 6 种,另一种方法是 1/2 种。每 1000 次免费下载,您预计将获得大约 10 次,价格为 0.99 美元(这也是我的经验)

我遇到了一件小事。确保您的嵌入式小图标 57x57 与大 512x512 图标相匹配。如果他们认为“太”不同,他们就会拒绝该应用程序。因此,请避免尝试在较大的图标中显示更多细节。

如果您使用任何 Apple 小部件,请遵循 UI 指南。例如,在改变其含义的环境中重复使用苹果的图标集(例如重新利用相机图标来截取屏幕截图,当该图标被保留用于调出设备的图片相册时)可能会成为拒绝的理由。

Apple 现已(截至 2010 年 9 月 9 日)发布了其应用程序商店审核指南的官方列表,因此值得检查您是否违反了其中的任何指南:

审批指引

(需要苹果开发者登录)

或这里的镜子:

应用商店指南

他们也有自己的 App Store 提交提示 页面(可能需要开发人员登录)。

我发现他们并没有真正检查内存泄漏和稳定性问题,更多的是可用性问题。例如, 我的应用程序 使用 Core Location 查找珀斯的巴士车站。当他们在加利福尼亚州进行测试时,他们发现附近没有任何东西(真是令人惊讶!)。他们因为没有显示区域外消息而对我进行了 ping 操作。

他们关注的另一件事是公交车站号码。在珀斯,它们是 5 位数字。Apple 测试人员输入 2 位数字,无意中调出火车站,为此我使用了稍微不同的代码路径,并且我的描述中描述的功能不起作用。

这实际上是非常方便的反馈,而且很高兴有一个我不认识的人重看一遍。我对他们测试的彻底程度感到非常惊讶。我认为这只是某种自动静态验证工具,以确保您不会试图破坏 iPhone 的安全性。

显示名称和名称应该相似或相同,除非您知道它们不需要如此(例如 twitteriffic 和 twitteriffic premium 在 iPhone 上都显示为“twitteriffic”,但它们是具有不同名称的不同应用程序)。

在某些方面,捆绑包标识符在 Apple 中相当于注册表路径,Windows 开发人员会使用 HKLM\Software\Company\Application - Apple 使用的约定更像是 com.companyname.appname。

(免责声明:没有AppStore开发知识,只有Mac和plist文件的少量知识)

我的建议是创建一个通配符分布配置文件。这样你就可以不用管束标识符,默认值就可以了。

将“捆绑包名称”设置保留为默认值。您可以通过重命名产品来更改显示的名称(转到项目信息屏幕,选择所有配置并搜索“产品”。)您可以使用“捆绑包显示名称”设置覆盖它,但如果您的产品名称正确,则没有必要。

提交应用程序时,您应该准备好高分辨率 (512x512) 版本的徽标或促销图片。

如果您的应用程序被拒绝,苹果会告诉您如何修复。它们是相当合理的,所以不用担心。

将信息从设备提交到互联网也是一个潜在的陷阱。SDK协议规定:

应用程序执行的任何形式的用户或设备数据收集,图像,图片或语音捕获或录制(统称为“录音”),以及应用程序执行的任何形式的用户数据,内容或信息上传,同步或传输(总体“传输”)必须遵守所有适用的隐私法律法规以及与此类方面有关的任何Apple计划要求,包括但不限于任何通知或同意要求。特别是,作为应用程序的一部分,必须向用户显示合理的显眼可视指示灯,以表明正在进行录制。

如果您执行诸如提交游戏高分之类的操作,请确保让用户有机会跳过传输。否则你可能会被拒绝,这发生在我们身上。

顺便一提:无法保证如果您的第一个版本通过,所有更新都会通过。我们的 1.1 因 1.0 中已有的功能而被拒绝。这非常烦人,因为更新可能正在修复一个错误,如果需要一周的时间才被拒绝,那么当你必须开始修复你认为没有损坏的东西时,你已经晚了一周。

注意关键字,不要使用其他应用名称作为关键字。(我的音乐应用程序在 3 周后被拒绝,因为我使用“last.fm”作为关键字。)

更新:如下所述,其他人(域名抢注者?)抢占了该域名,因此链接现已损坏。它最近似乎已经易手好几次了:(。

请阅读当前拒绝和接受的页面: AppRejections.com, ,并检查您是否会与苹果公司“秘密”批准理由最近的一些变化发生冲突。

当您提交时,会有一个框供您输入您的申请可能需要的任何模拟帐户详细信息。

此框也是放置任何额外详细信息的好地方,审阅者在检查您的申请时可能会发现这些信息很有帮助。

如果它是 iPad 应用程序,请不要在提交时的应用程序名称或 Info.plist 中的显示名称中提及 iPad。

这对我来说有点麻烦,因为我有“一个”应用程序(两个二进制文件),它对于 iPhone 和 iPad 有不同的界面 - 我不能将 iPad 版本称为“Symmetry Lab”,因为这就是 iPhone 应用程序的名称,不能称其为“Symmetry Lab iPad”,因为你不能在名称中说 iPad,也不想称其为“Symmetry Lab HD”,因为它比分辨率有更多的差异。我最终选择了“Symmetry Lab Pro”。

不要在标签栏项目中使用类似于 iphone/ipod touch 的图像。他们曾经允许他们,但现在他们拒绝他们。看来其他苹果硬件不是问题。

苹果不是改变了新提交的应用程序的排序日期方法吗?

我们不再需要玩“把日期定在未来,然后到今天”的游戏。

“新应用”现在按“批准日期”排序。

多次尝试后得到“无效的二进制文件”。最终起作用的是直接在 Mac 上压缩捆绑包并在 Mac 上上传。当然,忽略 .dSYM 文件。在之前的尝试中,压缩是在 PC 上完成的。失败的尝试也在 PC 上进行了重新压缩以省略 .dSYM。

如果您使用 Safari 以外的浏览器与开发者门户进行交互,则可能无法正常工作。我花了至少一个小时的痛苦才发现这一点。

如果您创建应用程序的精简版本,请注意不要锁定可能使其被视为功能不完整的功能。您也不应该追加销售完整版本(尽管似乎许多应用程序都这样做)。

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