生成本机证书
应用程序->实用工具->钥匙串访问
菜单:钥匙串访问->证书助理->创建证书, 然后按以下图片顺序操作即可:
1.Xcode 3.2.5免证书开发调试_打开创建证书菜单
2.Xcode 3.2.5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值
3.Xcode 3.2.5免证书开发调试_确定继续
4.Xcode 3.2.5免证书开发调试_输入序列号有效期,有效期不要超过365天
5.Xcode 3.2.5免证书开发调试_输入电子邮件地址
6.Xcode 3.2.5免证书开发调试_输入密钥对信息
7.Xcode 3.2.5免证书开发调试_密钥使用扩展扩展选择:签名
8.Xcode 3.2.5免证书开发调试_已扩展的密钥使用扩展选择:代码签名
9.Xcode 3.2.5免证书开发调试_基本约束扩展不选择
10.Xcode 3.2.5免证书开发调试_主题备用名称扩展输入RFC822名称,填入邮箱名即可
11.Xcode 3.2.5免证书开发调试_用于该证书的位置选择钥匙串类型为登录
Xcode破解:
保证Xcode处于关闭状态,应用程序->实用工具->终端,复制粘贴下面的代码:
#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\x8f\x2a\x00\x00" >> working
dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
然后复制粘贴下面的代码到命令行终端:
mkdir /Developer/iphoneentitlements30
cd /Developer/iphoneentitlements30
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:
新增如下两项(告知项目编译无需证书):
1 PROVISIONING_PROFILE_ALLOWED = NO
2 PROVISIONING_PROFILE_REQUIRED = NO
xml文档。所以对位置有所要求:具体修改为:
。。。
<key>ARCHS</key>
<string>armv6</string>
<key>CODE_SIGN_CONTEXT_CLASS</key>
<string>XCCodeSignContext</string>
<key>COMPRESS_PNG_FILES</key>
<string>YES</string>
<key>DEBUG_INFORMATION_FORMAT</key>
<string>dwarf-with-dsym</string>
<key>EMBEDDED_PROFILE_NAME</key>
<string>embedded.mobileprovision</string>
<key>INFOPLIST_OUTPUT_FORMAT</key>
<string>binary</string>
<key>NATIVE_ARCH</key>
<string>armv6</string>
<key>PLIST_FILE_OUTPUT_FORMAT</key>
<string>binary</string>
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>
。。。
<dict>
<key>CODE_SIGN_CONTEXT_CLASS</key>
<string>XCCodeSignContext</string>
<key>DEBUG_INFORMATION_FORMAT</key>
<string>dwarf-with-dsym</string>
<key>EMBEDDED_PROFILE_NAME</key>
<string>embedded.mobileprovision</string>
<key>SDKROOT</key>
<string>iphoneos4.3</string>
<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>
</dict>
...
然后用文本编辑器将该文件中所有的”XCiPhoneOSCodeSignContext”替换为”XCCodeSignContext”,即去掉中间的”iPhoneOS” 。如果不进行此步,编译Device Release版本时會报错:
1 Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.xxxx' could not be found
打开Xcode,打开你的项目,Project->>Edit Project Setting,选择”Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将”Code Signing Identity”赋值为”iPhone Developer”(其实是个选项) ----对于签名证书名不一样的这个地方是关键。我的P是小写p,所以每次都必须改。
然后找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。
Xcode破解完成,或者更准确的讲,是配置完成!
Xcode真机调试:
将 iPhone接入电脑,在Xcode的Window-&gt;Organizer中会侦测到你的iPhone.查看iPhone和你的Xcode识别正常后退出Organizer,选择编译环境为”iPhone Device-4.2|Release“既需要 release 和 device 选项。点击”Build and Go”,期间会出现让我们选择签名证书,点选”允许”后,等待你的iPad/iPhone屏幕点亮就ok了。
你的程序会自动下载到你的iPhone中,可以进行真机调试了
打包ipa:
编译完了的程序是BargainSale.app文件(目录在文稿->BargainSale->build->Release-iphoneos),我们
需要制作成ipa安装包,方便安装在iPad或iPhone上。
第一步,新建一个文件夹,名字任意。找一个不大于500*500的jpg图片,改名为:iTunesArtwork,注意不能有后缀名。
第二步,建立一个文件夹,名为:Payload,把刚才编译的BargainSale.app拷贝到这个文件夹里面。
第三部,修改app里面的Info.plist文件,windows下可以用Pledit.exe编辑,在<dict></dict>节点里面加入:
<key>SignerIdentity</key>
<string>Apple iPhone OS Application Signing</string>
然后选中Payload和iTunesArtwork,右键生产压缩zip文件,比如:BargainSale.zip,把后缀名改为ipa就可以了。现在可以双击BargainSale.ipa文件,看看可以加入到iTunes了。