【转】ios免费真机调试

我们都知道在Xcode上开发的程序只能在模拟器中运行,如果你要将程序放到真机上运行则要花费99美金购买苹果开发者证书iDP。现我将教你在无开发者证书,想免费真机运行自己编写的ipa文件的时,用越狱手机上的测试。

1、打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导。第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以!

2、修改Xcode的配置文件

  1.请先将Xcode完全退出,可以按Command+Q关闭。

  2.修改配置文件:按照该路径找到SDKSettings.plist然后进行编辑:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist将以下两段中的键值YES改为NO:CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED如果修改时文本被锁定没有修改权限,可以找到SDKSettings.plist文件,点击文件---显示文件---打开右下角的锁---输入密码解锁---修改共享与权限里面的改为读与写权限,这样就可以修改了。

  3.下面修改另外一个文件:

    按照该路径找到Info.plist然后进行编辑:Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist将Info.plist中全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,他们分别在DefaultProperties分支下、OverrideProperties分支下和RuntimeRequirements分支下。同样会遇到上面权限的问题。

  4.添加文件:

    连接互联网后在终端执行:

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

如果没有联网,可以在/Applications/Xcode.app/Contents/Developer文件夹下创建一个iphoneentitlements文件夹,然后在该文件夹下手动创建一个gen_entitlements.py文件,并授予其执行权限(命令:sudo),这个文件的内容为:

#!/usr/bin/env python

import sys

import struct

if len(sys.argv) != 3:

print "Usage: %s appnamedest_file.xcent" % sys.argv[0]

sys.exit(-1)

APPNAME = sys.argv[1]

DEST = sys.argv[2]

if not DEST.endswith(‘.xml‘) and notDEST.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()

3、修改工程设置

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

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

1.禁用Xcode自动的签名操作

将工程配置中所有的Code Signing选项全部设为Don‘t Code Sign,如图。可能需要先点击“All”让这个选项显示出来。

2.添加自定义的生成后脚本

在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

注意:在Xcode5.0之前时图一,在之后是图二

4、如果我的程序调试好了,怎么才能发给别人用呢?正常情况下ipa文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。我们只能用个小技巧来完成这个操作了。        先将代码生成为Release目标,然后打开工程的输出文件夹,通常情况下这个目录是/Users/用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos这个目录下有个xxx.app的文件,就是生成的程序了。把这个xxx.app拖到iTunes中,它会出现在应用程序那个列表中,然后再把它从iTunes的那个列表中拖出来(比如拖到桌面),它就这样变成xxx.ipa了!把这个.ipa发给别人,大家就可以跟您一起分享这个程序了。

转自:http://jingyan.baidu.com/album/1709ad80af62f84634c4f0bb.html?picindex=3

时间: 2024-10-04 00:00:56

【转】ios免费真机调试的相关文章

使用Xcode 7 beta免费真机调试iOS应用程序

http://ju.outofmemory.cn/entry/182050 使用Xcode 7 beta免费真机调试iOS应用程序 K-Res的Blog 2015-06-09 21942 阅读 xcode 今天凌晨的WWDC15虽然没有熬夜守候吧,但也还是早起第一时间翻看了twitter的相关标签,发现比较实惠的一点就是新的Xcode 7可以在不加入每年99刀的Apple Developer Program的情况下真机调试应用了(不知道是不是迫于Android那“粗犷”的真机调试方式的压力,呵呵

Xcode 7如何免费真机调试iOS应用

Xcode 7如何免费真机调试iOS应用的简单方式: 运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID:在弹出的对话框中登入你的Apple ID,没有的话去注册一个就是了,登录成功后会看到下面这样的信息:可以看到下面显示了iOS和Mac的Free标记了,以前版本的Xcode如果你登陆的账号没有付费的话,这里会显示没有加入Apple Developer Program,就什么都做不了了.下面要做的是是生成开发证书,选中有Free的那项,然

xcode7 免费真机调试

原文链接:http://www.cnblogs.com/tandaxia/p/4839997.html 刚新安装了Xcode7 Version 7.1 beta , 据说这个版本可以免费真机调试,于是用了一个新的AppID测试了,发现真的可以免费真机调试了呢!新的appId账号,没有支付每年的99美刀,也没有 去苹果开发者网站https://developer.apple.com/account/overview.action那里去注册手机设备,也没有 下载cer证书mobileprovisio

免费真机调试 -- Xcode7

刚新安装了Xcode7 Version 7.1 beta , 据说这个版本可以免费真机调试,于是用了一个新的AppID测试了,发现真的可以免费真机调试了呢!新的appId账号,没有支付每年的99美刀,也没有 去苹果开发者网站https://developer.apple.com/account/overview.action那里去注册手机设备,也没有 下载cer证书mobileprovision证书安装...然而确实可以真机调试了,这对广大开发者来讲, 是个很好的消息.   我的Mac OS系统

XCode + IOS + Flutter真机调试报错

XCode + IOS + Flutter真机调试 报错:Could not build the precompiled application for the device. It appears that your application still contains the default signing identifier. Try replacing 'com.example' with your signing id in Xcode: open ios/Runner.xcwork

ios申请真机调试( xcode 5)详细解析(转载)

目录[-] 第一步:申请"开发证书" 第二步:添加App IDs 第三步:申请设备 第四步:申请描述文件 第一步:申请"开发证书" 进入苹果开发者99美元账号: 选择:Certificates, Identifiers & Profiles 关于 Certificates,Identifiers,Profiles 的介绍请看 "Certificates, Identifiers ,Profiles" 选择:Certificates 选择:

ios 添加真机调试

1.按照下面步骤,在3 步骤,第一个框:随意取个名字 第二个框:输入手机的identify 2.修改Provisioning Profiles  选中刚才所添加的设备,然后点击右下的蓝色按钮 3.download 证书,然后双击打开,就会重新替换之前的 4.查看Organizer - Devices -> 自己的设备 -> provisioning profiles  出现刚才双击的证书 并且右边有个绿色的钩号,表明此设备可以真机调试了! ios 添加真机调试

iOS开发真机调试步骤

iOS真机调试实现可以有两种方法,一种是登陆Developer Center手动创建证书,创建配置文件,我下面着重介绍这种方法:另外一种是通过Xcode注册Apple ID,这个这里没有细节介绍.一.Certificates部分1.点击Certificate菜单下的All 按钮,然后如果需要添加证书,点击右侧上方的+号添加证书.2.证书分成多种,主要有产品证书和开发者证书两类,选择iOS App Development签署开发app的证书就可以,点击continue 进入下一页面3.再这里会提示

Xcode7.2免费真机调试

先上图Xcode和OS版本 Xcode版本 OS版本 第一步: 进入xcode,菜单栏选择xcode->preferences,在Accounts选项卡的左下角点击加号添加自己的Apple ID账号(普通苹果找好就OK). 第二步: 在项目导航器中选择要真机调试的项目,在工作区targets中选择要测试的项目,之后选择General选项卡,展开Identity项,修改team选项为你的Apple ID. 第三步: 用你的设备连接电脑,在选着模拟器的选项框中选着你的设备. 最后,调试成功!! 官方