ios 越狱 真机调试

ios 越狱 真机调试开发环境:Xcode4.5.2ios设备需要越狱并从Cydia安装appsync安装appsync步骤:1、找到安装的cydia,第一次运行将会弹出提示,选择开发者即可2、在工具栏中选择软件源(iphone/itouch选管理),然后点右上角的编辑3、点左上角添加4、输入源:http://yuan.duowan.com/(多玩的源),点添加源,等待添加完成,然后点返回C

大家好,又见面了,我是你们的朋友全栈君。

开发环境:Xcode 4.5.2 ios设备需要越狱并从Cydia安装appsync

安装appsync步骤:

1、找到安装的cydia,第一次运行将会弹出提示,选择开发者即可

2、在工具栏中选择软件源(iphone/itouch选管理),然后点右上角的编辑

3、点左上角添加

4、输入源: http://yuan.duowan.com/ (多玩的源),点添加源,等待添加完成,然后点返回Cydia,回到源界面,点击右上角的完成,完成源的添加。如果失败确认源地址后面是否加上/

5、选择刚才添加的源,选择合适版本的appsync安装即可。


注:如果列表中没有appsync可以用工具栏中的搜索,搜索appsync;另外cydia.hackulo.us源也可以


另:如果没有安装appsync的话,最后运行的话,会提示证书过期。

The identity used to sign the executable is no longer valid.

Please verify that your device’s clock is properly set, and that your signing certificate is not expired.


 


 

一、创建假证书

1、在Finder中找到Keychain Access(钥匙串访问)并打开。位置:Applications/Utilities

2、菜单->Keychain Access->Certificate Assistant->Create ACertificate,按下图设置。此处必须把Name改为iPhone Developer,Certificate类型设置为Code Signing,并将Let me override defaults选中,以后的步骤就不需要做任何的设置,全部默认或空着即可


二、修改Xcode的配置文件

需要修改SDKSettings.plist和Info.plist两个文件,网上说4.5之后必须用Xcode进行编辑,原因是这两个文件从原来的xml改为了二进制文件,经过试验用其编辑器也是可以的。另外需要修改这两个文件权限才进行修改,修改前最好备份下。

1、SDKSettings.plist:位置/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk

修改内容:DefaultProperties分支,将下面的CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED两个属性改为NO


2、Info.plist:位置/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform

修改内容:

1、将全部的XCiPhoneOSCodeSignContext修改成 XCCodeSignContext

2、在最后添加两项:

PROVISIONING_PROFILE_ALLOWED = NO

PROVISIONING_PROFILE_REQUIRED = NO

解释:将其中的iPhoneOS去掉


3、其他:二进制补丁

没有弄,猜测是4.x已经不再这个补丁了,至少是4.5.2不需要了


三、准备定自定义的生成脚本,需要机器能上网,在终端中执行如下命令

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


注:python的内容为:

#!/usr/bin/env python


import sys

import struct


if len(sys.argv) != 3:

print “Usage: %s appname dest_file.xcent” % sys.argv[0]

sys.exit(-1)


APPNAME = sys.argv[1]

DEST = sys.argv[2]


if not DEST.endswith(‘.xml’) and not DEST.endswith(‘.xcent’):

print “Dest must be .xml (for ldid) or .xcent (for codesign)”

sys.exit(-1)


entitlements = “””

<?xml version=”1.0″ encoding=”UTF-8″?>

<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>

<plist version=”1.0″>

<dict>

<key>application-identifier</key>

<string>%s</string>

<key>get-task-allow</key>

<true/>

</dict>

</plist>

“”” % APPNAME


f = open(DEST,’w’)

if DEST.endswith(‘.xcent’):

f.write(“\xfa\xde\x71\x71”)

f.write(struct.pack(‘>L’, len(entitlements) + 8))

f.write(entitlements)

f.close()


四、修改工程设置

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

这个步骤的主要作用是支持真机调试,如果不做这个步骤,仍然可以通过步骤5来生成ipa在真机上运行,但是无法使用Xcode内置的调试器对在真机上运行的程序进行单步跟踪。如果您的程序在点击Run真机调试时秒退,请检查此步骤是否正确完成。

1、禁用Xcode自动的签名操作,将工程配置中所有的Code Signing选项全部设为Don’t Code Sign

ios 越狱 真机调试


2、添加自定义的生成后脚本,在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,脚本如下:

Xcode 4.1/4.2

export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

if [ “${PLATFORM_NAME}” = “iphoneos” ] || [ “${PLATFORM_NAME}” = “ipados” ]; then

/Developer/iphoneentitlements401/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


Xcode 4.3/4.4/4.5

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


 


如此就可进行真机调试了


五、生成IPA文件

正常情况下IPA是从Xcode的Organizer中输出,但是没有开发帐号,没有证书,仍旧这样输出的话会产生错误。

可以用下面的办法生成IPA文件:

1、将代码生成为Release目标

2、打开工程输出文件夹:/Users/你的用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos

3、把该目标下的app文件,拖到iTunes中

4、再从iTunes中拖到任何一个位置,就会变成ipa安装包

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145154.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux环境下MySql卸载[通俗易懂]

    Linux环境下MySql卸载[通俗易懂]MySQL的安装方法有很多种,常见的有yum、rpm和源码安装,那么针对不同的安装方法,也存在不同的卸载方法,其中yum和rpm安装的卸载方法一样。本节主要介绍Linux下如何彻底卸载已安装过的mysql,以便能顺利安装下一个版本的mysql。1、源码安装卸载虽然源码安装时相对复杂,但是它的卸载却很简单。只要在安装目录下直接执行makeuninstall这个命令,就可以卸载源码安装的mysql,前提是你在这之前没有执行过makeclean。如果执行过makeclean,也没关系,那就直

    2022年9月30日
    4
  • 64位ubuntu 14.04安装32位dr.com客户端教程(不用安装glibc.i686 libstdc++.i686)

    64位ubuntu 14.04安装32位dr.com客户端教程(不用安装glibc.i686 libstdc++.i686)64位的ubuntu没32位的运行库真是令人bei

    2022年5月12日
    40
  • git配置用户名和邮箱密钥_git配置全局用户名和密码

    git配置用户名和邮箱密钥_git配置全局用户名和密码一般刚安装Git都要配置用户名和密码,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到,如果没有没有配置,在你提交时它会提醒你的。那么接下来我们讲一下怎么配置。

    2025年10月3日
    4
  • pycharm2022 02激活码【2022最新】

    (pycharm2022 02激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsa…

    2022年4月1日
    113
  • MQTT服务器搭建与试用,桌面工具连接MQTT服务器

    MQTT服务器搭建与试用,桌面工具连接MQTT服务器简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上的搭建做详细介绍。目前一些开源MQTT服…

    2022年5月29日
    44
  • SVN服务器创建及使用–以文档文件的管理示例

    SVN服务器创建及使用–以文档文件的管理示例来源:http://blog.csdn.net/kupe87826/article/details/8139908参考:http://baike.baidu.com/view/183128.htmhttp://wenku.baidu.com/view/ed3e3435ee06eff9aef807ff.html

    2022年7月19日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号