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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机键盘win键,win10键盘win键失灵怎么办_电脑win10win键没反应的解决方法

    计算机键盘win键,win10键盘win键失灵怎么办_电脑win10win键没反应的解决方法最近有朋友问小编win10键盘win键失灵怎么办,对于win10系统win键突然不能用的问题,相信很多朋友遇到过。有的朋友在升级完win10系统之后发现win10键盘win键失灵了,按下win键没反应,那么当我们遇到这种问题应该如何解决呢?别着急,小编这就为大家带来电脑win10win键没反应的解决方法。电脑win10win键没反应的解决方法:1、在Windows10系统桌面,右键点击任务栏的空白…

    2022年6月4日
  • 十进制转换为二进制java_二进制转八进制算法

    十进制转换为二进制java_二进制转八进制算法将十进制转换为二进制将二进制转换为十进制1.将十进制转换为二进制:思路:对十进制的数进行除2取余法:/***讲10进制转化为二进制*@paramde:待转换的十进制*@return:转换后的二进制(string)*/publicstaticStringDecimal2Binary(intde){

    2022年10月18日
  • Navicat Premium 15安装需要注意的几个细节

    Navicat Premium 15安装需要注意的几个细节关于软件的下载和激活的流程,网上有太多文章了,这里就不赘述了。主要记录几个细节问题:安装完NavicatPremium15后,激活之前一定不要打开它!打开它不一定有问题,但可以尽量避免后面的各种错误。 下载完成之后,安装解压的过程尽量在断网的情况下进行!不断网不一定有问题,但可以尽量避免后面出现各种问题!激活的过程中,如果没注意这两种,那可能就是经历什么rsapublickeynotfind,或者输入激活密钥有个红叉号等等各种各样的问题,为了避免一些不必要的麻烦,还是按顺序来吧,希望看到

    2022年10月9日
  • redis RDB持久化方式的工作原理是怎样的_杜兰特挽留纳什

    redis RDB持久化方式的工作原理是怎样的_杜兰特挽留纳什我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的,持久化主要是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面,比如你redis整个挂了,然后redis就不可用了,你要做的事情是让redis变得可用,尽快变得可用,重启redis,尽快让它对外提供服务。………

    2022年11月2日
  • golang的AES加密和解密的三种模式实现(CBC/ECB/CFB)「建议收藏」

    golang的AES加密和解密的三种模式实现(CBC/ECB/CFB)packagemainimport( &quot;bytes&quot; &quot;crypto/aes&quot; &quot;crypto/cipher&quot; &quot;crypto/rand&quot; &quot;encoding/base64&quot; &quot;encoding/hex&quot;

    2022年4月16日
  • Python爬虫系列:爬取小说并写入txt文件

    Python爬虫系列:爬取小说并写入txt文件Python爬虫系列——爬取小说并写入txt文件文章介绍了如何从网站中爬取小说并写入txt文件中,实现了单章节写取,整本写取,多线程多本写取。爬虫使用的python版本为python3,有些系统使用python指令运行本脚本,可能出现错误,此时可以试一试使用python3运行本脚本。本文是一个教程,一步步介绍了如何爬取批量小说内容以及存储这是txt文件中,以下是项目源码地址。

    2022年5月29日

发表回复

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

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