• XCode4.3.3 + iOS5.1 无证书开发并生成app、ipa文件




    测试环境:
    系统:Mac OS X 10.7.3(黑苹果)
    xcode:4.3.3
    ipad:2  (需越狱)

    1.生成证书
      打开 实用工具-》钥匙串访问,选择钥匙串访问-》证书助理-》创建证书;身份类型选择自签名根证书,证书类型选择代码签名,选中下面的复选框,-》继续,一路默认,完成。
    图片 
    图片 
     2.修改xcode文件
      a.使用命令 defaults write com.apple.finder AppleShowAllFiles -bool True 来修改系统文件显示属性,然后apple->强制退出 Finder来刷  新系统文件显示
      b.修改
    SDKSettings.plist
        使用命令 
    cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk 
                       sudo vim SDKSettings.plist   
        然后提示password,输入mac登陆密码

        按下 i 键进入insert状态后,修改 
    CODE_SIGNING_REQUIRED、ENTITLEMENTS_REQUIRED值为NO
        <key>CODE_SIGNING_REQUIRED</key> 
        <string>NO</string> 
        <key>ENTITLEMENTS_REQUIRED</key> 
        <string>NO</string> 
        按下ESC键 返回命令状态,并按下大写Q键退出,输入:w 保存,然后输入:q 退出
     c.修改 
    info.plist 
       使用命令  
     cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform 
                        sudo vim info.plist   
        将所有的 
    XCiPhoneOSCodeSignContext 替换为XCCodeSignContext
        在最后一个</
    dict> 之前添加 
                   
     <key>PROVISIONING_PROFILE_ALLOWED</key> 
                    <string>NO</string> 
                    <key>PROVISIONING_PROFILE_REQUIRED</key> 
                    <string>NO</string>
        保存,退出
     d.下载
    gen_entitlements.py
        使用命令   
    cd /Applications/Xcode.app/Contents/Developer/ 
                         mkdir iphoneentitlements   (创建文件夹)
                         cd iphoneentitlements        
                         curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt (下载文件,下载完成后再执行下一条命令)
                         mv gen_entitlements.txt gen_entitlements.py  
     3.修改XCode配置
        a.
    Entitlements.plist
           新建资源文件,命名为 
    Entitlements
           在文件里新建一行,并写入下面内容
           
    Key:Can be debugged  Type:Boolean  Value:NO  
    图片 

        b.修改 
    Project 编译设置
          
    Project-》Build Settings-》Code Signing Identity
          将
    Code Signing Identity 下全部项改为 Don't Code Sign
    图片
       c.修改
    Targets 编译设置
         
    Targets-》Build Settings:
          
    Code Signing Entitlements设置为MobileFax/Entitlements.plist (刚创建文件)
          
    Code Signing Identity设置为iPhone Developer (刚创建证书名称),
          
    Code Signing Identity 下 Debug和Release下的子项设置为Don't Code Sign 
    图片 

           Targets-》Build Phases:
             新增Run Script 在shell处写入
            export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/co design_allocate
    if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then 
    /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; 
    codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" 
    fi
    d.修改 本项目的xx_info.plist文件
       在文件中新建一行记录
       Key: 
    SingerIdentity  Type:string   Value:Apple iPhone OS Application  Signing
      
    图片

    图片
    4.生成app文件
       选择
    iOS Device 然后编译或者使用 command+b
       成功后在
    /Users/mac 登陆帐号/Library/Developer/Xcode/DerivedData/项目名称-xxxxx/Build/Products/Release-iphoneos/xxxxxx.app目录下就 是生成的app文件
    5 .生成ipa文件
       将生成的app文件
    拖入iTunes中的应用程序,然后托出即为ipa文件,然后就可用真机测试。
    :部分内容参考网络文档,感谢原作者
    (完) 
  • 相关阅读:
    GZDBHelper C#.NET开源的数据库访问组件
    判断页面是否是静态页面
    Web应用程序dll获取当前程序集路径问题
    webAPI 上传文件
    解决.Net Core3.0 修改cshtml代码之后必须重新生成才可以看到效果
    .net core使用LESS
    test
    JS实现线程锁(Promise),NodeJS并发锁处理
    参考护照编码实现算法JS生成带字母有序编码
    centos7防火墙开放端口与关闭防火墙
  • 原文地址:https://www.cnblogs.com/CLR010/p/2806601.html
Copyright © 2020-2023  润新知