"xcode4.6免证书真机调试"
在iOS开发中,尤其是在Xcode 4.6的版本中,开发者有时需要在没有Apple官方证书的情况下进行真机调试。这个文档提供了一种方法,允许开发者在没有正式的开发者证书和配置文件(Provisioning Profile)的情况下,在真实的iOS设备上运行应用。以下是详细步骤:
**第一步:制作证书**
1. 打开Mac的Finder,导航至`应用程序 -> 实用工具 -> 钥匙串访问`。
2. 在`钥匙串访问`中选择`证书`,然后点击`创建证书`。
3. 在创建证书的过程中,确保填写的证书名称是`iPhoneDeveloper`,这将创建一个用于真机调试的自签名证书。
**第二步:修改XCode配置文件**
1. 修改`SDKsettings.plist`文件:位于`/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk`目录下。将`CODE_SIGNING_REQUIRED`和`ENTITLEMENTS_REQUIRED`的值更改为`NO`,这样系统就不会强制要求代码签名和权限文件。
2. 修改`Info.plist`文件:同样在`/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/`目录下,使用XCode打开并编辑`Info.plist`文件。添加两个新的键值对:
- `PROVISIONING_PROFILE_ALLOWED`的值设为`NO`
- `PROVISIONING_PROFILE_REQUIRED`的值设为`NO`
3. 更改`Info.plist`中的`XCiPhoneOSCodeSignContext`为`XCCodeSignContext`,这个改动涉及到代码签名上下文的处理。
**第三步:设置gen_entitlements.py脚本权限**
1. 如果网络连接可用,执行第一步的命令会自动创建`iphoneentitlements`文件夹和`gen_entitlements.py`脚本。如果没有生成,可以通过在终端中执行特定命令来手动创建或尝试另一种方法。
通过以上步骤,开发者可以在没有Apple官方认证的情况下,使用Xcode 4.6在真机上进行调试。然而,这种方法仅适用于开发阶段,并且不适用于App Store的提交,因为苹果规定所有的应用上架都必须经过正规的签名和验证流程。此外,这种方式可能随着Xcode版本的更新而失效,因为苹果可能会加强安全措施,防止这种规避行为。因此,对于长期和大规模的开发,还是推荐注册Apple Developer账号并遵循正常的签名流程。