一直以来都是用 Xcode 开发的程序都是在 iOS Simulator上面运行,如果进行真机测试,就要苹果开发者账号,就得花$99美元,这里给出在没有开放者账号情况下,免费在真机运行自己的ipa文件,前提是iphone手机是越狱机。
一.创建证书
1.打开 Finder -> 实用工具 -> 钥匙串访问
2.点击 钥匙串访问 -> 证书 -> 创建证书
3.证书名称必须添加 :“iPhone Developer”,过程如下:









二.修改 Xcode 配置文件
1.先将 Xcode 完全退出,按 Command+Q。
2.修改配置文件。按Command + Shift + G,输入文件夹路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/,找到该目录下的
SDKSettings.plist文件。
将CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED这两个键值 YES 改为 NO
3.修改 Info.plist 文件。
按Command + Shift + G查找/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/文件夹,在该目录下找到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
三.修改工程设置
1.禁用 Xcode 自动签名操作
将工程配置中所有的Code Signing选项全部设为Don't Code Sign。

2.添加自定义的生成后脚本
在Build Phases中添加一个Phase,Eitor -> 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
注意的是,鼠标要在空白的地方点击一下,才能使用 Add Run Script 选项。

四.生成IPA文件
将代码先生成 Release 目标.点击
项目demo,找到Manage Schemes选项,
在Build Configuration,把 Run和 Test 的 Debug 改为 Release,

然后打开工程的输出文件夹,一般目录是 /Users/用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphonesimulator 该目录下有xxx.app 文件。把xxx.app 拉入 iTunes 中 -> 我的应用程序,

再把它从 iTunes 列表拉到桌面,就是 xxx.ipa 了。最后把这个 ipa 文件放到 iphone 越狱机,就可以免费测试了。

总结
目前 Xcode 已经把项目打包成 ipa,但是由于我还没有越狱机,真相到底是不是就是这样配置呢?还有待最后的考验。
参考
http://www.360doc.com/content/13/1029/13/110467_325036445.shtml
http://jingyan.baidu.com/article/1709ad80af62f84634c4f0bb.html