XCode4.5免证书真机调试解决 failed to get the task for process xxx

首先建立证书

 

应用程序->实用工具->钥匙串访问
菜单:钥匙串访问->证书助理->创建证书, 然后按以下图片顺序操作即可:
1.免证书开发调试_打开创建证书菜单
2.免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值
3.免证书开发调试_确定继续
4.免证书开发调试_输入序列号有效期,有效期不要超过365天
5.免证书开发调试_输入电子邮件地址
6.免证书开发调试_输入密钥对信息
7.免证书开发调试_密钥使用扩展扩展选择:签名
8.免证书开发调试_已扩展的密钥使用扩展选择:代码签名
9.免证书开发调试_基本约束扩展不选择
10.免证书开发调试_主题备用名称扩展输入RFC822名称,默认邮箱名即可
11.免证书开发调试_用于该证书的位置选择钥匙串类型为登录

 

其次破解

1、修改SDKsettings.plist文件 如果有遇文件加锁的情况,解锁的方法是 选中文件 command+i 打开查看信息,进行权限设置进行解锁。 

找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk目录下SDKsettings.plist文件,修改"Default Properties "项下面得 "CODE_SIGNING_REQUIRED "和"ENTITLEMENTS_REQUIRED"得值都为:NO。

注:由于文件格式和之前的xcode的版本有变化,所以建议最好由xcode来打开plist文件,这样修改过程中能保证不出错。

XCode4.5免证书真机发布及调试


2、修改Info.plist文件

找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform目录下的Info.plist文件

增加两项

PROVISIONING_PROFILE_ALLOWED = NO

PROVISIONING_PROFILE_REQUIRED = NO

随后将文件内的所有"XCiPhoneOSCodeSignContext"替换为"XCCodeSignContext"。应该有3处需要修改。

 XCode4.5免证书真机发布及调试
3、准备自定义的生成后脚本  需要连网  一行一行执行

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
sudo chmod 777 gen_entitlements.py
 

会提示要求输入密码,为本机的登录密码,如果没有设置,设置后再重新验证。

 

如果是 xcode4.5以前版本跳过第4步操作第5步 否则执行第4步跳过第5步 


4、在项目中添加一个Entitlements.plist文件,设置允许调试。
注:若不操作该步可能连接真机调试的时候还会出现一个错误:failed to get the task for process xxx

a.New->File->iOS->Resouce->Property List

将文件名设为Entitlements.plist。

b.打开Entitlements.plist文件

添加一个属性Can be debugged,并将属性值设为YES。

XCode4.5免证书真机发布及调试

c.修改targets的build setting属性值。

将Code Signing Entitlements 那项得值改为刚刚新建得"Entitlements.plist"

将Code Signing Identity中Any iOS SDK设置为iphone Developer,其他则改为Don't Code Sign.(此处要和证书里面那个名字要吻合)

 XCode4.5免证书真机发布及调试

 

5、将工程配置中所有的Code Signing选项全部设为Don't Code Sign.

 

6、添加自定义脚本

在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本

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

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值