• [转]xcode免证书调试


     

    X6+IOS8免证书http://www.tuicool.com/articles/ZvmER3

    方法和X5+IOS7差不多,在X6.1+IOS8.1测试可用,但开始出现问题,删除之前自建证书重新建立后正常

    X5+IOS7免证书 http://kuangqi.me/ios/ios-development-without-idp/

    最新破解方法,4.1-4.6:http://kqwd.blog.163.com/blog/static/4122344820117191351263/

    每次都要输的脚本:

    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

    生成本机证书
    应用程序->实用工具->钥匙串访问

    菜单:钥匙串访问->证书助理->创建证书, 然后按以下图片顺序操作即可:
    1.Xcode 3.2.5免证书开发调试_打开创建证书菜单


    2.Xcode 3.2.5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值


    3.Xcode 3.2.5免证书开发调试_确定继续


    4.Xcode 3.2.5免证书开发调试_输入序列号有效期,有效期不要超过365天


    5.Xcode 3.2.5免证书开发调试_输入电子邮件地址


    6.Xcode 3.2.5免证书开发调试_输入密钥对信息


    7.Xcode 3.2.5免证书开发调试_密钥使用扩展扩展选择:签名


    8.Xcode 3.2.5免证书开发调试_已扩展的密钥使用扩展选择:代码签名


    9.Xcode 3.2.5免证书开发调试_基本约束扩展不选择


    10.Xcode 3.2.5免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名即可


    11.Xcode 3.2.5免证书开发调试_用于该证书的位置选择钥匙串类型为登录

     

    Xcode破解:

    保证Xcode处于关闭状态,应用程序->实用工具->终端,复制粘贴下面的代码:
    #!/bin/bash
    cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
    dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
    printf "\x8f\x2a\x00\x00" >> working
    dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
    /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

    然后复制粘贴下面的代码到命令行终端:
    mkdir /Developer/iphoneentitlements30
    cd /Developer/iphoneentitlements30
    curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
    mv gen_entitlements.txt gen_entitlements.py
    chmod 777 gen_entitlements.py

    执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:
    新增如下两项(告知项目编译无需证书):

    1 PROVISIONING_PROFILE_ALLOWED = NO 

    2 PROVISIONING_PROFILE_REQUIRED = NO

    然后用文本编辑器将该文件中所有的”XCiPhoneOSCodeSignContext”替换为”XCCodeSignContext”,即去掉中间的”iPhoneOS” 。如果不进行此步,编译Device Release版本时會报错:

    1 Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found

    打开Xcode,打开你的项目,Project->>Edit Project Setting,选择”Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将”Code Signing Identity”赋值为”iPhone Developer”(其实是个选项)

    然后找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。

    Xcode破解完成,或者更准确的讲,是配置完成!

     

    Xcode真机调试:
    将 iPhone接入电脑,在Xcode的Window->Organizer中会侦测到你的iPhone.查看iPhone和你的Xcode识别正常后退出Organizer,选择编译环境为”iPhone Device-4.2|Release”,点击”Build and Go”,期间会出现让我们选择签名证书,点选”允许”后,等待你的iPad/iPhone屏幕点亮就ok了。

    你的程序会自动下载到你的iPhone中,可以进行真机调试了

     

    打包ipa:
    编译完了的程序是BargainSale.app文件(目录在文稿->BargainSale->build->Release-iphoneos),我们

    需要制作成ipa安装包,方便安装在iPad或iPhone上。

    第一步,新建一个文件夹,名字任意。找一个不大于500*500的jpg图片,改名为:iTunesArtwork,注意不能有后缀名。

    第二步,建立一个文件夹,名为:Payload,把刚才编译的BargainSale.app拷贝到这个文件夹里面。

    第三部,修改app里面的Info.plist文件,windows下可以用Pledit.exe编辑,在<dict></dict>节点里面加入:

    <key>SignerIdentity</key>

    <string>Apple iPhone OS Application Signing</string>

    然后选中Payload和iTunesArtwork,右键生产压缩zip文件,比如:BargainSale.zip,把后缀名改为ipa就可以了。现在可以双击BargainSale.ipa文件,看看可以加入到iTunes了。

     

    10.20

    补充:如果command r时程序闪一下就退出,并且xcode报错:“xxxxxxx.the program being debugged is not being run"(前面那堆x忘了是什么),可按如下方法解决:

    Project > New Build Phase > New Run Script Build Phase

    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
    /Developer/iphoneentitlements421/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

    关闭后选target,command r即可

     

    10.22 

    补充:xcode4.2免证书与3.2.5基本相同 ,只是3.x里的破解脚本的cd路径命令就要改为cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/

     

     

     

     

     

  • 相关阅读:
    05-Selenium的三种等待
    04-selenium 八大元素定位方法
    03-Selenium简单操作
    python-利用json模块处理json数据几个函数总结
    python-利用pymysql获取数据简单使用总结
    python-利用faker模块生成测试数据
    python-利用random模块生成测试数据封装方法总结
    python-利用shutil模块rmtree方法可以将文件及其文件夹下的内容删除
    pytest--配置用例执行顺序(pytest_ordering插件介绍)
    pytest--mark基本使用(主要通过pytest.ini文件注册标签名,对用例进行标记分组)
  • 原文地址:https://www.cnblogs.com/punkrocker/p/2206681.html
Copyright © 2020-2023  润新知