iOS App上架审核发布

上架流程

Archive

执行路径:Xcode->Product->Archive

1.Profile doesn’t include the beta-reports-active entitlement.

  1. ~/资源库/MobileDevice/Provisioning Profiles 删除对应的描述文件,重新安装;
  2. Clean后,重启Xcode;
  3. 重新Archive。

Upload to App Store

在完成APP开发之后,开始打包,打完包之后:

屏幕快照 2018-06-20 23.46.53

要么Upload to App Store,却一直停留在”upload….”。

或者使用使用Application Loader上传却一直停留在…

正在通过app store进行鉴定…..

无比抓狂,无比抓狂!

那么试试以下方法,也许能救救你。

更新iTMSTransporter

在Terminal中输入:

1
2
3
$ cd ~
$ mv .itmstransporter/ .old_itmstransporter/
$ "/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"

等待更新完毕之后,重新用Application Loader上传。

参考: Application Loader stuck at “Authenticating with the iTunes store” when uploading an iOS app

网络原因

由于天朝墙外香,这种原因可能性极大。

  • 修改DNS
DNS服务 DNS
114DNS 114.114.114.114
DNSPod 119.29.29.29
百度 DNS 180.76.76.76
  • VPN
  • 让远方的朋友,帮你一把吧!

最后,我通过更新iTMSTransporter解决。

审核

审核有一些事情先要说明:

  • 审核团队:旧金山,比北京时间晚15个小时。北京时间23:00点,旧金山时间8:00
  • 目前审核时间:最短六七个小时,长则两天。晚上十一点提交,第二天早上过审情况很多。
  • 所有关于审核的邮件,支持中文。比如紧急提审邮件,直接用中文。

然后,请详细阅读审核指南:中文 英文

加急审核,紧急提审一年未规定次数,但是谨慎使用。发加急审核邮件,说明事故及原因、复现场景、影响,最后感谢团队。

审核被拒案例

您输入的 App 名称已被使用

  • 场景

    把之前同名的APP下架后删掉,同一个apple id新APP能否使用原APP的名称上架?

    您输入的 App 名称已被使用。如果您拥有对该名称的商标权并希望行使该权利,请提交投诉

  • 原因

    同一账号不能使用。在同一个账号下删除的App,以后的App都不能使用这个已经删除App的名字。

  • 解决

    方案一:申诉

    方案二:改名

App sandbox not enabled (Mac)

Dear Developer,

We identified one or more issues with a recent delivery for your app, “BeeFun”. Please correct the following issues, then upload again.

App sandbox not enabled - The following executables must include the “com.apple.security.app-sandbox” entitlement with a Boolean value of true in the entitlements property list. Refer to the App Sandbox page for more information on sandboxing your app.

  • com.luci.beefun.mac.pkg/Payload/BeeFun.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/Autoupdate
  • com.luci.beefun.mac.pkg/Payload/BeeFun.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app/Contents/MacOS/fileop
  • com.luci.beefun.mac.pkg/Payload/BeeFun.app/Contents/MacOS/BeeFun

Invalid Bundle - The application bundle may not contain tools or frameworks using the bundle identifier ‘org.sparkle-project.Sparkle.Autoupdate’. Invalid bundle: [com.luci.beefun.mac.pkg/Payload/BeeFun.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/Autoupdate.app].

  • 场景

    Mac app打包并上传。

  • 应对

    开启沙盒功能。target -> Capabilities -> App Sandbox

    屏幕快照 2018-06-21 21.39.04

引用苹果商标

Guideline 5.2.5 - Legal - Intellectual Property

Your app does not comply with the

Guidelines for Using Apple’s Trademarks and Copyrights. Specifically, your app includes:

Name: BeeFun for iOS

Subtitle: Github client for iOS

Please remove all references of iOS from app name and subtitle.

Next Steps

To resolve this issue, please revise your app and its metadata to address these trademark issues.

  • 场景

    在App名称或App副名称中包含苹果相关的商标。

  • 应对

    移除相应地方的iOS或相关的商标。

    Guideline 4.1 - Design - Copycats

Your app or its metadata appears to contain misleading content. Specifically, we have found the app name includes third party Github in name and subtitle in non referential manner.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

- Review the Copycats section of the App Store Review Guidelines

- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.

- Provide rights to any protected or trademarked content in App Store Connect.

- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the

Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal.

You may attach documentary evidence in the App Review Information section in App Store Connect. In accordance with section 3.2(f) of the Apple Developer Program License Agreement, you acknowledge that submitting falsified or fraudulent documentation can result in the termination of your Apple Developer Program account and the removal of your apps from the App Store. Once Legal has reviewed your documentation and confirms its validity, we will proceed with the review of your app.

Since your App Store Connect status is Metadata Rejected, we do NOT require a new binary. To revise the metadata, visit App Store Connect to select your app and revise the desired metadata values. Once you’ve completed all changes, reply to this message in Resolution Center and we will continue the review.

  • 场景

    侵权第三方Github。

  • 应对

    删除App名称及副名称中所有关于第三方的名称。

审核被拒分析

苹果是爸爸

  • 所有和苹果相关的活动,拍卖的活动页, 抽奖未声明与苹果公司无关,抽奖的奖品不能是苹果产品。
  • 拉低苹果形象的任何文案、视频
  • iPhone/iOS的拼写错误排查
  • 避免任何Android系统等移动系统的设备、文案
  • 应用截图中包含其他平台信息被拒绝,需要替换相关截图。

营销活动类

  • APP跳转页含其他APP下载引导
  • App中有有鼓励用户推荐新用户下载的行为,同时接受邀请的人可以获得奖励
  • App中有游戏类,如点卡,需要使用苹果应用内购;
  • 应用程序的名称、副标题、图标、屏幕快照或者预览中都不能出现APP的价格信息,不管是免费还是折扣信息。

技术类

  • 各种涉及隐私权限,均需要在info.plist添加使用说明。如使用了后台定位,但相关配置文件没有说明,同时,应用描述要添加“降低电池的寿命”说明。
  • 不完全信息:开发者必须在iTunes Connect的应用审查信息中输入审查时需要用到的所有详细信息。比如Demo账号无法登录
  • 崩溃次数和Bug数量:苹果要求开发者在将应用提交给苹果之前彻底检查自己的应用,然后才有可能获批并在商城上架。
  • 断链情况:应用内的所有链接都必须正常和有效。
  • 占位符内容:包含占位符内容的应用是无法获批的。
  • 描述不准确:应用的描述信息必须清晰准确,介绍应用的功能和目的。如果描述信息不准确,就有可能被拒。

设计类

  • 不符合标准的用户界面:用户界面必须友好、整洁和精致。
  • 持续价值不足:开发者提交的应用必须能够吸引足够多的用户,那些应用必须是功能和内容俱佳的产品。

发布

TestFlight

(Mac)App Store渠道

  • 过审后,上架APP,到App Store展示,十五分钟到几小时不等,一般半小时就生效。

其他渠道

Mac App分发

自己开发的Mac app,如果不通过Mac App Store分发,那么可以将app打包成dmg格式自由分发。

下面流程详细说明了,如何打包dmg文件。

1. 准备

    1. 磁盘工具
    1. 应用:**.app
    1. dmg背景图:background.png
    1. Application替身

    2、3、4如下图:

屏幕快照 2018-09-22 20.34.34

2.创建空白映像

屏幕快照 2018-09-22 15.15.26

填写完整信息,大部分默认即可:

屏幕快照 2018-09-22 18.02.51

3.添加资源

将应用.app、背景图以及Application替身放入映像。

4.添加背景图

创建dmg后,打开dmg,在dmg内空白右键单击——查看显示选项:

屏幕快照 2018-09-22 18.03.44

将准备好的背景图片,拖入背景,注意不要点击选中图,直接拖入。

隐藏背景图

1
$ chflags hidden /Volumes/PushFly/background.png

重新导出只读映像:

屏幕快照 2018-09-22 23.00.41

5.添加ICON

这一步需要导出.icns文件。有如下方案:

制作好icns文件后,右键显示dmg“显示简介”,按下图拖入右上角图标显示处。

屏幕快照 2018-09-23 00.07.06

6.参考

工具
  1. dmgbuild
  2. node-appdmg
  3. DMG Canvas
  4. DropDMG
链接:
  1. Question : Create nice look dmg

  2. 如何将macOS应用程序打包为dmg文件

  3. 制作属于你自己的磁盘映像

  4. Porting UNIX/Linux Applications to OS X

  5. Distribution Definition XML Schema Reference