由于用普通开发者证书,发布的app或ipa没法在普通机器上安装运行,原因是apple限制了普通开发者发布appstore以外的环境中,只有Enterprise企业版证书才能发布inhouse。 今天在发布一款公司内部使用的app时,由于mac中同时安装了 普通开发者证书 和 企业证书,xcode可能默认使用了普通开发者账号,因此发布的ipa始终无法在普通机型中安装成功。几经周折,终于发现了这个问题,于是想办法找到了设置成使用企业版证书,但是这时候连编译都无法通过,错误提示如下:

No matching provisioning profiles found

his product type must be built using a provisioning profile, however no provisioning profile matching both the identity “iPhone Distribution: PIXXX CORPORATION” and the bundle identifier “xx.xxx.enterprise.xxx.appname” was found.  Xcode can resolve this issue by downloading a new provisioning profile from the Member Center.

意思是说:我使用的企业证书 与 当前发布的程序bundle identifier 不匹配。

原因就很明显了,由于安装证书时安装了一个provisioning profile 文件,这个Provision Profile中记录了一些信息:开发者证书、开发者Apple ID、一系列设备ID(开发者可以使用哪几部设备进行调试),以及造成以上问题的 Application Identifier 。 这就是为什么会提示这个错误了。

插一句,我如何根据我的provisioning file 得知对应的 app identifier呢?

只需双击该文件,重新安装,待自动打开keychains之后,即可查看到该provision profile的 app id 了。

所以,当你只有企业证书,但却没有创建Provision Profile权限,可以委屈求全,将项目属性中的bundle identity 改成该profile的app id就可以了。才能在普通iphone运行, 但是企业证书有个问题,必须把名字改成该证书对应的provision Profile绑定的app id。

缺点也很明显,开发机如果同时安装我们的这个app 和 公司的另一个原始app, 则有一个会被覆盖,因为他们的签名是一样的。
 
你已经知道,我这里所说的没有创建Provision Profile权限的意思是指,当前拥有一个ios开发的企业证书, 拥有inhouse app发布权限,但却没有该企业证书对应的apple id, 无法登陆苹果开发者中心添加applicaiton id.

参考:

1. 如何解决修改项目名 或 bundle identity 而产生的test子集的 link error ? http://stackoverflow.com/questions/16513934/how-do-i-add-modify-the-bundle-loader-setting-in-xcode-4-6-2

2. 企业证书的申请流程, 使用,发布方法: http://blog.csdn.net/kmyhy/article/details/6418280

3. apple developer center 设置生成开发者证书,发布证书,appid, provision profile 的生成过程: http://blog.csdn.net/holydancer/article/details/9219333

在没有创建Provision Profile权限的情况下 发布Enterprise inhouse app 的方法的更多相关文章

  1. jieba分词单例模式及linux权限不够情况下tmp_dir自定义

    在linux环境下,没有root权限的情况下,有时会碰到如下问题: Building prefix dict from the default dictionary ... Loading model ...

  2. 没有 iOS 开发者账号的情况下部署到真机的方法

    原文发表于我的技术博客 本文分享了官方推荐的没有 iOS 开发者账号的情况下部署到真机的方法,供参考. 原文发表于我的技术博客 1. 官方推荐的方法 原文在此,也就是 Ionic 官方团队在博客中分享 ...

  3. 关于img标签浏览器自带的边框,清除边框的解决方式(即img[src=""] img无路径情况下,灰色边框去除解决方法)

    详解img[src=""] img无路径情况下,灰色边框去除解决方法 1.Js解决办法 <html> <head> <meta charset=&qu ...

  4. sqlserver修改sa密码(在windows登陆没有权限的情况下)

    对于windows用户没有权限执行alter login sa enable的情况下,采用如下方法可以成功修改sa密码登陆. . 用Run as a administrator打开命令提示符里输入NE ...

  5. 关于在gridview中有dorpdownlist的情况下使用自带编辑模板的方法

    今天记录一下在gridview中,如果有dropdownlist的情况下使用gridview自带编辑模式的方法. 好吧,今天的这个问题有点绕,详细解释一下目的. 因为gridview中的某些列的数据是 ...

  6. 在无修改权限的情况下修改文件hosts中的内容

    今天遇到了一个问题,本来希望修改hosts中的内容,但保存时被告知无权限,网上搜索有很多方法都无效,最后搜到一个简单的方法:将hosts文件复制到桌面上,修改,然后覆盖原来位置的hosts文件即可!

  7. 计算纯文本情况下RichTextBox实际高度的正确方法(.NET)

    2016-07-17重大更新           其实有更好.更系统的方法,也是最近才发现的,分享给大家!! /// <summary> /// /// </summary> ...

  8. ASP.NET在不同情况下实现单点登陆(SSO)的方法

    第一种:同主域但不同子域之间实现单点登陆 Form验证其实是基于身份cookie的验证.客户登陆后,生成一个包含用户身份信息(包含一个ticket)的cookie,这个cookie的名字就是在web. ...

  9. linux服务器没网情况下手动安装软件几个方法

    1,找到一个有网的服务器,使用yumdownloader gcc,获取需要的rmp包: 2,在http://pkgs.org 下下载所需要的rpm包

随机推荐

  1. LintCode: Maximum Subarray

    1. 暴力枚举 2. “聪明”枚举 3. 分治法 分:两个基本等长的子数组,分别求解T(n/2) 合:跨中心点的最大子数组合(枚举)O(n) 时间复杂度:O(n*logn) class Solutio ...

  2. Excel 2007 若干技巧。

    1.自定义序列 office按钮→excel选项→常用→编辑自定义列表 2.无法清空剪贴板错误的处理办法: 取消"显示粘贴选项"选项 3.每次选定同一单元格 输入后按ctrl+En ...

  3. Performance Tuning Guidelines for Windows Server 2012

    http://msdn.microsoft.com/en-us/library/windows/hardware/jj248719.aspx This guide describes importan ...

  4. JAVA调用SHELL事例

    以往一直都是crontab+shell调用java程序,最近需要反过来,使用java调用shell程序,实现定时管理,今天总结一下. 基础内容: java的java.lang.Runtime类提供了e ...

  5. ldd 以及 ld-linux.so.2

    最近跟编译工具干上了,可能是问题积累集中爆发的结果. 今天对 ld-linux.so.x 有很大兴趣,想对它多些了解,遂百度之.发现了指令 ldd. 关于 ldd 其实 ldd 是一个脚本,并不是一个 ...

  6. 路由器mtu值设置

    MTU=最大传输单元 单位:字节 英文:Maximum Transmission Unit”我们平时上网时的各种操作,都是通过一个又一个“数据包”传输来实现的.而MTU指定了网络中可传输数据包的最大尺 ...

  7. 〖Linux〗使用纯命令行来操作VBOX(宿主机不需要X11 Server)

    1. Linux安装vbox,略过 2. 查看已安装扩展插件 VBoxManage list extpacks 3. 创建一个vm: VBoxManage createvm --name " ...

  8. MongoDB安装实录

      mongodb是nosql中的贵族,很受欢迎... 01.下载 官方:https://www.mongodb.com 社区版.企业版 https://www.mongodb.com/downloa ...

  9. win32获取浏览器当前Tab的URL

    代码都是win10上测试的 1. 获取IE的URL,Enum IE窗口的子句柄,找到className为Edit的句柄,然后用SendMessage WM_GETTEXT消息来获取: 上代码: #in ...

  10. lua一些特殊函数说明

    setclLvalue(L, L->top, cl); 这是个宏展开是这样: ((L->top)->value_).gc = obj2gco(cl); //top valud gc ...