zoukankan      html  css  js  c++  java
  • 【原】xcode5&IOS7及以下版本免证书真机调试记录

    搞了有一段IOS开发了,之前一直在企业做,近阶段主要在公司做C++服务端开发,打算在空闲实现搞搞个人开发,为自己赚钱,IDP还没申请下来,所以先用此方法在越狱设备上先做一下app的免证书真机调试,先记录如下:

    想要免证书真机调试必须牢记以下的准则:

    准则1:设备必须先越狱,而且用cydia装好appSync补丁

    准则2:在前期操作过程中,xcode5必须保持完全关闭状态,否则有些变化无法更改

    方法与低版本的xcode实现方法大同小异。

    Let`s go.

    1、创建证书:

    利用mac的实用工具钥匙串创建,选项严格按照如下填写,剩下的就是下一步下一步,邮箱该填的填,不填也没事

    2.直接双击/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk 此目录下的SDKSettings.plist

    将以下两段中的YES改为NO

    3. 双击/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/下的Info.plist

    把全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,有三个地方出现,可以按cmd+f查找。

    4. (低版本xcode有介绍,但我没这么做,可以先跳过,后面报错了再回来补这个步骤)打个二进制补丁。

    cd ~/Desktop
    vim script

    打上下面内容.

    #!/bin/bash cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS Build System Support of=working bs=500 count=255 printf "xc3x26x00x00" >> working /bin/mv -n iPhoneOS Build System Support iPhoneOS Build System Support.original /bin/mv working iPhoneOS Build System Support chmod a+x iPhoneOS Build System Support

    授予这个脚本执行权限并执行它

    chmod 777 script
    ./script
    正常的话应该输出(具体的数字可能有差别)
      1. 231+1 records in 
      2. 231+1 records out 
      3. 115904 bytes transferred in 0.001738 secs (66694555 bytes/sec) 

    5、准备脚本,为后面做准备,把下面的命令行在联网的情况下一行一行执行:权限不够的话先进入sudo -s 进入超级管理员权限

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

    最后一句意思是将该脚本文件设为可执行。

    6、以下的步骤每个想真机调试的工程都要执行!

    7、添加自定义的脚本,这一步将会让xcode执行上一步的脚本文件:

    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_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 

    8、脸上设备,到xcode->organizer中看设备是否是绿灯。然后点击运行,ok

    过程中容易出现的问题以及解决方法见:

    http://wenku.baidu.com/link?url=p5h0zFvPkvtav8z9f17n1wCItb8bqoAP4KbrCl91ewgVfIhPSuLGLBNjpru9dQGKFNh_TTGHVe3PsSKky_PuxJcIn4BUhr2aY2IBpNvEMKO

  • 相关阅读:
    错误及异常处理-[PathTooLongException]指定的路径或文件名太长
    在线颜色转换器
    文件被锁定的原因
    EF6官方文档
    我关注的
    "此实现不是 Windows 平台 FIPS 验证的加密算法的一部分"解决办法
    Rsync Error set gid failed rsync error
    转载——EntiyFrameWork教程
    Word 出现“因为没有打开的文档,所以这一命令无效”的错误
    Winsock网络编程笔记:基于UDP的Client
  • 原文地址:https://www.cnblogs.com/wengzilin/p/3441116.html
Copyright © 2011-2022 走看看