[转]Mac App distribution in App Store

Mac程序的大包上传和iOS的有些许不同,因为Mac app既可以上传到store,也可以不通过store供人下载。因此,code sign和provision要根据情况(开发,release<store 还是非store>)制作。在程序打包后,验证程序的可行性上,也有所不同。下面,就将一些要点纪录下。

基本概念:

1 成员的权限:

成员还是有三种:

Agent:注册帐号的帐户,最高权限,可以创建developer,Mac installer,Mac App, developer ID App, Developer ID Installer证书。

Admin:可以创建developer,Mac installer,Mac App证书

Member:只能创建developer证书

2 证书:

Development:

team中的成员都能创建的development证书,只要用于开发阶段,通俗的说用于debug版本开发

Distribution:

(1) App Store:

App要放到Store上,就需要创建 Mac App 和 Mac Installer证书。 Mac App主要是用于上传到store, installer是上传到store前我们模拟真实的store环境

(2) Developer ID:

Apple允许开发者自行传播App,这就要用到developer ID的证书,也分App和installer两种。注意,此证书只有agent才能创建,并且一个team也只有一个。

生成证书的方式和iOS下的一样,也可根据官网的提示一步一步操作,就不多说了。

3system

将电脑的硬件号注册下

4App IDs 和Provision

这个和iOS一样,按网页提示操作。provision制作好后拖到xcode中,developer provision还要安装到电脑。 创建App ID时候,要考虑清楚是否需要iCloud,和APNS。建议把这些都配置好,再去创建provisions。否则修改了App ID后,对之前的provision会有影响。如果真的需要修改App ID,建议将旧的provisons删除(包括电脑上和xcode里已安装的文件),再安装新的provision。另外,developer provison可以安装在电脑上(因为含有system信息),production的只能安装到xcode中。

顺便贴一下provison和ID,证书,system间的关系图:

另外,说明一下,有时候下载完证书并添加后,在keychain里会没有key,说明证书有问题。我遇到的情况一般是安装了多个证书导致的,这时一般是通过revoke证书再重新制作解决。

下面主要征对上传到store上的app,说明一下步骤,参考资料来自官方文档

在上传之前,确保已经生成Mac App和Installer的证书,并且准备好production provisions。

另外,对程序本身也有些准备工作,比如设置App Icon,deployment target等等,这些和iOS App一样。由于我们是要上传到store的,因此我们必须要enable sandbox。

因为sandbox的权限通过entitlement来控制的,所以如图:

Network,Hardware,Apps下的选项根据需求来选择,选择后会自动在相应的entitlement文件中生成相应的键值。

接下来选中target后,在code sign下选择合适的provisons(注意debug和release下的选择)。如果发现安装完provision后,xcode选项里没有,可以重启xcode看看。

在archive制作安装包之前,我们确认下schema的设置是否正确:

Archive的配置须是release的。

接下来我们就要选择xcode下的archive功能了,完成后会弹出 Organizer-Archives的窗口,右边有个Distribute的按钮,点击:

1 submit:上传到Store,记得在iTunes connect创建好相应的App,然后选择next,接下来的事就交给xcode。

2 Export Developer:这种是不在store上的distribution

3 Export as:如图,有3种选择。

在上传到store前,我们必须测试安装过程以确保程序能正确安装。这时我们可以选择export as paskage,生成一个安装包,注意这个时候要选择insaller的证书:以你的team名开头,在"Identities without profiles"下。然后利用如下命令:

sudo installer -store -pkg path-to-package -target /

(-store是模拟从App store上安装)

生成的App被安装到/Application下,可以自行查看。

运行测试后没问题,就可以提交到app store上了。

时间: 2024-08-29 17:52:24

[转]Mac App distribution in App Store的相关文章

App Distribution Guide (二)

Configuring Your Xcode Project for Distribution  You can edit your project settings anytime, but some settings are necessary during development. Others are recommended when you distribute your app for beta testing and required when you submit your ap

App Distribution Guide--(三)---Configuring Your Xcode Project for Distribution

Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but some settings are necessary during development. Others are recommended when you distribute your app for beta testing and required when you submit your app

App Distribution Guide (一)

This guide contains everything you need to know to distribute an app through the App Store or Mac App Store. 这个guide包含了如何通过app stor或者mac app store来发布一个app. Get step-by-step guidance for enrolling in an Apple Developer Program and building, testing, a

App开发到App Store上架,发布流程。

http://blog.csdn.net/wojsg001/article/details/12005887 App开发到App Store上架,发布流程. 分类: IOS2013-09-25 11:25 6434人阅读 评论(1) 收藏 举报 网上已经有很多关于这方面的资料.我重点总结了三篇.大家可以参照着看. 1.IOS开发从新手到App Store上架. http://www.cocoachina.com/special/fornew.html 2.苹果APP STORE产品上架以及审批流

APP被苹果App Store拒绝的79个原因【转】

作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原因 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币. 3.游戏里有实物奖励的话,一定要说清楚,奖励由本公司负责,和苹果没有关系. 4.用到苹果的标志.(应用的设计和Apple的Logo风格太像了也会被拒) 5.网络功能不能正常访问. 6.

APP Distribution Guide 苹果官网

https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40012582 About APP Distribution https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppD

Mobile Safari调用本地App, 否则进入App Store下载

需求: 如何让用户通过手机浏览器(Mobile Safari),访问一个URL就能直接打开ios上的App应用,如果该应用没有安装,那么直接跳转到App Store的App下载页面. 准备工作 ios SDK的OpenURL函数和URL Scheme JavaScript的window.location和setTimeout函数 代码实现 下面以打开暖岛app为例子,JS实现部分如下 window.location = 'nuandao://web2app'; setTimeout(functi

开发框架-APP:Hybird App

ylbtech-开发框架-APP:Hybird App Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”. 1.返回顶部 1. 中文名:混合模式移动应用 外文名:Hybrid App 类    型:app应用技术 难度系数:中等 目录 1 简介 2 兴起原因 3 分类 ? 多View混合型 ? 单View混合型 ? Web主体型 ? 多主体共存型——灵活型

Web App、Hybrid App与Native App的设计差异

目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web App.Hybrid App. Native App. 1. Web APP Web App 指采用Html5语言写出的App,不需要下载安装.类似于现在所说的轻应用.生存在浏览器中的应用,基本上可以说是触屏版的网页应用. 优点 (1)开发成本低, (2)更新快, (3)更新无需通知用户,不需要手动