代码之家  ›  专栏  ›  技术社区  ›  Andrew Grant

成功提交AppStore的提示?[关闭]

  •  197
  • Andrew Grant  · 技术社区  · 16 年前

    一两天之后,我就可以把我的iPhone应用程序提交到AppStore了,我很好奇那些经历过这个过程的人是否有任何提示/建议来保证提交过程的顺利进行。

    以下是我介绍的内容;

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

    我有点不确定的是如何在info.plist中配置“bundle display name”/“bundle identifier”和“bundle name”。我知道第一个是iPhone上显示的文本,但是最后一个呢?是否必须匹配绑定标识符?

    还有什么我应该添加到info.plist的东西吗?我注意到,当我的应用程序为临时发行而构建时,它在iTunes中没有任何作者/标题信息。

    21 回复  |  直到 16 年前
        1
  •  83
  •   logancautrell    13 年前

    首先,不要担心iTunes中缺少的作者/标题信息(和图标)。这是当你使用应用商店发布时得到的元数据。

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

    显示名称(cfbundledisplayname)是显示在主屏幕上的方式。我发现有一点很重要,那就是它可以本地化,所以如果你的应用程序在英语中被称为“啤酒”,它可以在意大利语中显示为“birra”,在德语中显示为“bier”。

    机械的东西,只要你按照说明做,实际上是相当直接的。我发现钥匙正在准备中。在你的应用上线之前,你基本上没有收到任何通知,审查过程可能需要几个小时到几个星期的时间。确保你有一个正在运行的网站和接受(和提供)反馈的能力。我刚用过博客。

    除非你的应用是微不足道的现实世界 找到你没有预料到的问题,你的不开心的用户总是最有发言权的,所以你需要有回复的能力!

    我的应用程序是 Yummy 顺便说一下。

        2
  •  45
  •   Hunter    16 年前

    确保你有一套防火服来对付那些给你打坏分数的弱智评论员,而不去尝试应用程序或阅读它应该做什么的描述。

    我因为没有做我描述的事情而被降级。

    审查过程,以及无法真正做出反应,令人恼火。

        3
  •  44
  •   logancautrell    13 年前

    提交应用程序时,请确保在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在处理资源调配方面要好得多。

        4
  •  40
  •   ultravelocity    13 年前

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

    更新:正如下面提到的,这不再有效。

        5
  •  22
  •   community wiki 3 revs, 3 users 76% TouchGameDev    11 年前

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

    app-store rejections

    这篇文章也链接到了关于这个主题的其他资源。

    祝你好运, 马修

    本文中的信息包括:

    漏洞
    HIG 精简版Internet
    连接性(很好的信息,你可能会惊讶地看到)
    过度使用带宽
    蜂窝网络设备功能 (这里的另一个伟大点拯救了我)

    • 私有API
    • 功能有限
    • 无解释代码
    • 用户数据处理
    • 受版权保护的内容
    • 商标图像的使用
    • 令人反感的内容
    • UIWebVIEW
    • 应用商店外的交易
    • 价格信息应用图标和应用程序
    • 存储映像应用程序说明
    • 应用商店关键字更新是
    • 作为新应用程序审阅

        6
  •  18
  •   Mike Weller    15 年前

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

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

    我遇到了一件小事。确保小的嵌入图标57x57与大的512x512图标匹配。如果他们的意见“太”不同,他们会拒绝这个应用程序。所以不要试图在更大的图标中显示更多的细节。

        7
  •  16
  •   Alex Reynolds    14 年前

    如果您使用的是任何Apple小部件,请遵循用户界面指南。例如,在改变其含义的上下文中重复使用苹果的图标集(例如重新调整摄像头图标的用途以拍摄屏幕截图,当图标保留用于显示设备的图片相册时)可能会被拒绝。

        8
  •  16
  •   JosephH    11 年前

    苹果现在(截至2010年9月9日)发布了他们的官方应用程序商店审查指南列表,因此值得检查的是,你没有违反其中任何一条:

    approval guidelines

    (需要Apple开发者登录)

    或者这里的镜子:

    app store guidelines

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

        9
  •  13
  •   Daniel Hill    15 年前

    我发现他们并没有真正检查内存泄漏和稳定性问题,更多的可用性问题。例如, my app 使用核心位置查找珀斯的公共汽车站。当他们在加利福尼亚州测试时,他们发现附近没有(真令人惊讶!)他们打电话给我说没有显示区域外消息。

    另一件事是他们不知道公交车站的号码。在珀斯,它们是5位数字。苹果测试人员输入了2位数字,无意中发现了火车站,我使用了稍微不同的代码路径,而我描述中描述的功能将不会起作用。

    这实际上是非常方便的反馈,有一个我不认识的人给了我一次很好的反馈。我很惊讶他们在测试中做得如此彻底。我认为这只是某种自动静态验证工具,以确保你不会试图破坏iPhone的安全性。

        10
  •  11
  •   logancautrell    13 年前

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

    bundle identifier在某些方面相当于Apple的注册表路径,Windows开发人员将使用hklm\software\company\application-Apple使用的约定更像是com.companyname.appname。

    (免责声明:不了解AppStore开发,只知道少量有关Mac和PList文件的知识)

        11
  •  9
  •   lajos    15 年前

    我的建议是创建一个通配符分发配置文件。通过这种方式,您可以将bundle标识符单独保留,默认值可以工作。

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

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

    如果你的应用被拒绝,苹果会告诉你该怎么修复。它们很合理,所以不用担心。

        12
  •  8
  •   zoul    15 年前

    从设备向互联网提交信息也是一个潜在的陷阱。SDK协议中说:

    任何形式的用户或设备数据 收藏,或图像、图片或声音 捕获或录制由 应用程序(统称 __recordings__)和任何形式的用户 数据、内容或信息 上传、同步或传输 由应用程序执行 (统称为__变速箱_)必须 遵守所有适用的隐私 法律法规以及任何 苹果程序要求与 包括但不包括 仅限于任何通知或同意 要求。尤其是, 相当明显的视觉 指示器必须显示到 用户作为应用程序的一部分 表示正在录制 地点。

    如果你做一些像提交游戏中的高分这样的事情,确保你给用户一个跳过传输的机会。否则你可能会被拒绝,发生在我们身上。

    顺便说一句:不能保证如果你的第一个版本通过,所有的更新都会通过。我们的1.1因为已经在1.0中的功能而被拒绝。这很烦人,因为更新可能正在修复一个bug,如果需要一周时间才能被拒绝,那么当您必须开始修复您认为未损坏的内容时,您已经晚了一周。

        13
  •  8
  •   logancautrell    13 年前

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

        14
  •  8
  •   Adam    11 年前

    更新:如下文所述,其他人(域名非法占有者?)已获取域,因此链接现在已断开。最近它似乎易手了好几次:(。

    阅读当前拒绝和接受页面 AppRejections.com 检查一下,你不会因为苹果最近的一些“秘密”批准理由的改变而犯规。

        15
  •  4
  •   lyonanderson    15 年前

    提交时,有一个框供您输入应用程序可能需要的任何演示帐户详细信息。

    此框也是放置审阅者在检查应用程序时可能会发现有帮助的任何额外详细信息的好地方。

        16
  •  4
  •   Luke    14 年前

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

    这对我来说有点麻烦,因为我有一个“一”应用程序(两个二进制文件),iPhone和iPad的接口不同-我不能称iPad版本为“对称实验室”,因为这就是iPhone应用程序所称的,不能称它为“对称实验室iPad”,因为你不能用名字说iPad,也不想称它为“对称实验室HD”,因为它的差别比分辨率大。我最终选择了“对称实验室专业”。

        17
  •  3
  •   community wiki Benjamin Ortuzar    15 年前

    不要在标签栏中使用类似于iPhone/iPod touch的图片。他们过去允许他们,但现在他们拒绝了。其他的苹果硬件似乎不是问题。

        18
  •  3
  •   logancautrell    13 年前

    苹果没有更改新提交应用程序的排序日期方法吗?

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

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

        19
  •  2
  •   Jering    14 年前

    多次尝试得到“无效二进制文件”。最后的工作是直接在Mac上压缩包,然后上传到Mac上。当然,不需要.dsym文件。在以前的尝试中,压缩是在一台PC上完成的。重新压缩以省去.dsym也在一台PC上完成了失败的尝试。

        20
  •  2
  •   David Casseres    13 年前

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

        21
  •  1
  •   TimM    15 年前

    如果您创建了应用程序的精简版,请注意不要锁定那些可能使应用程序不能完全正常工作的特性。你也不应该向上销售完整的版本(尽管看起来很多应用程序都会这样做)。