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 app to the App Store or Mac App Store.
你可以在任何时候编辑你的项目设置。但是有一些设置在开发阶段就是需要的。
During development, your app must be provisioned and code signed to use certain app services and run on an iOS device (iPad, iPhone, or iPod touch). If you assign a bundle ID and team to your project, Xcode can create the necessary certificates, identifiers, and profiles for you in Member Center. You can enter this information now using the project editor or as needed when you add app services and launch your app.
在开发阶段,你的app必须通过认证并且签名才可以使用一些app 设备并且在这些ios设备上运行,例如(ipad,iphone,或者ipod touch)。如果你分配一个bundle id和team到你的工程中,xcode就可以为你在member center中创建必要的certificates,identifiers和profiles。
Before you distribute your app for testing or to the store, provide all the required information about your app. For example, set app icons to pass iTunes Connect validation tests.
Before you upload your app to the store, verify your build settings and set the copyright key for Mac apps.
在上传你的app到store前,验证你的build设置并且为mac apps设置copyright。
Setting Properties When Creating Your Xcode Project
For iOS apps, a dialog similar to this appears when you create an Xcode project from a template:

The product name is the name of your app as it will appear to customers in the store and should be similar to the app name you enter later in iTunes Connect. Most importantly, a customer should instantly associate the app name and icon in the App Store with the product name and app icon that installs on their devices. The product name is also the name that will appear in Springboard when the app is installed. The product name can’t be longer than 255 bytes and can be no fewer than 2 characters. (Read Best Practices in iTunes Connect Developer Guide for guidelines on choosing an app name.)
product name即使你的app name。会出现在store中应当同之后你在itunes connect中输入的app name类似。更重要的是,客户应当立即将在app store中的app name和icon和在设备上安装的product name和icon联系起来。product name不能超过255字节长度而且不能少于两个字符长度。
The organization name is an attribute of the Xcode project and is used in boilerplate text throughout your project folder. For example, the organization name is used in the source and header file copyright strings. The organization name in your Xcode project isn’t the same as the company name that you enter later in iTunes Connect.
organization name是xcode工程的一个属性并且用于贯穿项目folder的样本文件text。例如,organization name用于source和header文件中的copyright字符串。organization name和你之后在itunes connect中输入的company name不同。
The product name and company identifier you enter are concatenated to create the default bundle ID using reverse domain name service (reverse DNS) notation. The bundle ID needs to be unique to your app, so it’s important to set the company identifier to a unique string as well.
bundle id需要是唯一的。product name和company identifier串联起来就是默认的bundle id。所有company identifer是唯一的也很重要。例如:
orgnization identifier是com.xxx,product name是hellow world,那么默认的bundle id就是com.xxx.hellow world. 一般的orgnization identifer就是你公司的域名颠倒过来写。
For iOS apps, you can choose the types of devices you support from the Devices pop-up menu. For Mac apps, you can choose the Mac App Store categories from a pop-up menu.
The other values used by the Xcode template are sufficient for building and running your app locally, but later you’ll need to finalize properties, such as the bundle ID. Also, the assistant doesn’t set all required properties for the store. You complete the basic store configuration before you submit. Ideally, you’ll complete this configuration before you distribute your app for testing too.
After your app is released, you can’t change some of this metadata, so it’s important to choose your settings carefully. To learn which app states cause some properties to be locked in iTunes Connect, refer to iTunes Connect App Properties in iTunes Connect Developer Guide .
当你的app发布以后,你就不能更改其中的一些metadata了,所以慎重选择你的设置非常重要。
Before You Begin Configuring Your Project
Configuring Identity and Team Settings
For Xcode to create the team provisioning profile, the app’s bundle ID needs to be unique and the project assigned to a team. Later, you provide other information that identifies this version of your app. The identity settings appear in the Identity section of the target’s General pane. For iOS apps, the Identity section appears as shown here:
xcode创建team provisioning profile,app的bundle id需要是唯一的并且project要分配给一个team。而后,你提供其他的信息来标示你app的版本。

About Bundle IDs
A bundle ID precisely identifies a single app. A bundle ID is used during the development process to provision devices and by the operating system when the app is distributed to customers. For example, Game Center and In-App Purchase use a bundle ID to identify your app when using these app services. The preferences system uses this string to identify the app for which a given preference applies. Similarly, Launch Services uses the bundle ID to locate an app capable of opening a particular file, using the first app it finds with the given identifier. The bundle ID is also used to validate an app’s signature.
The bundle ID string must be a uniform type identifier (UTI) that contains only alphanumeric characters (A-Z,a-z,0-9), hyphen (-), and period (.). The string should be in reverse-DNS format. For example, if your company’s domain is Acme.com and you create an app named Hello, you could assign the string com.Acme.Hello as your app’s bundle ID.
一个bundle ID精确的标示一个app。当开发中执行到provison设备或者当发布给客户时候都需要bundle id。例如,当使用game center和in-app purchase服务是使用bundle id来标示你的app。系统偏好使用这个bundle id来标示app。类似的,launch services使用bundle id来定位app打开特殊的文件。bundle id也用来验证app的签名。
bundle id字符串必须只能办好阿拉伯数字和字符(A-Z,a-z,0-9), hyphen (-), and period (.)。字符串应当是点到的dns格式。例如你的公司的域名是Acme.com并且你创建了一个app叫做hello。那么你就可以拿com.Acme来作为你的app的bundle id了。
During the development process, you use an app’s bundle ID in many different places to identify the app.

在开发过程中,你可以在许多不同的地方来使用app的bundle id来标示app。
Specifically, the bundle ID is located and used as follows:
In the Xcode project, the bundle ID is stored in the information property list file (Info.plist). This file is later copied into your app’s bundle when you build the project.
In Member Center, you create an App ID that matches the app’s bundle ID. If the App ID is an explicit App ID, it exactly matches the bundle ID. However, unlike domain names, bundle IDs are case sensitive. If the App ID is lowercase, your bundle ID needs to be lowercase, too.
In iCloud, the container IDs you specify in your Xcode project are based on the bundle IDs of one or more apps.
In iTunes Connect, you enter the bundle ID to identify your app. After your first version is available on the store, you can’t change your bundle ID or delete the associated explicit App ID.
在xcode工程中,bundle id存储在property list文件(Info.plist)中。这个文件之后当你build项目时会copy到你app的bundle中去。
在member center,你创建一个匹配你app bundle id的app id。如果app id时一个显示的app id,他会完全匹配bundle id。尽管如此但是,不想domain命名,bundle ids是大小写敏感的。如果app id是小写的,你的bundle id也需要是小写的。
在itunes connect中,你输入bundle id来标示你的app。当第一个版本在store中存在时,你就不能再更改你的bundle id或者删除和其相关联的显示的app id。
App Distribution Guide (二)的更多相关文章
- APP Distribution Guide 苹果官网
		
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduct ...
 - App Distribution Guide (一)
		
This guide contains everything you need to know to distribute an app through the App Store or Mac 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 ...
 - Android APP压力测试(二)之Monkey信息自动收集脚本
		
Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...
 - 基于Html5 Plus + Vue + Mui 移动App 开发(二)
		
基于Html5 Plus + Vue + Mui 移动App 开发(二) 界面效果: 本页面采用Html5 Plus + Vue + Mui 开发移动界面,本页面实现: 1.下拉刷新.上拉获取更多功能 ...
 - 带你从零学ReactNative开发跨平台App开发(二)
		
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
 - 关于APP上架制作二维码相关
		
1.安卓版本APP上架并生成二维码问题:安卓版本上架国内市场,这个情况比较复杂一些,比如百度,网址是以上传APP生成的一个编号来进行的,每次升级更新后都发生了变化,也就相当于每次升级后网址发生改变(比 ...
 - 安卓app和苹果app共用一个二维码
		
应项目要求,现在安卓app和苹果app共用一个二维码,对外提供下载: <html> <head> <meta http-equiv="Content-Type& ...
 - 制作IOS企业版App网页扫描二维码下载安装
		
有时候我们需要在XX网站的主页上去扫描二维码下载,那么ios开发中如何做到这一点呢. 我给大家解答一下,这也是在最近工作中用到的部分,在网上了解了一些. 下面给大家分解一下步骤: 1.Plist 和 ...
 
随机推荐
- vmware中三种网络连接方式(复制)
			
原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 我怕链 ...
 - hdu 1512
			
思路:用并查集即可,每次合并的时候将小的集合合并到大的集合上去.理论上的平均复杂度是n*lgn*lgn. #include<map> #include<queue> #incl ...
 - BZOJ3236 [Ahoi2013]作业  【莫队 + 树状数组】
			
题目链接 BZOJ3236 题解 没想到这题真的是如此暴力 #include<algorithm> #include<iostream> #include<cstring ...
 - 设置(settings)
			
设置(settings) 题目描述 如题所示,这将是一个关于设置的问题. 你需要通过对一个控制台进行设置,来得到不同的效果. 这个控制台由n个控制元件组成,每个元件有m种设置,其中i号元件的第j种设置 ...
 - POJ3680:Intervals(离散化+最大流最小费用)
			
Intervals Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9320 Accepted: 4014 题目链接:ht ...
 - jQuery UI-Draggable 参数集合
			
·概述 在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动. 官方示例地址:http://jqueryui.com/demos/draggable/ 所有 ...
 - nginx简易部署
			
Nginx (engine x) 可作为web反向代理服务器.能够代理外部网络上的主机,访问内部网络 1 首先windows下载nginx :http://nginx.org/download/ngi ...
 - Java Nio注意事项
			
Selector : public abstract class Selector extends Object SelectableChannel 对象的多路复用器. 可通过调用此类的 open ...
 - 自己写操作系统 2 - 安装bochs虚拟机
			
以ubuntu操作系统为例 一.命令行安装 sudo apt-get install vgabios bochs bochs-x bximage 此方法方便,不过都说这个方法安装的bochs没有调试功 ...
 - Nodejs将Buffer转化成Stream
			
编写接口的时候经常需要将上传的文件保存到数据库的情况,在nodejs中文件上传可以使用multer来接收上传的文件.如果不想保存到本地,而是直接保存到mongodb中,就要将buffer对象转化成流再 ...