xcode5越狱设备调试

所需设备:越狱后的iPhone一台,并且安装AppSync插件

10.9Mavericks,Xcode5.0.1,iOS6.1上测试通过,可完美调试无报错

与Xcode5以下版本的区别主要是在添加脚本的地方和进入Organizer的位置

部分图片与步骤转自http://blog.csdn.net/vrix/article/details/7851377,加入了Xcode5之后的新方法

第一步:制作证书

1)打开 Finder->应用程序->实用工具-> 钥匙串访问

2)单击:"钥匙串访问"选择 
"证书"再选择"创建证书"

注意:证书名称必须填写为 iPhone
Developer
(注意大小写),并且勾选"让我覆盖这些默认值"

接下来的步骤一直继续使用默认参数即可,如果有需要键入邮箱的地方,请键入你的AppleID

第二步:修改XCode配置文件

注:如遇到文件无法解锁没有权限不能修改,右键复制,然后修改副本文件,修改好更改名字再替换原来的

plist文件默认会使用Xcode自带的plist编辑器打开,如果无法保存,请用PlistEdit进行plist文件的编辑

1)修改SDKsettings.plist文件

打开Finder,点击任务栏的前往->前往文件夹,输入

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk

打开该目录下的SDKSettings.plist文件(修改2项)

CODE_SIGNING_REQUIRED  值改成NO

ENTITLEMENTS_REQUIRED  值改成NO

2)修改Info.plist文件

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/

用XCode打开该目录下的Info.plist文件,右击--Add
Row(增加两项)

PROVISIONING_PROFILE_ALLOWED   值为 NO

PROVISIONING_PROFILE_REQUIRED  值为 NO

3)将上面Info.plist文件中的 "XCiPhoneOSCodeSignContext"
替换成"XCCodeSignContext",即将其中的”iPhoneOS“字段删除(共3处)

第三步:设置脚本权限

打开Finder,点击任务栏的前往->前往文件夹,输入

/Applications/Xcode.app/Contents/Developer/iphoneentitlements

右键下载以下文件

gen_entitlements.py文件

然后将gen_entitlements.py文件放到/Applications/Xcode.app/Contents/Developer/iphoneentitlements下

打开终端,输入以下命令(可能需要输入密码,如果没有密码则无法完成此命令,请在用户与群组中新增密码)

————————————————————————————————————————————

sudo chmod 777
/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py

————————————————————————————————————————————

gen_entitlements.py脚本文件的内容如下:

————————————————————————————————————————————

#!/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()

————————————————————————————————————————————

第四步:修改项目属性(每次新建项目都要执行)

1)点击项目图标,找到"BuildSettings"选项下的"Code Sign
Identity",将其值全部改为"Don‘t Code Sign"

2)添加脚本,切换到Build Phases选项,点击任务栏

(这里与Xcode5.0以下版本不同)

  Editor>Add
Build Phase
> Add Run Script
Build Phase

然后输入以下脚本

————————————————————————————————————————————

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

————————————————————————————————————————————

第五步:连接设备与调试(iphone/ipad)

链接你的设备,点击Xcode任务栏,打开Organizer

(这里与Xcode5.0以下版本不同)

  Window>
Organizer

然后右边窗口中点击“Use for
Development”即可,此时你的设备名称旁边应该显示黄色的小灯,重新拔插数据线,Organizer中会出现一个进度条,等这个进度条跑完,小灯就会变成绿色,开发模式已经启用。

在项目中将模拟器选择为你的iPhone,点击Run即可调试

一些小问题

1)如果模拟器列表这里显示的是

而不是你的手机名字,请修改iOS Deployment
Target为6.1或以下,符合你的iOS版本即可

2)如果点击Run之后出现提示:The Application Does
Not Have a Valid Signature

说明你的AppSync插件没有安装或者安装不正确

有可能你是用过Semi-Restore等软件软恢复系统

使用evasi0n工具重新越狱之后在Cydia中重新安装AppSync即可,这样不会清除手机数据

xcode5越狱设备调试,布布扣,bubuko.com

时间: 2024-10-01 04:29:16

xcode5越狱设备调试的相关文章

在非越狱设备上使用 LLDB 调试第三方 App

说明 这个方法是在 iOS 8 刚发布的时候想到的,当时主要用来在非越狱的 iOS 8 设备上调试分析第三方已经支持 iOS 8 的 App,比如:UC 浏览器,下面也会使用 UCWEB 为例来说明一些命令. 原理 谈不上原理,主要就是利用 xcode 的工具链,当然如果对证书.签名.Entitlements 比较熟悉,可能会很自然的想到这个方法.当时想到方法后,就在 github 上搜索了一下发现已经有人写了相关的工具,下面跟大家说下具体如何操作. 工具 ios-deploy:https://

Galaxy S3 设备调试蓝牙4.0BLE (cc2540)

笔者不是高富帅. 因为项目需要,冒险在某宝上购买了一部Galaxy S3,1500RMB,用来调试BLE(bluetooth low energy)的Android上的开发平台, 卖的是港版i9305, 2G RAM的, 国内的i9300都是1G RAM的, .....棒子欺负国人呀. 买回来后发现机子全新,系统是4.1.2的,马上刷机升级到了Android4.3系统,一切顺利, 也是开始开发... 在windows xp上开始Galaxy S3的设备调试遇到了下面几个问题 1.Android

解决CATextLayer在越狱设备上字体颜色问题。

最近在做画k线的一个悬浮窗时候,用到了CATextLayer,然后在排版的时候,越狱设备字体颜色一直为全黑,于是stackoverflow了一下,发现相似问题决解办法是这样的 然后还是没效果,我就猜测是否是因为颜色值根本没设上.在使用NSAttributedString的属性设置有问题.最开始设置文字颜色用的这个属性:NSForegroundColorAttributeName,然后尝试使用更底层的API: 完美解决!

关于 xcode5 真机调试 的 no matching provisioning profiles found

产生原因:在xcode5里面不一定是因为你的真机证书有问题,有可能是因为,项目本来在别的组里有会出现此bug 如果你出现上图的错误,只需要在此项目的***.xcodeproj 文件,然后右键选择“显示包内容”,如下图: 一般情况下,包中有如下3个文件:1.project.pbxproj        2.project.xcworkspace    3.xcuserdata打开第一个,搜索那串uuid也就是上面的3134ECC5这个 然后把这个id删掉就可以了 关于 xcode5 真机调试 的

iOS安全攻防之越狱设备检测

iOS 越狱(iOS Jailbreaking),是用于获取苹果公司便携装置操作系统iOS最高权限的一种技术手段,用户使用这种技术及软件可以获取到 iOS 的最高权限,甚至可能可以进一步解开运营商对手机网络的限制.手机越狱后会面临更多的安全风险,不建议对iOS设备进行越狱.在开发中可以针对越狱设备进行安全防范. 可以尝试用 NSFileManager 判断设备是否安装了越狱插件. #define ARRAY_SIZE(a) sizeof(a)/sizeof(a[0]) const char* j

XCode5 真机调试及发布应用

一.XCODE 真机测试 Xcode5已经很智能,只需生成一个开发证书,安装后,插入设备会自动添加,注意,当Mac系统升级后,证书需要重新生成. 证书生成步骤: 1.生成 CertificateSigningRequest.certSigningRequest 文件,在开者中心生成开发证书时需要 钥匙串访问->证书助理->从证书颁发机构请求证书 填入我们的开发者帐号,选择存储到磁盘,点继续,生成了上面的文件. 2.生成开发者证书:        Menber Center -> Cert

最新iOS开发者账号相关:一、设备调试(2015.10.9)

问题一:苹果开发者账号类型: 分为三种:个人的(99美金一年).组织的(99美金一年)和企业账号(299美金一年),申请时需要信用卡,可以找淘宝的代理申请,价格比官方贵几十块钱左右,方便很多. 问题二:有iPhone和Mac如何调试: 进入Certificates, Identifiers & Profiles管理界面:https://developer.apple.com/account/ios/certificate/certificateList.action 左边有4个管理栏目,Cert

如何代码判断设备是否为越狱设备---

苹果是非常看重产品的安全性的,所以给用户设计了一套复杂的安全机制.这让喜爱自由,崇尚一切开放的程序员们极度不爽,于是越狱就成了苹果和黑客们反复斗法的场所.总体来说,越狱可以让我们随意安装.共享应用,但确实也降低了设备的安全性,会给一些恶意应用提供方便之门. 有时我们的应用希望知道安装的设备是否已经越狱了,显然,苹果官方不会给出解决方案来的,那么我们怎么办呢?因为越狱后会自动安装cydia,所以我们可以从这方面入手:也可以借助权限问题,去读取应用的列表:还可以去读环境变量,不越狱的机器应该是读取不

华为S5720-52X-SI进行设备调试卡在“Press ENTER to get started”

问题现象:今天下午调试华为S5720交换机,通过接入console线,使用Secure-CRT这个工具来登录设备,到这个界面就进不去. 问题原因:这是由于在secure-CRT的配置在创建Serial会话时,会默认将Serial-COM3的会话选项-->连接-->串行-->流控中的RTS/CTS给勾上了导致的.,如下图所示. 解决方法:将该流控中的RTS/CTS勾给去掉. 然后我们就可以进入交换机进行配置了,建议流控选项下的三个选项不要勾选. 清空交换机的配置:<SH-HuLan-