7天证书试用 ios_apicloud打包成ios。您还未上传ios测试证书 - CSDN
精华内容
参与话题
  • 在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store。企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store。下面主要介

    app store为开发者提供四种类型的申请:

    • 个人ios开发者计划$99/年
    • 公司ios开发者计划$99/年
    • 企业ios开发者计划$299/年
    • 高校ios开发者计划免费

    在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store。企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store。下面主要介绍一下公司ios开发者计划的申请.

    申请帐号:

    1. 打开连接:http://developer.apple.com/programs/which-program/
    2. 选择公司ios开发者计划


    3.单击“Enroll Now”

    image

    4.点击continue

    image

    5.这时候问询你是否有苹果帐号。


    6.我需要创建一个新账户,然后继续clip_image007[1]

         这里要注意:点击crate Apple id 是不会出现7中的注册个人还是公司账户。只有只能先注册成功后,在从这里进入点击sign in 才会进入7的界面。 不要重复注册!

    7.问询:你要注册个人还是公司账户

    image

    个人:如果不需要在你的团队添加其他开发者那么可以以个人身份注册账户。在你上传应用到App Store上时,“销售者”一栏将会显示你的名字

    注意:

    • 只用于个人开发:只允许你获取计划资源
    • App Store的发布:在你上传应用到App Store上时,“销售者”一栏将会显示你的名字

    例如:

    clip_image011

    • l注册为个人账户需要:为身份认证儿提供的信用卡信息

    公司:若要在你的团队里添加开发者就注册公司账号。在你上传应用到App Store上时,“销售者”一栏将会显示你公司的名称

    注意:

    • 开发团队:可以在团队内添加开发者,可以共享项目资源
    • App Store的发布:在你上传应用到App Store上时,“销售者”一栏将会显示你公司的名称
    • 代表公司注册账户需要:

    clip_image001 合法的公司或组织名称

    clip_image001[1] 有些约束贵公司的任何有法律效力的协议,将会出现在你注册的过程中或你开发的过程中。

    clip_image001[2] 为我们提供的商务文档包括(但不仅限于此):公司章程,运营执照等,作为我们身份验证过程的一部分

    这里我们选择为公司注册clip_image013

    8.完善个人资料

    imageimage

    • 注:申请Apple ID的时候,First Name与Last Name,要填写个人资料,不要填公司名,一定要填写正确
      Personal Information
      First Name: San
      Last Name: Li
      Email Address:你的邮箱
      Company / Organization:公司英文名称
      Country:国家
      Street Address: 地址
      City/Town:所在城市
      State:所在省
      Postal Code:邮编
      Phone:   电话,格式为:86-20-电话号码
    • 完善个人资料(勾选部分)(根据个人需要勾选)

    clip_image051

    你要在哪个苹果平台上开发?选择全部要申请的平台。

    clip_image053 iOS平台

    clip_image055 Mac OS操作系统

    clip_image057 苹果浏览器

    clip_image059 你的基本市场是什么?

    中英对照表

    英文                     中文        英文                中文                 英文                     中文

    Business              商务       Medical            医疗                Reference              参考

    Education             教育       Music               音乐               SocialNetwork        社交网络

    Entertainment       娱乐       Navigation          导航               Sports                   体育

    Finance                金融       News                新闻               Travel                     旅行

    Games                游戏       Photography       摄影               Utilities                   实用程序

    Health&Fitness    医疗健康   Productivity       生产               Weather                天气

    Lifestyle               生活方式

    clip_image061

    如果你为高校注册请勾选此框

    clip_image063

    你计划开发哪类或哪几类iOS应用?选择全部你准备开发的应用

    (请参见中英对照表)

    clip_image065

    请选择你的应用的基本类型

    clip_image067 免费应用

    clip_image069 商业应用

    clip_image071 公司内部应用

    clip_image073 网络应用

    clip_image075

    你已经从事Apple平台应用开发多少年了?

    New to Apple platforms 新的Apple平台开发者

    < 1 year 小于一年

    1 to 3 years 一到三年

    3 to 5 years 三到五年

    5+ years 五年以上

    clip_image077你开发别的移动平台吗?

    Yes 是的

    No 不是

    clip_image079

    你开发过以下哪种移动平台?

    AndroidBREWSymbianBlackBerryPalmWindows MobileOther

    10.clip_image081

    注册苹果开发者协议

    clip_image083

    勾选确认接受协议

    clip_image085

    9.注册好ID之后,会收到邮件(Thank you for registering as an Apple Developer),告知你的Enrollment ID,登你注册后的Apple ID。

    10、将您邮件中圈出的认证码部分的数字输入下图填空处

    clip_image089

    11.此时,在您注册使用的邮箱中会收到一封信,下图红框处的名称即是您的Apple ID

    clip_image091

    12.单击clip_image093即进入公司认证界面,填写信息

    clip_image095

    注:Legal Entity Name一定要填写你所要注册的公司的英文名称,不要填写个人名称

    • 输入公司合法实体名称
    • 选择合法实体类型

    clip_image097

    Contact Information
    Website: 公司网址
    Country:国家
    Street Address:地址
    City/Town:城市
    State/Province:省份
    Select State
    Postal Code:邮编
    Phone:电话

    clip_image099

    提供公司合法的联系方式,若申请人有权代表公司,直接选择第二项

    注:
    First Name,Last Name,一定要填写公司注册宫业执照上的法人名称,
    Title:职称,我填的是CEO,
    Phone:可以填写你自己办公室总机号码。(注册的过程中,我填写的都是填的总机号码,同一个号码)
    Email:填写法人本人邮箱,这个无所谓,能用的邮箱就行

     

    13.选择你的项目

    clip_image101

    提交后页面跳转.

    14.浏览你的注册信息,若信息无误即可提交

    15.提交后,邮箱会收到一封邮件,其中包含你的注册信息。注册成功。

     

    app store付费

    上面已经介绍了app store id的注册了,下面在注册基础上,介绍一下app store的付费。

    在上面注册成功之后,会收到一封邮件。

    1.收到邮件Thank You for Submitting Your Enrollment
    Dear ****,
    Thank you for your interest in the iOS Developer Program. Your enrollment request has been received and is being processed.
    For your reference, below is a summary of your enrollment request:
    Enrollment ID:
    Program:
    iOS Developer Program
    Company:
    Name:
    Email:
    注:以上Enrollmenu ID,一定要记住。

    2.然后会有一个review的过程,大概一两天会有邮件(iOS Developer Program Enrollment )给你上传公司营业执照复印件与公司英文名称证明说明。
    iOS Developer Program Enrollment
    Please include the line below in follow-up emails for this request.
    Follow-up:  
    您好!
    这里是苹果开发者支持。
    请将贵公司的营业证明资料
    -《企业法人营业执照》及盖有公司公章的证明贵公司英文名称的文件
    传真至:+1-408-974-7683
    请在需要传送的文件中注明:
    - 您申请我们产品时获得的注册号码 Enrollment ID: SN7DJEDB5T
    - Follow-up number: 142888923
    - 贵公司的总机号码
    感谢您的协助.
    Best regards,
    Ken Wu
     Apple Developer Support
    注:以上的Follow-up:  一切要记住,后续打电话给苹果中国要查询跟踪进度。

    3.传真到+1-408-974-7683,将营业执照复印件,盖上自己公司公章,然后再打印一份,公司英文名称证明,加盖公章,我的格式如下:
    Enrollment ID:
    Follow-up number:
    Company Phone number:
    关于公司英文名称的证明
    兹证明______公司中文名称__________英文名称为_____公司英文名称______
    2011-3-11
    This is to certify that the company’s English name is ______公司英文名称________
    2011-3-11
    注:    

    • .营业执照上,与名称证明表上一定都要写上Enrollment ID和Follow-up number
    • 然后记得将公司营业执照与英文名称证明扫描一份文件出来,将两者压缩发送邮件附件到chinadev<chinadev@asia.apple.com>
      苹果工作人员:
      您好!
      我们公司申请了iOS Developer Program,
      Enrollment ID:
      Follow-up number:
      现已将公司资料传真至+1-408-974-7683,麻烦你们帮忙协助办理一下,谢谢。

    4.然后打个电话给苹果中国4006 701 855(Mon-Fri, 09:00-17:00 SGT),说你们已将资料传真过去,然后还发了附件到chinadev,告诉他们你的Follow-up number,让他们查找一下是否收到了邮件,然后他们就会很快帮忙处理
    你也就很快会收到邮件:
    Please include the line below in follow-up emails for this request.
    Follow-up:  
    Re: iOS Developer Program
    您好,
    谢谢您连络苹果开发人员支援部门。
    我们收到了您的文件。
    请了解我们正在处理您的申请中。如果有关于您注册新的资讯我们将会通知您。
    希望这讯息对您有帮助。再次谢谢您参与苹果开发人员计画。
    Best regards,
    (注:不打电话,只能干等着)

    5.收到邮件Apple Developer Program Enrollment Update
    Apple Developer Program Enrollment Update
    Dear RuJie Zhang,
    You can now continue the Apple Developer Program enrollment process by reviewing and agreeing to the Program License Agreement. You must click through this agreement in order to purchase or complete your enrollment in an Apple Developer Program(s).
    If you need further assistance, please contact us.
    Best regards,
    Apple Developer Support
    点击 Program License Agreement,继续申请过程。
    注:还是要不停的打苹果中国的电话,催他们帮忙处理,不然又要等好几天(态度要好点哈。嘿嘿)

    6、收到付款邮件,然后登陆Apple ID,下载purchase form.pdf,记录Program:
    iOS Developer Program US$99/year
    Enrollment ID:
    Person ID:
    Full Name:
    Email:
    Phone:
    用Photoshop打开purchase form.pdf,进行编辑
    第一项:选iOS Developer Program Standard USD$99*
    第二项:Enter your accept information:填写以上记录的Program资料
    第三项:Enter your billing information:填写你本人的信用卡信息,
    信用卡类型,Credit card number:信用卡号,Expiration date:有效期,CVV/CVC2 Code:卡后三位
    Name on card:信用卡账号人名称:填写拼音,必须与信用卡一致.
    注:以上必须与信用卡一致.
    第四项:Cardholder Signature:先不填,填完其它资料后打印出来,这个签名,手写中文签名
    第五项:填写你的邮箱

    7.将签名后purchase form扫描传真,然后发送一份附件到chinadev,并打电话给苹果中国告知你已传真purchase form过去,让他们帮忙快速处理一下。

    8.扣费成功后,就能用了。。

     

    注:传真或邮件,还有电话最好在周五前。。因为苹果中国,周末休息,会耽误两天时间。。

     

    app store权限管理

     

    在这里主要介绍一下app store的权限,开发可以分为四个权限:Admin Legal、Admin、Member、No Access。下面详细介绍一下这四个权限:

    • Admin Legal权限,超级管理员。可以管理开发者和管理app store中的应用。
    • Admin权限,管理员,可以管理开发者。添加测试机子和管理团队证书。
    • Member权限,是普通开发者。只能下载证书和使用证书
    • No Access权限,没有相应的权限。

    可以添加app store的用户管理。

    image

    image

    可以添加itunes 管理用户,也可以天界test 用户。

    • itunes管理用户,可以管理应用。
    • test用户,是测试内部支付的测试用户。

    应用上架的流程和操作步骤

    下面主要介绍一下,上架应用相关流程和相关的操作步骤:

    1. 登录itunes,https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa

    image

    2.点击管理"Manage Your Applications"

    image

    3.点击添加新应用

    image

    4.如果是第一次添加应用,而且没有添加过证书。需要添加证书。

      添加证书:

    image

    • 下载电脑证书,如果没有Distribution证书,要先制作Distribution证书,然后下载。

    image

    • 接下来是创建应用的app ids。这个id是唯一的,是上传应用的id。

    image

    image

    • 创建Distribution Provisioning Profiles,上传应用时使用。

    image

    image

    • 创建完之后,下载就ok了。

    5.创建应用,添加应用名字和选择相应的app id。

    image

    6、选择价格。我这里选择免费的。

    image

    7.添加app 内容

    image

    • Version Number  版本号
    • Description  应用描述信息
    • Primary Category 分类
    • Secondary Category (optional) 次分类
    • Keywords  搜索的关键字  多个关键字,应用多个逗号隔开
    • Copyright  版权所有
    • Contact Email Address  邮件联系地址
    • Support URL 公司url
    • App URL (optional)   app的url 可以不填写

    image

    • Review Notes (optional)   可以不填,如果应用需要登录,要在这里写上用于测试的用户名和密码。如果应用不能给苹果审核,需要相应的硬件,可以在这里提供产品视频的url。

    image

    image

    • 上传相应的产品icon和屏幕截屏

    8.点击上传应用

    image

    9.选择上传的应用是否加密二进制文件

    image

    10、选择继续

    image

    11、状态变为:Status Waiting For Upload

    12.利用xcode上传应用

    注意:

    • 如果上传的应用是5.0以下的版本,需要用xcode 4.0上传
    • 上传的是5.0版本以上的版本,需要用xcode 4.2上传
    • 上传的应用icon要72*72像素的

    13.填写相应的app id

    image

    14.选择相应的Distribution Provisioning

    image

    15.编辑,运行。

    16.选择xcode的product的Archive

    image

    17.选择提交应用

    image

    18.添加用户名和密码

    image

    19.选择等待上传的应用和相应的app 证书。

    image

    20.点击下一步,完了上传应用。

    21、上传完就ok了。

    应用内支付(In-App Purchase)

    IAP简介

    IAP的全称是In-App Purchase,应用内付费。这种业务模式允许用户免费下载试用,对应用内提供的商品选择消费,比如购买游戏道具,购买游戏等级等等。相比完全收费的应用而言,应用内付费给用户试用的机会,不会让优秀的应用因为缺乏用户的认知而丧失消费者;而且对于开发商,也不需要为了让用户试用而单独发布一款免费的精简版本。

    下面详细介绍一下应用内支付的详细步骤:

    1. 点开应用,点击manager in-app purchasesimage

    2.点击添加一个新的应用

    image

    4.选择相应的类型

    image

    IAP里有两个关键的词,商品(Product)和交易(Transaction)。
    商品可以是一种虚拟的道具,一个隐藏的关卡或者地图,但必须是直观的,可以让用户购买后直接获益的产品。IAP的商品从消费性质上分为四种:

    • 消耗型商品,比如游戏道具,子弹,药品等等。由于这类商品可以被消耗,所以支持重复购买。苹果应用商店不保存此类商品的购买记录,如果要保存则需要开发者同步到自己的服务器上。
    • 非消耗型商品,比如游戏关卡,隐藏地图等等。这类商品只要购买一次便可以了,苹果应用商店里每一个用户对非消耗型商品的购买都有记录,可以在不同的设备上恢复购买状态,这个恢复的过程叫做Restore。
    • 自动重置型订阅,比如电子杂志,读物等。消费者购买这类商品时会从列表中选择一个有效期限,卖家在定义商品的时候从一群固定的选项中选择添加一个有效期,比如7天,一个月,两个月。过了有效期之后,商品的购买状态会被自动重置成未购买,要想继续获得内容则需要再次订阅。这种类型的商品和非消耗型商品一样,会在苹果商店内保存购买记录。
    • 非自动重置型订阅,比如用户订阅电子杂志和读物报刊时需要从自定义的期限列表中选择期限,而不是苹果提供的固定选项,比如9天,一个半月或任意时间。在这种情况下,苹果商店无法根据期限来控制订阅的到期行为,所以一切都需要开发商自己编写相应的逻辑来实现。

    交易是指用户对一个商品的购买行为,当用户点击购买一件商品时,一个新的付费行为就被添加到付费队列中,付费队列是一条系统线程,即使应用程序终止仍然会继续执行。

    5.添加相应的应用信息

    image

    • Reference Name  应用名字
    • Product ID  应用的id
    • 添加语言和支付的名字

    image

    • 添加相应的价格

    image

    • 添加相应的图片

    image

    • 点击保存

    image

    6.测试IAP的准备流程

    如果你是一个注册的苹果开发者,接受了最新的苹果开发者协议,并且签署了iOS付费应用合同,那么你就可以继续IAP的测试了。

    • 使用未越狱的设备
    • 苹果应用商店是一个交易环境,任何用户可以在这个环境内购买应用,但如果要测试正在开发过程中的应用内付费,我们不能在真正的苹果商店里进行。苹果给开发者提供了一个用于调试购买行为的测试沙箱,它完全复制了应用商店的交易环境,但在沙箱环境中我们不能用平常的苹果帐号,而是需要用测试帐号。

      在iTunesConnect的首页可以点击Manage Users进入用户管理页面,然后选择Test User来创建测试帐号。根据苹果开发者的最新谢意,创建测试帐号必须使用一个真实的Email地址,而且密码必须是符合规范的,测试账号需要在邮件里激活后才可以使用。这里创建的帐号可以用来购买开发过程中的应用内付费,但必须记住,测试帐号不能用来登陆真正的应用商店并在产品环境中进行购买行为,否则你的iTunes帐号将有可能被停用。

    image

    7、实现ios开发

    测试代码:http://easymorse-iphone.googlecode.com/svn/trunk/PurchaseTest/

    • 在App Delegate中添加Observer
      [[ECPurchase shared] addTransactionObserver];
    • .设置ECPurchase的product delegate(产品列表代理),transaction delegate(购买结果代理),验证方式
      [[ECPurchase shared] setProductDelegate:self];
      [[ECPurchase shared] setTransactionDelegate:self];
      [[ECPurchase shared] setVerifyRecepitMode:ECVerifyRecepitModeiPhone];
    • .请求商品列表
      [[ECPurchase shared] requestProductData:identifiers];
    • 实现代理函数绘制UI
      -(void)didReceivedProducts:(NSArray *)products;
    • .购买商品
      [[ECPurchase shared] addPayment:proIdentifier];
    • .确认结果
      如果不需要收据认证实现代理函数
      -(void)didFailedTransaction:(NSString *)proIdentifier;
      -(void)didRestoreTransaction:(NSString *)proIdentifier;
      -(void)didCompleteTransaction:(NSString *)proIdentifier;
      否则实现代理函数
      -(void)didCompleteTransactionAndVerifySucceed:(NSString *)proIdentifier;
      -(void)didCompleteTransactionAndVerifyFailed:(NSString *)proIdentifier withError:(NSString *)error;

    运行内部支付demo,点击测试:

    image

    内部支付的逻辑:

    ipa-通信设计

    1. iOS App 向 Developer Server 发送请求,获得一份产品列表(一般都是 Product ID)。
      获取产品列表需要 iOS App 主动获得,这样就可以在不升级iOS的情况下添加产品。
    2. Developer Server 返回给 iOS App 包含 Product ID 的列表。
    3. iOS App 向 App Store 发送请求,期望获得到产品的信息。
    4. App Store 返回本地化产品信息。
      所谓本地化的产品信息指的是会根据目前所在的地区返回所在地区的描述信息。
      比如在中国地区,如果该产品有中文的描述,返回中文的描述,
      而如果你在美国,则返回的是英文的描述。
    5. iOS App 把返回的产品信息显示给用户(iOS App 的 Store 界面)
      这个就是商店界面了,包括,在前面请求希望获得产品信息的时候的等待界面。
    6. 用户选择某个产品。
    7. iOS App 向 App Store 发送支付请求。
    8. App Store 处理支付请求并返回交易完成信息。
    9. iOS App从返回交易完成的信息中获得数据,并发送至 Developer Server。
    10. Developer Server 记录数据,并进行审查。
      App Store Server 对于消耗型的商品,是不会保存购买记录的,所以需要 Developer 同步记录到 Developer Server 上。
      App Store Server 对于非消耗性的商品,在 App Store Server 是有记录可以查询的,可以通过 Restore 的方法恢复。
      而恢复的交易信息是新的,但是包含原始的交易信息。
      因此用户试图购买已经买过的非消耗性的商品时,iOS App 收到一个常规的交易信息,而不是恢复的交易信息,
      只不过用户不会被再次付费。因此程序应该把这类交易和原始的交易同等对待。
      其他订阅型的暂时没有测试。
      Developer Server 这边需要做逻辑的严格审查,看是否合理。
    11. Developer Server 将数据发给 App Store来验证该交易的有效性。
    12. App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识。
      App Store 有效性的验证地址会根据是测试还是实际购买有所不同
      测试:也称为Sandbox环境 https://sandbox.itunes.apple.com/verifyReceipt
      实际:https://buy.itunes.apple.com/verfyReceipt
    13. Developer Server 读取返回的数据,确定用户购买的内容。
    14. Developer Server 将购买的内容传递给 iOS App。
    15. iOS App 根据购买最早的结果进行处理。

    In App Purchase的注意点

    1.确保你所用来创建Profile的Apple ID启用了In App Purchase功能。
    2.确保你的Apple ID的identifier中没有*。
    3.确保你的bundle ID和你的Apple ID的identifier一致。
    4.确保你的product ID是唯一的。
    5.确保你在应用程序中所请求的product ID与你在iTunes Connect里添加的一致。
    6.确保你勾选了Clear for Sale。
    7.在测试的时候你可能需要等待你的商品添加入Apple的测试沙盒,这个过程可能需要几个小时。
    8.在你第一次上传应用程序的时候,确保勾选了需要绑定至该应用程序的商品列表。
    9.确保你是在SDK3.0以上编写的。

    内部支付参考:http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/


    展开全文
  • 企业版IDP的申请及“In House”发布

    万次阅读 热门讨论 2011-05-18 10:30:00
    网上关于个人版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有很多,但关于企业版IDP以及In House应用的讨论非常之少(尤其国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。

    企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。

    这种方式的IDP其最大的好处在于:可以发布“In House”应用。

    这种应用使用一种叫做“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不需要经过Apple的评审。你可以把“In House”应用通过任何方式发布给你的企业员工、用户及其他你认可的任何人,尤其适合于企业应用的开发。

    网上关于个人版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有很多,但关于企业版IDP以及In House应用的讨论非常之少(尤其国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。

    1、申请Apple ID

    这个步骤就不说了。

    2、申请邓白氏编码

    邓氏编码是美国联邦政府推荐使用的企业机构编码。可以看成是美国版的“组织机构代码”,只不过已经得到了联合国、澳大利亚政府、欧盟及美国政府的承认,成为了全球企业标准。

    苹果公司需要邓氏编码才能申请IDP企业版。这倒不是对国内企业的歧视,而是出于的美国商业习惯。在美国所有的采购合同和商业合同中,都会要求供应商提供一个DUNS(邓氏编码),否则对方可能不会跟你签合同。因为所有的美国企业都使用D&B公司的数据库,这样才能保证所有企业编码不会重复。

    申请邓氏编码在D&B公司的网站即可:

      http://www.dunsregistered.com/

    中文网站“华夏邓白氏”:

    http://dnbregistered.com.cn/

    在网站上提交注册申请后,等待1-2天,对方人员会跟你联系(Email)。

    原来以为申请会很麻烦(交流上),但实际上是由华夏邓白氏的中籍文员跟你联系的。

    邓白氏注册服务有几个版本,收费情况也不一样。笔者一开始收到的邮件是“实地核实”的版本,报价15200/2年。

    后来经与北京苹果联系,只需要购买最基本的“标准版”即可,报价8600元/2年, 有网友说2000-3000元/年,现在看来是不可能了 ,在这个物价飞涨的年代:-(。

    联系时一定要强调是购买标准版服务(最便宜),否则你可能会花冤枉钱。

    收到邮件后,把申请表、协议打印出来,填好并加盖公章,然后加上企业营业执照副本、扫描为电子的,发给对方邮箱。

    其实还有一个就是汇款水单(小票),需要发送给对方。这一步其实可以省略。笔者申请时并没有email汇款水单 ,只要对方确认汇款到帐即可。

    大约5-7天后,对方发来第2封邮件,告诉你贵公司的编码。此外还可以在网站上安装一个邓白氏电子标识——在网页上嵌入指定脚本,则会在页面上显示一个D&B图标,点击图标自动链接到D&B的网站并呈现你们公司的电子注册信息。

    3、申请IDP企业版

    登录苹果开发者网站iOS Dev Center,申请Apple Developer Program,只不过这次选择的是iOS Enterprise Program链接(在页面底部)。

    点击Apply Now,下一页Continue,下一页选择“Use an existing Apple ID”,Continue。

    下一页,输入你的Apple ID、密码登录。

    后面就是确认注册协议和填写你的公司资料了(英文)。内容最好同邓氏的一样,否则对方会打电话来确认,需要更改。

    填写完公司资料,还要填写委托人联系资料。注意委托人应该有代表公司签字的授权(公司认可,他们会在电话里确认)。

    提交资料后,可以在邮箱里收到苹果的邮件,内容大概是感谢你提交了申请,申请的编号是多少,公司名称、邮箱地址等等,如果你想看评审流程,可以登录Member Center。

    接下来就是等待苹果的电话了。

    这个过程大概要2-3天,对方会安排懂中文的人员来电话,如果没什么问题,接下来(电话之后几分钟)会收到苹果的第2封邮件,大意是要你点击邮件中的链接,查看一个协议(我不知道这个协议和第1个协议有什么不同,反正我直接点同意了)。

    协议同意后,显示一个页面,大意是你所申请的国家不支持在线购买苹果产品(在线支付),需要你下载一个pdf的purchase form:

    将它打印出来,根据要求填好,然后传真给苹果。

    注意,国内信用卡支持美元支付的一般是Visa卡(如招行)和Master卡(如交行),一定要找那种卡上印有“Visa”或”Master”标志的信用卡。

    Cvc2 code是指信用卡背面的那串数字(7位)的末3位。

    信用卡地址写申请信用卡时登记的地址。

    因为公司的传真机无法发送国际传真,我将purchase form扫描后发给了亚洲苹果      chinadev@asia.apple.com , 请其转交给 Billing 团队。

    亚洲苹果几分钟后自动回复了一封邮件,并在信中附了一个业务流水号: Follow-Up: 149653 xxx

    下次再给亚洲苹果联系时,可以附上这个业务流水号。

    然后3-5个工作日后,约早上6点多收到扣费成功短信(信用卡提供的功能)。登录邮箱后,果然收到了苹果的2封email,1封是发票,上面有你的发票号码,单位报账的时候把这封邮件内容打印出来就可以了。另1封是激活邮件,告诉你现在你的idp帐号已经生效了,你点击那个“login now”按钮可以登录到member center,这时可以看到你的developer program overview的状态已经改变。同时,Peoples中会包含一个成员,这个成员就是你注册IDP时所绑定的开发者帐号(Apple ID),同时也是该IDP的Team Admin或Agent。

    4、制作iOS 开发者证书

    4.1 在本机生成证书请求CSR

    打开“钥匙串”应用程序,修改偏好设置如下图所示:

    选择菜单“钥匙串访问 -> 证书助理-> 从证书颁发机构求证书”.

    注意,如果此时密钥中的某个私钥处于选中状态,则菜单会变为“钥匙串访问->证书助理->用<私钥>从证书颁发机构求证书”,这样制作出来的CSR是无效的。

    输入你的email地址和名字。确保email地址和名字与你注册为iOS开发者时登记的相一致。

    勾选Saved to Disk(保存到磁盘)及Let me specify key pair information(指定密钥对信息),然后点Continue。

    当选择了Let me specify key pair之后,会要求你指定文件保存位置。接下来按下图所示指定密钥对信息:

    Continue,即生成了CSR文件。一旦生成CSR,在“登录”钥匙串中会生成一对密钥对(一个私钥,一个公钥)。你可以在钥匙串的密钥栏中查看。

    4.2 提交CSR文件

    用企业版IDP绑定的Apple ID( 跟制作CSR时要求输的的可能不一致,这里是注册企业版时绑定的iOS开发者帐号,即Agent)登录iOS Provision Portal 。

     

    点击“Certificates-> Development” 中的 “Add Certificate”按钮。

    接下来点击最下面的“Choose file”按钮,选择所生成的CSR文件,然后点 “Submit”。如果密钥长度未设置未2048,Portal会拒绝CSR。

    提交CSR后,Team管理员(Agent)会收到一封提醒邮件,主题为 Certificate Request Requires Your Approval,提示你需要去同意该CSR。此时Agent需要登录Portal去同意该CSR。但实际上,Agent也可能根本不需要去点“同意”,Portal几秒钟后就自动同意了——笔者遇到的情况就是这样的。

    4.3 下载并安装开发者证书

    如果机器上未安装WWDR证书,请点击 “Certificate-> Distribution”中的链接“Saved Linked File to Downloads” ,以下载WWDR证书,并通过双击WWDR证书进行安装。

    在“Certificate -> Development”中, 在Your Certificate下会列出当前有效的开发者证书。 点击“Download”,即可下载到本机。下载后双击,即可安装到本机。 可以在钥匙串“证书”一栏中查看到导入的开发证书。

      Team 成员只能下载自己的iOS开发证书。Team管理员有权下载所有成员的公有证书。苹果不接受CSR中的私钥。私钥仅对创建者有效,并且必须存储在系统钥匙串里。

    4.4   保存私钥并迁移到其他系统

    如果你在多台电脑上进行开发或者重装系统,那么把私钥存储在安全的地方是件很重要的事情。如果没有私钥,你无法在Xcode中签名代码并进行真机调试。

    钥匙串在生成CSR时,就会在“登录”钥匙串中创建一个私钥。该私钥和你的用户帐号绑定,如果重装OS导致该私钥遗失,则该私钥无法再次生成。如果你想在多台电脑上开发和调试,你必须将私钥导入到每一台机器上:

    在钥匙串访问程序中,选择登录钥匙串的“密钥”。可以看到有许多密钥对,选择与你的开发者证书相对应的私钥(还记得创建CSR时要你输入的邮箱地址和名字吗?那个名字会显示在私钥的名字上)。然后选择菜单“文件->导出项目…”,将私钥保存为.p12格式(Personal Information Exchange)。当提示输入密码时,设置一个密码并记住它,它会在导入.p12文件时使用。现住,你可以把.p12文件拷贝到其他机器上并双击它进行安装,这时会提示你输入导出私钥时设置的密码。

    5、设备IDs

    所谓设备ID(device ID又称UDID)是Apple 设备上的40位16进制码,每台Apple设备的device ID都是唯一的,Apple以此来识别不同的iOS设备。

    我们通过在Provision Portal中录入设备的device ID,可以允许开发者在指定真实设备上进行调试。在Provision Portal中最多允许输入100个device ID。

    因此,录入device ID是后续制作Provision Profile的必需步骤(而Provision Profile又是真机调试的必需步骤)。

    5.1 获取device ID

    两种获取device ID的方式:

    Apple 设备(iPhone,iPod)连接电脑,打开Xcode的Orgnizer:

    Apple 设备(iPhone,iPod)连接电脑,打开iTunes:

    那个40位16进制的数字就是device ID。

    5.2 添加单个device ID

    Team管理员登录Provision Portal,点击Devices页面中的“Add Device”按钮,在其中输入:

    Device Name:设备名称,输入一个描述该设备的名字。

    UDID:即device ID。

    点击提交即可。

    6、创建App ID

    App ID是识别不同应用程序的唯一编码。如果你的程序要连接Apple Push Notification服务(一种push通知),需要用到App ID。如果应用程序之间要共享钥匙串数据,也会用到App ID。总之,App ID在iOS设备上大量被使用。在这里App ID的最大用处是制作真机调试用的Provision Profile(它需要提供一个App ID)。

    一个App ID有两部分构成:一个10位字符的Bundle Seed ID前缀,这个Bundle Seed ID由Apple分配,全球唯一,保证不会重复;一个Bundle Identifier后缀,这个Bundle Identifier由Team管理员指派,Apple建议用反域名规则命名这个Bundle Identifier。例如: 8E549T7128.com.apple.AddressBook.

    如果你写了一系列应用程序,它们共用相同的钥匙串(如共用密码),或者根本就不使用钥匙串访问,你可以只创建一个App ID,所有的应用程序都使用以星号结尾的App ID。这个星号就是通配符,只能用于App ID最后一个字符。例如,这个App ID可以是: R2T24EVAEE.com.domainname.* 或者 R2T24EVAEE.*

    6.1 创建App ID

    Agent或Team 管理员登录Provision Portal,点击“App ID”页面中的“New App ID”按钮。

    App ID Name:给这个App ID一个名字。如果存在多个App ID,每个App ID需要一个易于识别的名称。

    App ID:如前面所述,Bundle Seed ID是Apple分配的,其实这里只需要你输入Bundle Identifier。可以使用统配符*。

    7、制作开发者Provision Profile

    拥有了开发者证书(Development Certificate),只是表明你有权利在电脑上进行开发,在模拟器上运行程序,但你还不能在iPhone上运行你开发的程序。其实如果你只是在模拟器上调试程序的话,要不要开发者证书都无所谓,因为证书只是用来代码签名(Code Sign)的,如果在模拟器上跑的话,你可以选择不签名(don’t code sign)。

    如果要在真机上调试就不一样了。它需要一个Provision Profile,没有这个Provision Profile,苹果设备无法安装运行你开发的程序。这个Provision Profile中记录了一些信息:开发者证书、开发者Apple ID、一系列设备ID(开发者可以使用哪几部设备进行调试)。

    7.1 创建开发者Provision Profile

    Agent登录Provision Portal,在“Provisioning->Development”,点击“New Profile”按钮。

    Profile Name:输入Profile的名字,随意。

    Certificate: 选择开发者证书。

    App ID:选择一个App ID。

    Devices:设备ID列表。

     

    点击“Submit”,即会生成Development Provisioning Profile。

    7.2 安装Development Provision Profile

    所有Team成员都可以下载Development Provision Profile。但只有Profile中记录了设备ID的设备以及iOS开发者证书所指定的开发者能够使用这个Profile。

    Portal的“Provisioning->Development”,点击某个profile右边的“download”按钮。下载profile后,将下载到的文件拖拽到桌面Dock面板的Xcode图标上(或者直接拖到Xcode的Orgnizer中)。这会将profile文件拷贝到~/Library/MobileDevice/Provisioning Profiles目录。

    7.3 签名并调试

    Xcode中打开工程,选中 Target,打开info窗口,在Build面板中找到“Code Signing Identify”,打开并点击下面的“Any iOS Device” :

     

    在弹出菜单菜单中选择你的签名,该签名应当和一个灰色的Profile对应。这个Profile就是我们前面安装的Development Provision Profile。例如,我们在7.1中创建的Profile 的Profile Name为My First Development Provisioning Profile,那么我们选择的签名就是位于“My First Development Provisioning Profile”(显示为灰色)下面的Team Leader的开发证书。也就是说“My First Development Provisioning Profile”中绑定的开发证书是Team Leader签名的。

    Properties面板(其实就是info.plist中的内容),根据你的App ID设置你的Bundle Identifier。如果你的App ID是 A1B2C3D4E5.com.domainname.applicationname( 我们在前面创建的App ID),那么Bundle Identifier可以是 com.domainname.applicationname 。如果App ID使用了通配符,比如 A1B2C3D4E5.com.domainname.* ,则Bundle Identifier可以是com.domainname.<任意字符>。

    点击项目窗口左上角的下拉框,选择“ Device | Debug ”,然后点击“Build and Debug”按钮,编译并在真机上运行程序。

    8、发布应用程序

    发布应用程序需要使用发布证书(Distribution Certificate)。发布证书的制作,跟制作开发者证书的步骤是一样的,只不过使用的是Provision Portal的“Certificates->Distribution”功能。

    把制作号的发布证书下载、安装到本机。

    但是发布用的Provision Profile稍有不同。 企业版IDP只有两种发布方式:In House和Ad Hoc。两种Profile制作步骤稍有区别。 用In House方式发布是企业版IDP真正区别于其他版本的IDP所在。我们重点介绍In House方式的发布。

    8.1 制作In House 方式的Destribution Provision Profile

    Team Admin登录Provision Portal,打开“Provisioning Distribution”页面。

     

    Distribution Method:发布方式,选择In House。

    Profile Name:Profile名称,用于区别多个Profile。

    Distribution Certificate:选择要在Profile中绑定的发布证书。

    App ID:指定一个已有的AppID。

    Devices(optional):要绑定的device ID。由于In House方式可以在任何Apple 设备上发布,所以不需要设定Devices,这一项为空。

    点击“Submit”,生成Profile。将Profile下载到本地进行安装。方法:把Profile文件拖拽到Dock上的Xcode图标。

    8.2 制作Ad Hoc方式的Distribution Provision Profile

     

    Admin或Agent登录Provision Portal。 打开“Provisioning Distribution”页面。

    In House方式大同小异,只不过发布方式选择Ad Hoc,同在Devices(optional)栏勾选要绑定的device ID,最多可选择100个。

    点击“Submit”,生成Profile。将Profile下载到本地进行安装。

    8.3 编译In House发布版本

    打开你的工程。在工程的info窗口的Configuration面板,从Configuration列表中选择Release,点击 Duplicate”按钮,将复制出来的Configuration改名为Distribution。

     

    打开Target的Info窗口,在Build面板,将Configuration修改为Distribution:

     

     

     

    点击“Any iOS Device”,在弹出菜单中选择对应Profile下对应的发布证书,这个Profile应该就是前面6.1中制作并安装的In House 方式制作的Distribution Provision Profile(还记得Profile Name吗?):

     

     

    切换到Properties面板,在Identifier栏输入Bundle Identifier。该Bundle Identifier应根据App ID填写。

    在工程窗口,选择当前配置为Distribution:

     

    点击“File->New File”菜单,然后选择“Code Signing->Entitlements”:

     

    打开Entitlements.plist,反选“get-task-allow”,保存。 该选项允许其他进程(比如调试器)附加到你的程序,当然,在发布阶段,这个选项应当设置为false。

    注意,根据Apple的文档,iOS 4.0/Xcode3.2.3之后创建的Entitlements文件不再包括get-task-allow选项——默认情况下,如果Entitlements中没有get-task-allow选项,则不允许附加进程(即无法调试)。

    在调试配置下运行时,你不需要Entitlements文件,因此是允许附加进程的(可以进行调试)。但是有时候,你已经有了一个Entitlements文件(比如你已经运行过Distribution配置),如果你再次运行Debug配置,则程序无法启动,因为get-task-allow默认为false(iOS 4.0及Xcode3.2.3以后)。这种情况下,请手动添加一个boolean类型的get-task-allow键,并设置为false。

     

    再次打开Target的Build设置面板。在“Code Signing Entitlements”中,输入Entitlements.plist的文件名。

     

    点击“Build”编译。注意:你需要准备一个57*57像素的图标,iPhone和iPod会在主屏上显示该图标。

    选中工程文件夹Products下面的.app文件,然后点击Action下拉菜单中的Reveal in Finder。

    8.4 制作安装包

    iPhone应用程序的安装文件主要有两种:.ipa格式和.app格式。前者是以.ipa为后缀名的文件(已经包含了ProvisionProfile文件),后者实际是以.app为后缀的文件夹(不包含ProvisionProfile文件)。因此,前者可以直接发布给用户进行安装,而后者需要和ProvisionProfile文件打包在一起进行发布。

    8.4.1 制作ipa包

    当把.app文件安装到iTunes的资料库之后,应用程序就是以.ipa的方式存在了。在“资料库->应用程序”中选中这个应用程序图标,右键,选择“在Finder中显示”,然后就可以在Finder中把这个.ipa文件拷贝出来了。.ipa文件即可用后面的方法进行安装。

    8.4.2 制作rar/zip包

    把编译后的.app文件和ProvisionProfile文件一起压缩为rar/zip文件,即可发送给其他人进行安装,或者发布到网络上以供下载。注意,不要使用Mac自带的归档工具。因为windows使用ANSI编码而Mac使用Unicode编码,二者互不兼容,这样使用归档工具压缩出来的rar/zip包无法在windows下解开。你可以使用开源的压缩工具keka:

    http://www.kekaosx.com/release/Keka-0.1.4.2.dmg

    keka能制作在windows下兼容的压缩包。解压缩后的文件可用后面介绍的2种方法之一进行安装。如果一种方法不能安装,可换用另一种方法。

     

     

    8.5 安装应用程序

    Ad Hoc或In House发布的应用程序,可以将.app与Provision Profile文件打包在一起发送给用户。用户可以用两种方式安装:使用iTunes,或者使用iPhone配置使用工具。

    8.5.1 使用iTunes

    用户将压缩包中的.app和Provision Profile文件拖到iTunes的“资料库->应用程序”下,然后和iPhone/iPod进行同步。

    8.5.2 使用iPhone配置实用工具

    iPhone配置工具是完全免费的,你可以从这里下载:

    http://support.apple.com/kb/DL926?viewlocale=zh_CN

    安装后会在“应用程序/实用工具”中生成一个快捷方式“iPhone配置实用工具”。

    同样,将iPhone/iPod连上电脑,打开“iPhone配置实用工具”,将.app和Provision Profile文件拖放到“iPhone配置实用工具”的“资料库->应用程序”下,然后选中你的iPhone/iPod,在右边“安装或删除应用程序列表”中,点击某个应用程序右边的“安装”按钮进行安装。

     

    9、问题及错误

    如果Xcode出现Code sign错误:

    Code Sign Errors: profile doesn’t match any valid certificate/private key pair in the default keychain

    同时在Organizer中出现下列提示:

    A valid signing identity matching this profile could not be found in your keychain

    则需要把钥匙串中的所有证书和密钥删除,然后重新请求证书、修复provision profile、下载并安装,一般可以得到解决。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • IOS 7.1 在线安装IPA(OTA无线发布)整理

    千次阅读 2014-08-25 13:14:00
     开发完ios版本的app。需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装。用户安装过程简单描述如下: 首先通过手机浏览器safari或者扫描二维码获取到下载.plist的地址。然后浏览器会自动跳转到这个...

    本地服务器名:xampp 


    思路:


    1.将生成的 .plist文件放到dropbox中 复制分享链接  将连接写入到index.html中 

    2.将ipa程序包 放在本地或者上传到dropbox中 获取连接 写到.plist文件中

    3.将获得到的分享连接 www.dropbox.com 改成 dl.dropboxusercontent.com 就可以测试成功了!!!!!!!






    IOS 7.1在线安装IPA失败以及数字证书

    2014-06-20更新:增加对七牛云存储的HTTPS服务说明和又拍云的介绍。


    iOS 7.1在线安装IPA失败以及数字证书

    Enterprise app deployment doesn’t work on iOS 7.1 and CA

    错误现象

    在 iOS 升级到 7.1 之后,使用 Safari 在线安装企业版或者 AD-HOC 版本的IPA时,iOS会提示:

    无法安装应用程序,因为“xx.xx.xx” 的证书无效。

    这是一个蛋疼的提示,它的真正人类能懂的含义是:

    在 iOS 7.1 版本以后,请使用 HTTPS 部署此类安装。

    解决方案

    1. 部署自己的HTTPS服务器

    这种方案需要使用一个可信的证书颁发机构办法的证书,将其部署在自己的服务器上。配置自己的服务器软件(例如 Apache、Nginx等) 使其支持它。

    这是一劳永逸的解决方案,如果需要大量部署,那么此种方案是首选。

    注意,自己给自己颁发的证书是不行的。必须使用可信的证书颁发机构颁发的证书。这就意味着,你很可能需要付费。

    后面会讲到数字证书的部分,会稍稍展开一点。

    2. 使用已有的HTTPS服务器

    只需要找一个已经部署的HTTPS服务器,将我们的部署文件(plist)传到该服务器上即可。

    注意,为了保证下载速度,也为了保证域名的统一性,我们可以只把 plist 文件上传到HTTPS服务器上。

    例如,在我们的网站(http://my.http.server)上有一个在线安装IPA页面是这样的:



    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <title>Setup My App</title>

    </head>

    <body>

    <ul>

    <li><a href="itms-services://?action=download-manifest&url=http://my.http.server/myapp.plist"> Tap Here to Install My App</a>

    </li>

    </ul>

    </body>

    </html>


    由于 iOS 7.1 不支持通过 HTTP 服务器在线安装IPA,我们需要修改其中的链接,将其改到 HTTPS 服务器上。请注意修改过的前缀和域名。



    1

    <a href="itms-services://?action=download-manifest&url=https://my.HTTPS.server/myapp.plist"> Tap Here to Install My App</a>


    我们只需要把这个plist文件上传到HTTPS服务器即可,用户仍然可以访问原来的HTTP来进行下载。IPA文件也可以放在HTTP服务器上。



    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    <?xml version="1.0"encoding="UTF-8"?>

    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

    <plist version="1.0">

    <dict>

        <key>items</key>

        <array>

            <dict>

                <key>assets</key>

                <array>

                    <dict>

                        <key>kind</key>

                        <string>software-package</string>

                        <key>url</key>

                        <string>http://my.http.server/myapp.ipa</string>

                    </dict>

                </array>

                <key>metadata</key>

                <dict>

                    <key>bundle-identifier</key>

                    <string>us.1201.lulala</string>

                    <key>bundle-version</key>

                    <string>1.0</string>

                    <key>kind</key>

                    <string>software</string>

                    <key>title</key>

                    <string>My App</string>

                </dict>

            </dict>

        </array>

    </dict>

    </plist>


    而且,在 iOS 7.1 以下的系统中,也可以支持 HTTPS 服务器。所以这个修改对所有iOS系统都生效。

    3. 使用免费的 HTTPS 服务器

    如果你找不到拥有 HTTPS 服务器的土豪朋友,那么可以使用下面两种免费的方案:

    • DropBox 这位美国土豪提供免费服务。只需要把你的plist文件传到 dropbox 的 public 共享区并 Copy public link 得到公共下载地址就行了。
    • 七牛云存储 这位中国土豪也支持 HTTPS ,服务同样免费(有流量限制),速度在国内访问更快,方法类似。
      在使用七牛的时候要注意,七牛默认提供的外网访问地址,使用HTTPS协议直接访问时浏览器会提示证书无效。可参考 如何通过 SSL 的形式来访问七牛云存储上的资源 重新绑定一个 qbox.me 域名来实现HTTPS访问。
    • 又拍云 也支持HTTPS服务,但仅支持7天试用。

    2014-06-20更新:

    最近DropBox在国内抽风,估计离永久屏蔽也不远了,还是早点转吧。

    数字证书

    由于考虑自己架设 HTTPS 服务器,于是找了一些数字证书的资料放在这里备查。

    • 如果一定要使用自签名的证书或者来发布自己的App,那么可以要求iOS系统使用者在TA的设备上把你的证书加入信任。具体参考:Adding CA Cert root and personal certificates to your iPhone, iPod or iPad 。(对于苹果小白来说,这个很难…)
    • 一些证书颁发机构可以免费申请30天、60天的试用证书,例如:试用型 SSL 证书(Free Trial SSL) 和 StartSSL
    • Godaddy 有一个面向开源项目1年免费的计划。
    • 还有一些证书每年大约只要6刀,Google可以得到信息。
    • 不要在国内的证书颁发机构购买证书。
    • 不要信任CNNIC的根证书。

    还有一些链接:


    ios升级到7.1时,企业证书http服务器发布无线安装不能使用,需要使用https服务器,这个前面的一篇已经说过了。

    这里说说Https服务器的几种方式

    1.测试时自签名https证书测试无效,提示不能连接到服务器

    2.使用dropbox共享连接https服务,https://www.dropbox.com/s/xxx/x.plist,同样提示不能连接dropbox服务器

    3.替换 "www.dropbox.com" 成 "dl.dropboxusercontent.com",无线安装测试成功


    注:dropbox的使用真的很方便,我又崇洋媚外了!





    使用七牛云存储解决ios7.1的app部署问题

     一.问题描述

             开发完ios版本的app。需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装。用户安装过程简单描述如下:

    首先通过手机浏览器safari或者扫描二维码获取到下载.plist的地址。然后浏览器会自动跳转到这个地址,下载、读取.plist。(用户跳转的地址是.plist的下载地址。)这个过程,显然使用http协议来下载.plist文件。最后,iphone通过读取.plist文件中配置的.ipa下载地址,来安装.ipa文件,来完成ios版本的app。

    举例,网站首页中,下载.plist的代码:

    <ahref="itms-services://?action=download-manifest&url=http://www.ekwing.com/ekwing.plist"class="mobile-ios"></a>

    但是,苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件。也就说,在安装app的第一步,下载.plist文件,需要使用https协议。https协议如下:

    这里不详细描述https协议。HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(如VeriSign、Microsoft等)(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的HTTPS连接可被信任,当且仅当

    1.     用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;

    2.     用户相信证书颁发机构仅信任合法的网站;

    3.     被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);

    4.     该证书正确地验证了被访问的网站(如,访问https://example时收到了给“Example Inc.”而不是其它组织的证书);

    5.     或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。

    简单描述,用户使用https来下载.plist文件。则需要网站支持https协议。支持https协议,除了服务端做一些配置外,还需要申请一个数据签名证书。这个签名证书是由签发机构签发的。不能自己配置生成。而申请签名证书需要一段时间。而我们的目的只是希望能够让我们的app被用户正常下载安装即可。

    二.问题分析

    解决该问题,就2个方法:

    1.自己网站服务上配置https服务,并购买数字签名证书以保证每种类型及其不同版本的浏览器能够安装了证书颁发机构颁发的,我们购买的数据签名证书。时间开销7天左右。

    2.将app文件托管到支持https协议的第三方服务器上。

    三.解决问题

    使用七牛云存储,可以快速,免费解决这个问题。只需要到http://www.qiniu.com/注册一个账号。然后,开通https协议的域名即可。最后将.plist和.ipa文件上传到七牛云存储上即可。操作过程,非常简单。只要注意几点:

    1.      开通一个http协议的域名,和一个https协议的域名。

    如上图。后缀名是.qiniudn.com的是支持http协议的域名。后缀名是.qbox.me的是支持https协议的域名。上传.plist、.ipa到七牛云存储。

     

    2.      修改下载.plist文件的地址,修改.plist文件内容。

    网站首页,下载.plist地址改成上传到七牛云存储上的支持https协议(域名后缀名是.qbox.me)的下载链接地址。

                               <ahref="itms-services://?action=download-manifest&url=https://dn-ekwing.qbox.me/ekwing.plist"class="mobile-ios"></a>

    3.      将.plist文件内容中,.ipa的下载地址,改成七牛云存储上的支持http协议(后缀名是.qiniudn.com)

    <string>http://ekwing.qiniudn.com/ekwing.ipa</string>

    4.      总结,.plist的下载用https协议,而.ipa的下载用http协议即可。修改完后,就可应用ios6、ios7、ios7.1进行测试了。

     

    四.   感谢七牛云存储

             感谢七牛运存储提供免费服务。不过,目前防盗链还不能用。希望能够加上防盗链功能。

     

    五.   因ios7.1安装app,需要用https协议而提示的错误

    无法安装应用程序因为证书无效

     

    <Warning>:[ERROR]: Cannot load non-https manifest URL:http://192.168.1.22/ekwing.plist

     

    <Warning>:Could not load download manifest with underlying error: ErrorDomain=SSErrorDomain Code=128 "无法连接" UserInfo=0x1669d990 {NSLocalizedDescription=无法连接}

     

    <Warning>: NSURLConnection/CFURLConnection HTTP loadfailed (kCFStreamErrorDomainSSL, -9813)

    <Warning>: Could not load download manifest withunderlying error: Error Domain=NSURLErrorDomain Code=-1202 "无法连接到商店" UserInfo=0x166bc640{NSLocalizedDescription=无法连接到商店,NSLocalizedRecoverySuggestion=您仍要连接此服务器吗?,NSLocalizedFailureReason=无法建立安全连接。请检查“日期与时间”设置。,NSErrorFailingURLStringKey=https://192.168.1.22/ekwing.plist,NSUnderlyingError=0x165b37e0 "此服务器的证书无效。您可能正在连接到一个伪装成“192.168.1.22”的服务器,这会威胁到您的机密信息的安全。",NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef:0x166b83e0>,NSErrorFailingURLKey=https://192.168.1.22/ekwing.plist}

    iOS 开发 入门:使用Ad Hoc 进行用户测试

    在完成iOS开发,准备进行发布之前,我们都希望App能在周围的朋友之间先进行测试,提提意见,修改完善之后再发布到App Store上。Apple考虑到这一点,因此通过Ad Hoc来实现发布前的用户测试。从另一个角度讲也就是通过Ad Hoc 将未发布的App 给其他人提前免费使用。

    关于Ad Hoc的使用其实很简单,在Apple Developer官网的页面上也有详细的介绍。首先要注意的是我们的App只能通过Ad Hoc分享给绑定我们账号的设备上,所以至是一百台。然后看一下官方说明的步骤。

    Step 1:创建并下载一个iOS 发布证书。这个一般我们在创建iOS开发证书后都会顺便创建。
    Step 2:创建并下载一个Ad Hoc Distribution Provisioning Profile ,就是Ad Hoc 发布配置文件。这个很好办,在网站中点击Provisioning选项,点击new profile创建,要填写的信息如下:

    Distribution method

    Ad Hoc

    Profile name

    <App_Name> User Testing Profile

    App ID

    Appropriate app ID for the app being tested

    Devices

    Tester’s device identifier

    这些信息想必谁都会填,就是在Devices上选中要分享的设备。创建完之后下载。

    Step 3:这一步其实就是在Xcode中创建我们的软件的App文件。具体一共算三步:

    (1)打开Xcode;
    (2)点击工具栏上的Product ->Archive,对App进行打包;
    (3)在Organizer的Archives中就有你打包的App了,点击Distribute,选择 Ad Hoc,如下图

    之后保存,就得到.ipa 文件。

    Step 4:这一步就是把ipa文件和配置文件通过各种方式发送给要测试的朋友的电脑上,打开itunes,将配置文件先拉进itunes,然后将ipa文件也拉进去,同步就OK了。

    转载,请注明原地址 http://blog.csdn.net/longxibendi/article/details/37601747

    展开全文
  • iOS企业开发者计划介绍及使用方法

    万次阅读 2012-05-23 17:56:45
    现在苹果公司有三种计划可以注册:个人计划、企业个人计划、企业开发者计划。   * 个人计划:以个人身份注册、发布程序至Apple Store、作者的名字是个人的。 * 企业个人计划:以企业身份注册、发布程序至Apple ... ...
    现在苹果公司有三种计划可以注册:个人计划、企业个人计划、企业开发者计划。
     
    * 个人计划:以个人身份注册、发布程序至Apple Store、作者的名字是个人的。
    * 企业个人计划:以企业身份注册、发布程序至Apple Store、作者可以是个人、也可以是团队。
    * 企业开发者计划:以企业身份注册、发布程序至个人服务器、不能发布到Apple Store

    http://www.apple.com.cn/developer/support/ios/enterprise.html

    什么人应该申请 iOS 开发者企业计划?

    如开发者希望在 iPhone 或者 iPod touch 上创建专有的内用应用程序,且其公司雇员不下 500 人,则应申请 iOS 开发者企业计划。在注册企业计划时,开发者需要向苹果公司提供 D-U-N-S 号码。

    没有 D-U-N-S 号码的企业能否注册 iOS 开发者企业计划?

    注册 iOS 开发者企业计划需要 D-U-N-S 号码。只有先从 Dun & Bradstreet 取得 D-U-N-S 号码才能注册该计划。

    注册 iOS 开发者企业计划之后,我能否在 App Store 发布应用程序?

    只有以个人或公司名义注册 iOS 开发者计划才能在 App Store 发布应用程序。如果您注册了 iOS 开发者企业计划,则只能通过 Ad Hoc 发布将应用程序发布给组织的会员或员工使用。 如果您的公司已注册企业计划而又希望通过 App Store 向客户发布应用程序,则需以个人或者公司名义注册加入 iOS 开发者计划

    我是一名开发人员,希望为我的客户创建机构内部使用的应用程序。我能否加入 iOS 开发者企业计划以达成这一构想?

    不行。因为 iOS Developer Enterprise 应用于开发和发布机构内部使用的私有应用程序,而且程序仅能供给您公司(注册企业计划的公司)的雇员使用。


    http://blog.csdn.net/kmyhy/article/details/6418280

    企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。

    这种方式的IDP其最大的好处在于:可以发布“In House”应用。

    这种应用使用一种叫做“In House Distribution Provisioning Profile”的文件进行发布,不能发布到Apple Shop进行销售,也不需要经过Apple的评审。你可以把“In House”应用通过任何方式发布给你的企业员工、用户及其他你认可的任何人,尤其适合于企业应用的开发。

    网上关于个人版/公司版IDP申请流程,以及将应用发布到苹果商店的介绍有很多,但关于企业版IDP以及In House应用的讨论非常之少(尤其国内)。下面,笔者将对这两方面的问题进行一个全面细致的介绍。

    1、申请Apple ID

    这个步骤就不说了。

    2、申请邓白氏编码

    邓氏编码是美国联邦政府推荐使用的企业机构编码。可以看成是美国版的“组织机构代码”,只不过已经得到了联合国、澳大利亚政府、欧盟及美国政府的承认,成为了全球企业标准。

    苹果公司需要邓氏编码才能申请IDP企业版。这倒不是对国内企业的歧视,而是出于的美国商业习惯。在美国所有的采购合同和商业合同中,都会要求供应商提供一个DUNS(邓氏编码),否则对方可能不会跟你签合同。因为所有的美国企业都使用D&B公司的数据库,这样才能保证所有企业编码不会重复。

    申请邓氏编码在D&B公司的网站即可:

      http://www.dunsregistered.com/

    中文网站“华夏邓白氏”:

    http://dnbregistered.com.cn/

    在网站上提交注册申请后,等待1-2天,对方人员会跟你联系(Email)。

    原来以为申请会很麻烦(交流上),但实际上是由华夏邓白氏的中籍文员跟你联系的。

    邓白氏注册服务有几个版本,收费情况也不一样。笔者一开始收到的邮件是“实地核实”的版本,报价15200/2年。

    后来经与北京苹果联系,只需要购买最基本的“标准版”即可,报价8600元/2年, 有网友说2000-3000元/年,现在看来是不可能了 ,在这个物价飞涨的年代:-(。

    联系时一定要强调是购买标准版服务(最便宜),否则你可能会花冤枉钱。

    收到邮件后,把申请表、协议打印出来,填好并加盖公章,然后加上企业营业执照副本、扫描为电子的,发给对方邮箱。

    其实还有一个就是汇款水单(小票),需要发送给对方。这一步其实可以省略。笔者申请时并没有email汇款水单 ,只要对方确认汇款到帐即可。

    大约5-7天后,对方发来第2封邮件,告诉你贵公司的编码。此外还可以在网站上安装一个邓白氏电子标识——在网页上嵌入指定脚本,则会在页面上显示一个D&B图标,点击图标自动链接到D&B的网站并呈现你们公司的电子注册信息。

    3、申请IDP企业版

    登录苹果开发者网站iOS Dev Center,申请Apple Developer Program,只不过这次选择的是iOS Enterprise Program链接(在页面底部)。

    点击Apply Now,下一页Continue,下一页选择“Use an existing Apple ID”,Continue。

    下一页,输入你的Apple ID、密码登录。

    后面就是确认注册协议和填写你的公司资料了(英文)。内容最好同邓氏的一样,否则对方会打电话来确认,需要更改。

    填写完公司资料,还要填写委托人联系资料。注意委托人应该有代表公司签字的授权(公司认可,他们会在电话里确认)。

    提交资料后,可以在邮箱里收到苹果的邮件,内容大概是感谢你提交了申请,申请的编号是多少,公司名称、邮箱地址等等,如果你想看评审流程,可以登录Member Center。

    接下来就是等待苹果的电话了。

    这个过程大概要2-3天,对方会安排懂中文的人员来电话,如果没什么问题,接下来(电话之后几分钟)会收到苹果的第2封邮件,大意是要你点击邮件中的链接,查看一个协议(我不知道这个协议和第1个协议有什么不同,反正我直接点同意了)。

    协议同意后,显示一个页面,大意是你所申请的国家不支持在线购买苹果产品(在线支付),需要你下载一个pdf的purchase form:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     


    将它打印出来,根据要求填好,然后传真给苹果。

    注意,国内信用卡支持美元支付的一般是Visa卡(如招行)和Master卡(如交行),一定要找那种卡上印有“Visa”或”Master”标志的信用卡。

    Cvc2 code是指信用卡背面的那串数字(7位)的末3位。

    信用卡地址写申请信用卡时登记的地址。

    因为公司的传真机无法发送国际传真,我将purchase form扫描后发给了亚洲苹果     chinadev@asia.apple.com , 请其转交给 Billing 团队。

    亚洲苹果几分钟后自动回复了一封邮件,并在信中附了一个业务流水号: Follow-Up: 149653 xxx

    下次再给亚洲苹果联系时,可以附上这个业务流水号。

    然后3-5个工作日后,约早上6点多收到扣费成功短信(信用卡提供的功能)。登录邮箱后,果然收到了苹果的2封email,1封是发票,上面有你的发票号码,单位报账的时候把这封邮件内容打印出来就可以了。另1封是激活邮件,告诉你现在你的idp帐号已经生效了,你点击那个“login now”按钮可以登录到member center,这时可以看到你的developer program overview的状态已经改变。同时,Peoples中会包含一个成员,这个成员就是你注册IDP时所绑定的开发者帐号(Apple ID),同时也是该IDP的Team Admin或Agent。

    4、制作iOS 开发者证书

    4.1 在本机生成证书请求CSR

    打开“钥匙串”应用程序,修改偏好设置如下图所示:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    选择菜单“钥匙串访问 -> 证书助理-> 从证书颁发机构求证书”.

    注意,如果此时密钥中的某个私钥处于选中状态,则菜单会变为“钥匙串访问->证书助理->用<私钥>从证书颁发机构求证书”,这样制作出来的CSR是无效的。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    输入你的email地址和名字。确保email地址和名字与你注册为iOS开发者时登记的相一致。

    勾选Saved to Disk(保存到磁盘)及Let me specify key pair information(指定密钥对信息),然后点Continue。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心

    当选择了Let me specify key pair之后,会要求你指定文件保存位置。接下来按下图所示指定密钥对信息:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     
     
     

    Continue,即生成了CSR文件。一旦生成CSR,在“登录”钥匙串中会生成一对密钥对(一个私钥,一个公钥)。你可以在钥匙串的密钥栏中查看。

    4.2 提交CSR文件

    用企业版IDP绑定的Apple ID( 跟制作CSR时要求输的的可能不一致,这里是注册企业版时绑定的iOS开发者帐号,即Agent)登录iOS Provision Portal 。

     

    点击“Certificates-> Development” 中的 “Add Certificate”按钮。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     
     接下来点击最下面的“Choose file”按钮,选择所生成的CSR文件,然后点 “Submit”。如果密钥长度未设置未2048,Portal会拒绝CSR。

    提交CSR后,Team管理员(Agent)会收到一封提醒邮件,主题为 Certificate Request Requires Your Approval,提示你需要去同意该CSR。此时Agent需要登录Portal去同意该CSR。但实际上,Agent也可能根本不需要去点“同意”,Portal几秒钟后就自动同意了——笔者遇到的情况就是这样的。

    4.3 下载并安装开发者证书

    如果机器上未安装WWDR证书,请点击 “Certificate-> Distribution”中的链接“Saved Linked File to Downloads” ,以下载WWDR证书,并通过双击WWDR证书进行安装。

    在“Certificate -> Development”中, 在Your Certificate下会列出当前有效的开发者证书。 点击“Download”,即可下载到本机。下载后双击,即可安装到本机。 可以在钥匙串“证书”一栏中查看到导入的开发证书。

      Team 成员只能下载自己的iOS开发证书。Team管理员有权下载所有成员的公有证书。苹果不接受CSR中的私钥。私钥仅对创建者有效,并且必须存储在系统钥匙串里。

    4.4   保存私钥并迁移到其他系统

    如果你在多台电脑上进行开发或者重装系统,那么把私钥存储在安全的地方是件很重要的事情。如果没有私钥,你无法在Xcode中签名代码并进行真机调试。

    钥匙串在生成CSR时,就会在“登录”钥匙串中创建一个私钥。该私钥和你的用户帐号绑定,如果重装OS导致该私钥遗失,则该私钥无法再次生成。如果你想在多台电脑上开发和调试,你必须将私钥导入到每一台机器上:

    在钥匙串访问程序中,选择登录钥匙串的“密钥”。可以看到有许多密钥对,选择与你的开发者证书相对应的私钥(还记得创建CSR时要你输入的邮箱地址和名字吗?那个名字会显示在私钥的名字上)。然后选择菜单“文件->导出项目…”,将私钥保存为.p12格式(Personal Information Exchange)。当提示输入密码时,设置一个密码并记住它,它会在导入.p12文件时使用。现住,你可以把.p12文件拷贝到其他机器上并双击它进行安装,这时会提示你输入导出私钥时设置的密码。

    5、设备IDs

    所谓设备ID(device ID又称UDID)是Apple 设备上的40位16进制码,每台Apple设备的device ID都是唯一的,Apple以此来识别不同的iOS设备。

    我们通过在Provision Portal中录入设备的device ID,可以允许开发者在指定真实设备上进行调试。在Provision Portal中最多允许输入100个device ID。

    因此,录入device ID是后续制作Provision Profile的必需步骤(而Provision Profile又是真机调试的必需步骤)。

    5.1 获取device ID

    两种获取device ID的方式:

    Apple 设备(iPhone,iPod)连接电脑,打开Xcode的Orgnizer:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    Apple 设备(iPhone,iPod)连接电脑,打开iTunes:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    那个40位16进制的数字就是device ID。

    5.2 添加单个device ID

    Team管理员登录Provision Portal,点击Devices页面中的“Add Device”按钮,在其中输入:

    Device Name:设备名称,输入一个描述该设备的名字。

    UDID:即device ID。

    点击提交即可。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    6、创建App ID

    App ID是识别不同应用程序的唯一编码。如果你的程序要连接Apple Push Notification服务(一种push通知),需要用到App ID。如果应用程序之间要共享钥匙串数据,也会用到App ID。总之,App ID在iOS设备上大量被使用。在这里App ID的最大用处是制作真机调试用的Provision Profile(它需要提供一个App ID)。

    一个App ID有两部分构成:一个10位字符的Bundle Seed ID前缀,这个Bundle Seed ID由Apple分配,全球唯一,保证不会重复;一个Bundle Identifier后缀,这个Bundle Identifier由Team管理员指派,Apple建议用反域名规则命名这个Bundle Identifier。例如: 8E549T7128.com.apple.AddressBook.

    如果你写了一系列应用程序,它们共用相同的钥匙串(如共用密码),或者根本就不使用钥匙串访问,你可以只创建一个App ID,所有的应用程序都使用以星号结尾的App ID。这个星号就是通配符,只能用于App ID最后一个字符。例如,这个App ID可以是: R2T24EVAEE.com.domainname.* 或者 R2T24EVAEE.*

    6.1 创建App ID

    Agent或Team 管理员登录Provision Portal,点击“App ID”页面中的“New App ID”按钮。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    App ID Name:给这个App ID一个名字。如果存在多个App ID,每个App ID需要一个易于识别的名称。

    App ID:如前面所述,Bundle Seed ID是Apple分配的,其实这里只需要你输入Bundle Identifier。可以使用统配符*。

    7、制作开发者Provision Profile

    拥有了开发者证书(Development Certificate),只是表明你有权利在电脑上进行开发,在模拟器上运行程序,但你还不能在iPhone上运行你开发的程序。其实如果你只是在模拟器上调试程序的话,要不要开发者证书都无所谓,因为证书只是用来代码签名(Code Sign)的,如果在模拟器上跑的话,你可以选择不签名(don’t code sign)。

    如果要在真机上调试就不一样了。它需要一个Provision Profile,没有这个Provision Profile,苹果设备无法安装运行你开发的程序。这个Provision Profile中记录了一些信息:开发者证书、开发者Apple ID、一系列设备ID(开发者可以使用哪几部设备进行调试)。

    7.1 创建开发者Provision Profile

    Agent登录Provision Portal,在“Provisioning->Development”,点击“New Profile”按钮。

    Profile Name:输入Profile的名字,随意。

    Certificate: 选择开发者证书。

    App ID:选择一个App ID。

    Devices:设备ID列表。

     

    点击“Submit”,即会生成Development Provisioning Profile。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    7.2 安装Development Provision Profile

    所有Team成员都可以下载Development Provision Profile。但只有Profile中记录了设备ID的设备以及iOS开发者证书所指定的开发者能够使用这个Profile。

    Portal的“Provisioning->Development”,点击某个profile右边的“download”按钮。下载profile后,将下载到的文件拖拽到桌面Dock面板的Xcode图标上(或者直接拖到Xcode的Orgnizer中)。这会将profile文件拷贝到~/Library/MobileDevice/Provisioning Profiles目录。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    7.3 签名并调试

    Xcode中打开工程,选中 Target,打开info窗口,在Build面板中找到“Code Signing Identify”,打开并点击下面的“Any iOS Device” :

     

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    在弹出菜单菜单中选择你的签名,该签名应当和一个灰色的Profile对应。这个Profile就是我们前面安装的Development Provision Profile。例如,我们在7.1中创建的Profile 的Profile Name为My First Development Provisioning Profile,那么我们选择的签名就是位于“My First Development Provisioning Profile”(显示为灰色)下面的Team Leader的开发证书。也就是说“My First Development Provisioning Profile”中绑定的开发证书是Team Leader签名的。

    Properties面板(其实就是info.plist中的内容),根据你的App ID设置你的Bundle Identifier。如果你的App ID是A1B2C3D4E5.com.domainname.applicationname( 我们在前面创建的App ID),那么Bundle Identifier可以是 com.domainname.applicationname 。如果App ID使用了通配符,比如 A1B2C3D4E5.com.domainname.* ,则Bundle Identifier可以是com.domainname.<任意字符>。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    点击项目窗口左上角的下拉框,选择“ Device | Debug ”,然后点击“Build and Debug”按钮,编译并在真机上运行程序。

    8、发布应用程序

    发布应用程序需要使用发布证书(Distribution Certificate)。发布证书的制作,跟制作开发者证书的步骤是一样的,只不过使用的是Provision Portal的“Certificates->Distribution”功能。

    把制作号的发布证书下载、安装到本机。

    但是发布用的Provision Profile稍有不同。 企业版IDP只有两种发布方式:In House和Ad Hoc。两种Profile制作步骤稍有区别。 用In House方式发布是企业版IDP真正区别于其他版本的IDP所在。我们重点介绍In House方式的发布。

    8.1 制作In House 方式的Destribution Provision Profile

    Team Admin登录Provision Portal,打开“Provisioning Distribution”页面。

     

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    Distribution Method:发布方式,选择In House。

    Profile Name:Profile名称,用于区别多个Profile。

    Distribution Certificate:选择要在Profile中绑定的发布证书。

    App ID:指定一个已有的AppID。

    Devices(optional):要绑定的device ID。由于In House方式可以在任何Apple 设备上发布,所以不需要设定Devices,这一项为空。

    点击“Submit”,生成Profile。将Profile下载到本地进行安装。方法:把Profile文件拖拽到Dock上的Xcode图标。

    8.2 制作Ad Hoc方式的Distribution Provision Profile

     

    Admin或Agent登录Provision Portal。 打开“Provisioning Distribution”页面。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

    In House方式大同小异,只不过发布方式选择Ad Hoc,同在Devices(optional)栏勾选要绑定的device ID,最多可选择100个。

    点击“Submit”,生成Profile。将Profile下载到本地进行安装。

    8.3 编译In House发布版本

    打开你的工程。在工程的info窗口的Configuration面板,从Configuration列表中选择Release,点击 Duplicate”按钮,将复制出来的Configuration改名为Distribution。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     
     

     

    打开Target的Info窗口,在Build面板,将Configuration修改为Distribution:

     

     

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     
     

     

    点击“Any iOS Device”,在弹出菜单中选择对应Profile下对应的发布证书,这个Profile应该就是前面6.1中制作并安装的In House 方式制作的Distribution Provision Profile(还记得Profile Name吗?):

     

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

     

    切换到Properties面板,在Identifier栏输入Bundle Identifier。该Bundle Identifier应根据App ID填写。

    在工程窗口,选择当前配置为Distribution:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

     

    点击“File->New File”菜单,然后选择“Code Signing->Entitlements”:

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     
     

     

    打开Entitlements.plist,反选“get-task-allow”,保存。 该选项允许其他进程(比如调试器)附加到你的程序,当然,在发布阶段,这个选项应当设置为false。

    注意,根据Apple的文档,iOS 4.0/Xcode3.2.3之后创建的Entitlements文件不再包括get-task-allow选项——默认情况下,如果Entitlements中没有get-task-allow选项,则不允许附加进程(即无法调试)。

    在调试配置下运行时,你不需要Entitlements文件,因此是允许附加进程的(可以进行调试)。但是有时候,你已经有了一个Entitlements文件(比如你已经运行过Distribution配置),如果你再次运行Debug配置,则程序无法启动,因为get-task-allow默认为false(iOS 4.0及Xcode3.2.3以后)。这种情况下,请手动添加一个boolean类型的get-task-allow键,并设置为false。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

     

    再次打开Target的Build设置面板。在“Code Signing Entitlements”中,输入Entitlements.plist的文件名。

    iOS 开发者企业计划 - 云水禅心 - 云水禅心
     

     

    点击“Build”编译。注意:你需要准备一个57*57像素的图标,iPhone和iPod会在主屏上显示该图标。

    选中工程文件夹Products下面的.app文件,然后点击Action下拉菜单中的Reveal in Finder。

    8.4 制作安装包

    iPhone应用程序的安装文件主要有两种:.ipa格式和.app格式。前者是以.ipa为后缀名的文件(已经包含了ProvisionProfile文件),后者实际是以.app为后缀的文件夹(不包含ProvisionProfile文件)。因此,前者可以直接发布给用户进行安装,而后者需要和ProvisionProfile文件打包在一起进行发布。

    8.4.1 制作ipa包

    当把.app文件安装到iTunes的资料库之后,应用程序就是以.ipa的方式存在了。在“资料库->应用程序”中选中这个应用程序图标,右键,选择“在Finder中显示”,然后就可以在Finder中把这个.ipa文件拷贝出来了。.ipa文件即可用后面的方法进行安装。

    8.4.2 制作rar/zip包

    把编译后的.app文件和ProvisionProfile文件一起压缩为rar/zip文件,即可发送给其他人进行安装,或者发布到网络上以供下载。注意,不要使用Mac自带的归档工具。因为windows使用ANSI编码而Mac使用Unicode编码,二者互不兼容,这样使用归档工具压缩出来的rar/zip包无法在windows下解开。你可以使用开源的压缩工具keka:

    http://www.kekaosx.com/release/Keka-0.1.4.2.dmg

    keka能制作在windows下兼容的压缩包。解压缩后的文件可用后面介绍的2种方法之一进行安装。如果一种方法不能安装,可换用另一种方法。

     

     

    8.5 安装应用程序

    Ad Hoc或In House发布的应用程序,可以将.app与Provision Profile文件打包在一起发送给用户。用户可以用两种方式安装:使用iTunes,或者使用iPhone配置使用工具。

    8.5.1 使用iTunes

    用户将压缩包中的.app和Provision Profile文件拖到iTunes的“资料库->应用程序”下,然后和iPhone/iPod进行同步。

    8.5.2 使用iPhone配置实用工具

    iPhone配置工具是完全免费的,你可以从这里下载:

    http://support.apple.com/kb/DL926?viewlocale=zh_CN

    安装后会在“应用程序/实用工具”中生成一个快捷方式“iPhone配置实用工具”。

    同样,将iPhone/iPod连上电脑,打开“iPhone配置实用工具”,将.app和Provision Profile文件拖放到“iPhone配置实用工具”的“资料库->应用程序”下,然后选中你的iPhone/iPod,在右边“安装或删除应用程序列表”中,点击某个应用程序右边的“安装”按钮进行安装。

     

    9、问题及错误

    如果Xcode出现Code sign错误:

    Code Sign Errors: profile doesn’t match any valid certificate/private key pair in the default keychain

    同时在Organizer中出现下列提示:

    A valid signing identity matching this profile could not be found in your keychain

    则需要把钥匙串中的所有证书和密钥删除,然后重新请求证书、修复provision profile、下载并安装,一般可以得到解决。


    iPhone企业版开发者申请小记

    http://b.imi.im/?p=348

    前面介绍过了 个人版的申请,开这里,我们继续企业版的申请 :)
    请注意这个企业版并不是大家理解的大家一起开发用的公司帐号,不是Company,是Enterprise,或者叫 in-house, 此证书不需要经过App Store批准就可安装到用户手机上,或者说是个无限制版的AdHoc

    下面是企业应用的一些细节问题:

    1. 需要证明您的企业有500名以上员工

    2. AdHoc版本只能发给最多100个人,并且需要知道手机的UDID, 企业应用程序没有限制,也不需要手机ID

    3. 可以用Private API !因为没人审核你,娃哈哈!!无法无天了

    4. 用户安装非常简单,只需要从网络或者邮件里下载这个程序和想要的预置文件,通过iTunes软件打开后同步iPhone即可安装。任何人都可以安装运行,所以要确保此程序存放的位置安全。

    5. 用户安装后,程序可以自己升级而不需要重新给每个用户发放新版本。(相当于企业自己有一个app store)

    6. 申请此资格需要299美金

    7. 企业DUNS编码 (在线填写)
    注: 企业可通过D&B网站http://www.dnb.com进行申请,中国企业的话可直接至其中文网站进行邓氏编码注册,其中国公司为上海华夏邓白氏商业信息咨询有限公司(http://www.huaxiadnb.com/chinese)为方便起见可直接向D&B中国公司联系进行申请,需要提供一些资料,并支付费用(一千到两千RMB左右)。请注意同一企业在各地的实体应该有不同的邓氏编码,因此如果企业在各地有分公司或者不同实体厂区的话,应在申请邓氏编码时告知D&B,根据实际情况申请该编码。


    展开全文
  • IOS开发之——企业版IDP的申请及“In House”发布

    万次阅读 热门讨论 2013-10-11 08:48:21
    企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 这种方式的IDP其最大的好处在于:可以发布“In House”应用。 这种应用使用一种叫做“In House Distribution...
  • 苹果 App Store 申请和管理相关知识

    千次阅读 2012-09-28 10:41:42
    在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store。企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store
  • 抓包神器之Charles,常用功能都在这里了

    万次阅读 多人点赞 2019-10-24 21:31:45
    前几有个做服务端的师弟跟我说他不用抓包工具,遇到问题直接debug代码,那我问他,如果线上服务的话,你怎么调?在实际项目中,没有遇到跟客户端相互扯皮的事情吗?我觉得很正常啊,客户端说他没问题,服务端也说...
  • apple 证书 账号 内购 详解

    千次阅读 2015-06-03 10:00:47
    在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store。企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store。下面主要介绍一
  • 企业版IDP,即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 这种方式的IDP其最大的好处在于:可以发布“In House”应用。 这种应用使用一种叫做“In House ...
  • Hbuilder 历次版本更新记录

    万次阅读 2016-11-18 09:41:23
    【重要】Mac版HBuilder支持iOS10真机运行,解决32位Windows系统下iOS真机运行无法识别手机的问题 解决macOS Sierra系统下HBuilder某些情况下崩溃的问题 添加px转rem的提示功能,可在工具>>选项或右键项目>>属性下的...
  • DRM之Microsoft PlayReady学习入门(一)

    万次阅读 2018-08-19 02:08:32
    数字内容生态背景 未来在数字媒体生态系统中有几个重要的转变。 安全性正在转向硬件,应用程序正在让位于浏览器,网络正在成为OTT内容的管道,内容交付正在转向云: 现在 趋势 ...
  • iOS 开发者企业计划发布流程

    千次阅读 2013-12-17 15:32:56
    什么人应该申请 iOS 开发者企业计划? 如开发者希望在 iPhone 或者 iPod touch 上创建专有的内用应用程序,且其公司雇员不下 500 人,则应申请 iOS 开发者企业计划。在注册企业计划时,开发者需要向苹果公司提供 D...
  • Unity 3D + Vuforia制作AR人物互动

    千次阅读 2014-01-28 11:15:58
    (其实本来只是打算说iOS可以咱来做…而已… 不过在还没开始谈的时候就已经通过某种渠道获得了人物模型和动画,花了差不多4时间从零开始完成了AR识别到人物展示以及人物动作这几个过程,而经过一段时间的“放假”...
  • GitHub上Swift开源项目!

    万次阅读 2017-02-04 19:10:16
    swift-open-project这里汇集了目前为止最为流行的Swift开源项目,选取SwiftGuide中的开源部分,这里将每周对项目进行总结,如果大家有推荐的可以联系thinkloki@gmail.com,或者issues,欢迎Star、Fork。...
  • 中国国内可用API合集

    千次阅读 2017-10-20 11:01:46
    中国国内可用API合集 目录 笔记出行词典电商地图电影即时通讯开发者网站快递查询旅游社交视频天气团队协作图片与图像处理外卖消息推送音乐云语音识别综合 ... OneNote支持获取,复制,创建,更新,导入与导出...
1 2 3 4 5 ... 17
收藏数 332
精华内容 132
关键字:

7天证书试用 ios