XCode4.3.3无证书无真机打包说明

环境:
1、windows XP系统下安装VMWare8.1
2、Mac OS X 10.7.4+XCode4.3.3+模拟器iOS5.1

按以下步骤配置
1、生成iPone Developer证书
2、修改XCode系统文件
3、配置XCode项目环境
4、Xcode Build项目打包
下面逐步说明

1、生成iPhone Developer证书
此步骤网上很多,使用 钥匙串访问 工具,“钥匙串访问->证书助理->创建证书”名称必须写成 “iPhone Developer”其他全部默认,直至证书生成完成。

2、修改XCode系统文件
此步骤需要进行两个文件的修改和一个文件的添加
(系统文件开始是隐藏的,可以使用命令 defaults write com.apple.finder AppleShowAllFiles -bool True 来修改系统文件的可见,参数改为False为隐藏,命令修改完成后需 apple->强制推出 Finder来刷新系统文件显示)
然后命令行运行:
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
sudo vim SDKSettings.plist
此时进入vim文件编辑状态(会提示password 输入Mac登陆密码后回车)
(注:i 进入Insert状态,修改完成后按ESC键退回到命令状态,Q退出 :w 保存 :q 退出)
修改
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>NO</string>

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
sudo vim info.plist
修改文件内三处<string>XCiPhoneOSCodeSignContext</string>为<string>XCCodeSignContext</string>
在最后</dict>前添加
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>
修改完成后保存

添加文件gen_entitlements.py
cd /Applications/Xcode.app/Contents/Developer/
mkdir iphoneentitlements(如果创建失败可直接通过Finder 前往 /Applications/Xcode.app/Contents/Developer/手动去创建此文件夹)
cd iphoneentitlements
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt(通过网站下载了一个文件)
mv gen_entitlements.txt gen_entitlements.py

如果没有连接网络的,可通过其他电脑直接打开网页复制保存为gen_entitlements.txt通过共享盘复制到目录

3、配置XCode项目
需要进行三个设置Project-Build Settings、Targets-Build Settings、项目下的xxx_info.plist和添加一个Entitlements.plist文件
(1)Project-Build Settings设置
Code Signing Identity项目全部设置为Don't Code Sign
(2)Targets-Build Settings设置
Code Signing Entitlements设置为xxx/Entitlements.plist(xxx为你的项目名称,与新增Entitlements.plist文件文件路径一致)
Code Signing Identity设置为iPhone Developer,Debug和Release下的子项设置为Don't Code Sign
Build Phases新增一项内容为
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
(3)项目下的xxx_info.plist设置
新增一项
SingerIdentity 值为 Apple iPhone OS Application  Signing
(4)新增文件Entitlements.plist
位置为项目下的项目文件夹下
New File->iOS->Resource->Property List
新建项目
Key:Can be debugged
Type:Boolean
Value:NO

4、Xcode Build项目打包
前面三项设置完成后选择:iOS Device
不管有没有真机连接,都可以通过Product->Build进行编译,编译前最好用以下Clern编译完成后在
/Users/你的帐号/Library/Developer/Xcode/DerivedData/项目名-xxxxx/Build/Products/Release-iphoneos/xxxxxx.app
下找到一个APP文件夹,将此文件夹拖入iTunes中的应用程序会生成一个应用程序,然后拖出这个应用程序到桌面自动生成xxx.ipa的安装程序就可以去真机上安装了,真机只能是越狱的

最后感谢各位前辈门的参考文档,学习了很多啊,也很辛苦,希望这个文章对学习的朋友们有用

 

附件里是Mac的下的文档.rtf的格式,可拿到Mac系统里直接打开复制使用

你可能感兴趣的:(ios,apple,xcode,vmware8)