zoukankan      html  css  js  c++  java
  • Xcode免证书打包ipa

    1,创建证书

    打开“钥匙串访问”创建证书



    填写好内容后点击继续,之后的步骤什么都不用改,一路点击“确定”和“继续”,最后完成这个向导就可以了。

    我们创建的证书是不被信任的,右键点击证书选择“显示简介”,在信任里选择“始终信任”。



    2,修改Xcode配置文件

    关闭Xcode。然后打开“其他-终端”

    <1>

    cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk/ 

    备注:不同版本的Xcode最后的版本号不同。在Xcode 7.1中是 iPhoneOS9.1.sdk,未来版本可能版本高一些,早期版本的就低一些。请根据实际情况自己改动。(如果实在不知道自己的版本号,可以用“ls”指令查看所有文件。)

    <2>

    备份原文件,如果电脑设有密码,系统会提示你输入密码(输入后不会显示出来,敲回车即可)

    sudo cp SDKSettings.plist SDKSettings.plist.orig 

    <3>
    编辑配置文件SDKSettings.plist

    首先,修改文件夹权限,此时我们所在目录是iPhoneOS9.1.sdk,如果输入指令“cd ..”返回上级目录,“ls -al”查看所有文件,会发现系统显示iPhoneOS9.1.sdk -> iPhoneOS.sdk,这表示iPhoneOS9.1.sdk是指向iPhoneOS.sdk的快捷方式,所以我们要修改的真正文件夹是 iPhoneOS.sdk,指令如下:

    sudo chmod -R 777 iPhoneOS.sdk 

    打开这个文件所在目录:

    open . 

    在弹出的Finder窗口中双击 SDKSettings.plist ,会启动Xcode的图形界面,展开 DefaultProperties 分 支,将下面的ENTITLEMENTS_REQUIRED和CODE_SIGNING_REQUIRED两个属性改为 NO。

    <4>
    编辑配置文件Info.plist

    cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform 
    sudo cp Info.plist Info.plist.orig 
    open . 

    备注:同第<3>步,需要修改Platforms 文件夹权限和该文件夹内所有文件的权限,步骤同上

    在弹出的Finder窗口中双击打开 Info.plist 。分别在 DefaultProperties 分支 下、 RuntimeRequirements 分支下和 OverrideProperties 分支下 ,将全部的 XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext 。
    <5>

    准备自定义的生成后脚本(此步骤需在联网状态下进行)

    sudo mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements 
    cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements 
    sudo curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt 
    sudo mv gen_entitlements.txt gen_entitlements.py 
    sudo chmod 777 gen_entitlements.py 


    3,修改工程设置

    备注:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。

    将工程配置“Build Settings”中所有的Code Signing选项全部设为Don’t Code Sign



    4,开始打包




    编译完成后进入/Users/你的用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos 文件夹下找到app文件,拉入到itunes就生成了我们想要的ipa文件了。


  • 相关阅读:
    在Java中如何优雅地判空
    软件可以流氓到什么程度?从卸载步骤就可以看出来!
    面试中常问的List去重问题,你都答对了吗?
    为什么程序员都不喜欢使用switch而使用if来做条件跳转
    那些年,我们一起卸载过的软件…
    趣图:当我捕获Bug的时候
    9个成功的微服务设计的基础知识
    5.1 包装类
    4.9 初始化块
    4.8 继承与组合
  • 原文地址:https://www.cnblogs.com/lexiaoyao-jun/p/5208244.html
Copyright © 2011-2022 走看看