`
kingj
  • 浏览: 426310 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

XCode免证书开发环境

 
阅读更多

本文转自 http://www.189works.com/article-102715-1.html

 

XCode免证书开发环境

2012-10-28 06:17| 发布者: fjsorry| 查看: 312| 评论: 0

摘要: XCode免证书开发环境是本文要介绍的内容,如果你和我一样,是一名爱好iOS开发的开发者,并且又舍不得花费99美金去购买一个合法的开发License,这篇博客则非常适合你。如果,您是一位已经获得Apple开发者证书的开发者 ...

 

XCode证书开发环境是本文要介绍的内容,如果你和我一样,是一名爱好iOS开发的开发者,并且又舍不得花费99美金去购买一个合法的开发License,这篇博客则非常适合你。如果,您是一位已经获得Apple开发者证书的开发者,则可以完全无视该篇Blog。

在没有证书的情况下,开发iOS应用程序只能在功能有限的模拟器环境中运行你的应用程序(x86环境)。对于那些与硬件平台关系不大的iOS应用程序开发来说,模拟器环境可以模拟大多数功能,但是一旦你的应用需要涉及实际的硬件设备(比如:摄像头,感应器等),则模拟器就无法满足您的开发需求。拜股沟大神所赐,网路上已经早已有开发者用自签名证书的方式,绕开XCode证书检查,可以将XCode编译的应用程序部署到实际的iOS设备上进行测试和调试。

Xcode如果不破解,一方面无法真机调试, 也无法编译真机Release文件,只能付费开通Apple开发者账号,才能申请真机调试。而Xcode进行破解后,接合越狱的iPhone或iPad, 即可免官方证书开发调试了!目前测试对于最新的iOS 4.2 SDK/iOS 4.2.1 SDK的Xcode 3.2.5一样适用!当然,对iOS 3.2.2/iOS 4.1 SDK的Xcode 3.1.2同样保持兼容。

生成自签名开发证书

启动证书链管理工具(应用程序->实用工具->钥匙串访问)创建证书

构建XCode免证书开发环境

1.设置证书名称设置为iPhone Developer(该名称需要和XCode编译签名时使用的证书名称一致,下文会提到),身份类型选择自签名根证书,证书类型选择S/MIME (电子邮件),并且在覆盖这些默认值选项上打勾。

构建XCode免证书开发环境

选择继续制作自签名证书

构建XCode免证书开发环境

2. 设置证书有效期365天(时长不要超过365天)

构建XCode免证书开发环境

3. 输入用户信息

构建XCode免证书开发环境

4. 选择密钥大小和算法(2048位和采用RSA算法)

 

构建XCode免证书开发环境

构建XCode免证书开发环境

5. 设置密钥扩展功能(选择签名功能和代码签名功能)

 

构建XCode免证书开发环境

6. 禁止基本约束扩展

构建XCode免证书开发环境

7. 设置主题设备用名称扩展,RFC822输入邮箱即可

 

 

 

构建XCode免证书开发环境

 

8. 设置钥匙串类型为登陆类型

构建XCode免证书开发环境

至此,自签名证书创建完毕

Xcode破解

保证Xcode处于关闭状态,命令行终端,复制粘贴下面的代码:

  1. #!/bin/bash cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\   
  2.    System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ 
  3. System\ Support of=working bs=500 count=255 printf “\x8f\x2a\x00\x00″ >> working dd if=iPhoneOS\ Build\   
  4.    System\ Support of=working bs=1 skip=127504 seek=127504 /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\   
  5.    System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support  
  6.  

然后复制粘贴下面的代码到命令行终端:

  1. mkdir /Developer/iphoneentitlements30 cd /Developer/iphoneentitlements30 curl -O 
  2. http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 
  3. gen_entitlements.py ./gen_entitlements.py 

执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:

新增如下两项(告知项目编译无需证书):

  1. PROVISIONING_PROFILE_ALLOWED = NO 
  2. PROVISIONING_PROFILE_REQUIRED = NO 
  3.  
  4. 共两处需要修改,如下所示:  
  5.  
  6.  <key>ARCHSkey>    
  7.  <string>armv6string>    
  8.  <key>CODE_SIGN_CONTEXT_CLASSkey>   
  9.   <string>XCiPhoneOSCodeSignContextstring>    
  10.   <key>COMPRESS_PNG_FILESkey>    
  11.   <string>YESstring>    
  12.   <key>DEBUG_INFORMATION_FORMATkey>   
  13.    <string>dwarf-with-dsymstring>    
  14.    <key>EMBEDDED_PROFILE_NAMEkey>   
  15.     <string>embedded.mobileprovisionstring>   
  16.      <key>INFOPLIST_OUTPUT_FORMATkey>    
  17.      <string>binarystring>    
  18.      <key>NATIVE_ARCHkey>   
  19.      <string>armv6string>   
  20.  <key>PLIST_FILE_OUTPUT_FORMATkey>   
  21.  <string>binarystring>    
  22.  <strong><key>PROVISIONING_PROFILE_ALLOWEDkey>    
  23.    <string>NOstring>   
  24.    <key>PROVISIONING_PROFILE_REQUIREDkey>   
  25.   <string>NOstring>strong>   
  26.    <key>SDKROOTkey>   
  27.    <string>iphoneos2.2.1string>   
  28.    <key>STRINGS_FILE_OUTPUT_ENCODINGkey>    
  29.   <string>binarystring>         
  30.      <key>CODE_SIGN_CONTEXT_CLASSkey>          
  31.      <string>XCiPhoneOSCodeSignContextstring>          
  32.       <key>DEBUG_INFORMATION_FORMATkey>          
  33.      <string>dwarf-with-dsymstring>          
  34.         <key>EMBEDDED_PROFILE_NAMEkey>          
  35.        <string>embedded.mobileprovisionstring>           
  36.        <key>SDKROOTkey>           
  37.     <string>iphoneos2.2.1string>          
  38.     <strong><key>PROVISIONING_PROFILE_ALLOWEDkey>         
  39.   <string>NOstring>           
  40.  <key>PROVISIONING_PROFILE_REQUIREDkey>     
  41. <string>NOstring>strong> 

加粗部分为要加入的内容。保存。

然后将该文件中所有的”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 

1. 使用XCode打开你的项目文件,在Project->Edit Project Setting中选择Build页面,找到Code Signing Identifty选项,将签名设置成iPhone Developer

2. 然后找到你项目的xxx-Info.plist文件,添加”SignerIdentity”项,其值为”Apple iPhone OS Application Signing”.保存。[我加了这一步编译时就总出错,不加没问题,不知道为啥子。。。]

Xcode破解完成,或者更准确的讲,是配置完成!

Xcode真机调试

将 iPhone接入电脑,在Xcode的Window->Organizer中会侦测到你的iPhone.查看iPhone和你的Xcode识别正常后退出Organizer,选择编译环境为”iPhone Device-4.2|Release”,点击”Build and Go”,期间会出现让我们选择签名证书,点选”允许”后,等待你的iPad/iPhone屏幕点亮就ok了。

你的程序会自动下载到你的iPhone中,可以进行真机调试了。

Xcode升级破解

如果是在原Xcode的版本上升级到3.2.5,并且之前已经破解过,那么只需要再做如下步骤即可:

新增如下两项(告知项目编译无需证书):

  1. PROVISIONING_PROFILE_ALLOWED = NO 
  2. PROVISIONING_PROFILE_REQUIRED = NO 

然后将该文件中所有的”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证书开发环境的内容介绍完了,希望本文对你有所帮助!!!

  1. Xcode开发环境 理解 Xcode 工程
  2. Xcode 4实现基于WebService用户登录iPhone程序 实例
  3. 详解XCode构造成iOS应用程序如何启动
  4. Xcode学习笔记 给WindowBase程序添加View
  5. 修改Xcode配置并支持iPhone上dylib工程 实例
  6. 浅谈Xcode 交叉开发编程中选项
  7. Xcode 使用 新手必看

分享到:
评论

相关推荐

    xcode免证书开发调试文档

    在进行Xcode免证书开发调试之前,需要准备MacOSX操作系统和Xcode开发环境。由于安装过程较为复杂,可能需要多次尝试不同的教程和版本组合。在这个过程中,使用虚拟机是一个明智的选择,特别是Vmware7,因为它支持dmg...

    xcode免证书开发调试并构建ipa

    ### Xcode免证书开发调试并构建IPA方法详解 在iOS应用开发过程中,证书管理一直是一项繁琐的任务,尤其对于初学者来说。本文档介绍了一种在Xcode 4.3版本中进行免证书开发调试并构建IPA的方法。这种方法适用于希望...

    Xcode_免证书开发调试_ipad_程序开发.pdf

    ### Xcode免证书开发调试ipad程序开发 #### 一、环境搭建与注意事项 为了能够进行iPad程序开发,首先需要确保拥有一个稳定的开发环境。这包括安装Mac OS X操作系统以及Xcode开发工具。 1. **操作系统与开发环境的...

    Mac_Xcode_3.2.5免证书开发调试

    在iOS应用开发中,Xcode是苹果官方提供的集成开发环境,用于编写Objective-C或Swift代码。在Xcode 3.2.5版本中,开发者通常需要一个有效的Apple开发者账号和相应的证书来完成真机调试和发布应用。然而,对于那些没有...

    Xcode_3.2.5免证书开发调试

    ### Xcode 3.2.5免证书开发调试详解 #### 背景与问题 在使用Xcode进行iOS应用开发的过程中,开发者经常会遇到“CodeSign error: a valid provisioning profile matching the application’s Identifier ...

    Xcode 4.1_4.2 免证书(iDP)开发+真机调试+生成IPA全攻略.pdf

    Xcode 是苹果公司开发的一款集成开发环境(IDE),广泛应用于 iOS 和 Mac OS X 开发。然而,在 Xcode 上开发的程序只能在模拟器中运行,要想将程序放到真机上则要花费 99 美金购买开发者证书 iDP。这严重阻碍了草根...

    xcode4.3 4.4_免证书开发调试并构建ipa.doc

    ### Xcode 4.3 和 4.4 免证书开发调试及构建IPA知识点解析 #### 一、背景介绍 随着iOS开发环境的不断更新和完善,开发者们在进行应用开发时经常会遇到证书与配置文件的问题。为了降低这些复杂性的门槛,部分开发者...

    iOS 5.1.1免证书开发+真机调试+生成IPA全攻略

    iOS开发中的免证书开发与真机调试是许多iOS开发者的迫切需求,尤其是对于个人开发者或小团队来说,购买开发者计划证书的99美元年费是一笔不小的开支。在iOS 5.1.1时代,绕过证书限制进行开发和调试的教程在互联网上...

    Flash 免证书 开发 iOS app

    然而,标题“Flash免证书开发iOS app”指出了一种不寻常的方法,即使用Flash技术来绕过传统的证书流程开发iOS应用。下面我们将详细探讨这一主题。 首先,Flash是一种由Adobe公司开发的多媒体平台,主要用于创建动画...

    免费IOS开发证书Flex

    导入这个文件到开发环境中,可以使系统识别并使用对应的证书进行签名。 总的来说,这个主题涵盖了以下几个关键知识点: 1. iOS应用开发证书:理解Apple的开发和发布证书系统,它们是应用能够在iOS设备上运行的必要...

    xcode 真机调试包 13.0.zip

    在iOS开发过程中,Xcode是苹果官方推荐的集成开发环境(IDE),用于编写Objective-C、Swift等语言的应用程序。这个“xcode 真机调试包 13.0.zip”压缩文件似乎包含了用于真机调试的Xcode 13.0的相关组件,这对于iOS...

    IOS开发免证书真机调试方法(2012圣诞版)

    在iOS开发过程中,为了在真机上进行调试,通常需要苹果官方的开发者证书。然而,这个教程介绍了一种“免证书”...对于当前的iOS开发环境,应优先考虑加入Apple开发者计划并使用官方证书,以确保开发流程的稳定和合法。

    iOS 13.6 xcode 真机包iOS 13.6 xcode 真机包

    在iOS开发过程中,Xcode是苹果官方推荐的集成开发环境(IDE),用于编写iOS和macOS应用程序。"iOS 13.6 xcode 真机包"指的是使用Xcode针对iOS 13.6版本的设备进行真机测试所需的相关资源和配置。在这个压缩包中,...

    Xcode真机调试iOS14.6

    在iOS应用开发中,Xcode是苹果官方提供的集成开发环境(IDE),用于编写、测试和发布iOS、iPadOS以及macOS的应用程序。本篇将详细探讨如何使用Xcode进行真机调试,特别是在iOS 14.6这个版本上。 首先,确保你已安装...

    XE6\XE7移动开发环境搭建之IOS篇

    目录 XE6移动开发环境搭建之IOS篇(1):准备安装材料(有图有真相) 2 XE6移动开发环境搭建之IOS篇(2):安装VM9...[IOS]从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld 635

    xcode 真机调试包 13.3.zip

    在iOS开发领域,Xcode作为Apple官方的集成开发环境(IDE),扮演着至关重要的角色。它提供了全面的工具集,让开发者能够创建、测试和调试iOS应用程序。本篇文章将详细探讨Xcode 13.3版本中的真机调试功能,帮助...

    VMWare 上搭建iOS开发环境SOP

    在VMware上搭建iOS开发环境的总体方案是使用64位Windows 7作为宿主机,通过VMware 9安装Mac OS X Mavericks虚拟机。这个环境将用于安装和运行Xcode,从而进行iOS应用的开发和打包发布。Swift编程语言的使用也包含在...

Global site tag (gtag.js) - Google Analytics