转:http://blog.csdn.net/ztp800201/article/details/7797410
环境:
Mac OS X 10.7.4+XCode4.3.3+ iPad3
特别说明:
Xcode4.3.2 , Xcode4.3.3
都是免安装的,打开dmg后,只有一个Xcode.app文件。安装方法是直接将Xcode.app拖放到“应用程序”(Applications)的目录即可使用。安装后没有Developer目录,所以以下的制作方法也是Xcode.app的安装包中进行的。
而xcode4.1/xcode4.2,则是安装到/Developer/目录下,从该目录下去找相应的文件。
另外,你的iPhone或iPad必须越狱的。
1、生成iPhone Developer证书<wbr></wbr>
在“使用工具”中使用 “钥匙串访问” 工具,“钥匙串访问->证书助理->创建证书”名称必须写成 “iPhone
Developer”其他全部默认,直至证书生成完成。<wbr></wbr>

2、修改XCode系统文件<wbr></wbr>
<wbr>(2.1)
运行</wbr>命令:<wbr></wbr>
cd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk<wbr></wbr>
sudo vim
SDKSettings.plist<wbr></wbr>
此时进入vim文件编辑状态(会提示password
输入Mac登陆密码后回车)<wbr></wbr>
其它版本,进入:
(Xcode4.5请执行)cd<wbr>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk</wbr>
(注:i
进入Insert状态,修改完成后按ESC键退回到命令状态,Q退出 :w 保存 :q
退出)<wbr></wbr>
将下面两个字段修改为NO
CODE_SIGNING_REQUIRED<wbr></wbr>
YES<wbr></wbr>
ENTITLEMENTS_REQUIRED<wbr></wbr>
YES<wbr></wbr>
其它版本该文件所在的位置:
(Xcode4.1) cd
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/
(Xcode4.2)cd
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/
(Xcode4.3)cd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
(Xcode4.3.2)cd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
<wbr>(2.2)
进入另外一个目录</wbr>
cd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
进行编辑:<wbr><wbr></wbr></wbr>
sudo vim Info.plist
将全部的XCiPhoneOSCodeSignContex<wbr>t 修改成
XCCodeSignContext。保存退出即可。<br></wbr>
(提示:在vim中输入/要搜索的内容来搜索,按n键是搜索下一处。)
其它版本该文件所在的目录:
<wbr></wbr>
(Xcode4.1/4.2)cd /Developer/Platforms/iPhoneOS.platform/
(Xcode4.3/4.3.2)cd
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
3、增加文件gen_entitlements.py<wbr></wbr>
cd
/Applications/Xcode.app/Contents/Developer/<wbr></wbr>
mkdir iphoneentitlements(如果创建失败可直接通过Finder 前往
/Applications/Xcode.app/Contents/Developer/手动去创建此文件夹)<wbr></wbr>
cd iphoneentitlements<wbr><br>
curl -O
http://www.alexwhittemore.com/iphone/gen_entitlements.txt(通过网站下载了一个文件)<wbr><br>
mv gen_entitlements.txt
gen_entitlements.py<wbr></wbr></wbr></wbr>
chmod 777<wbr><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px;">gen_entitlements.py</span></wbr>
如果没有连接网络的,那么请在相应目录手动创建gen_entitlements.py并授予其执行权限,这个文件的内容为:
#!/usr/bin/env python
import sys
import struct
if len(sys.argv) != 3:
<wbr>print "Usage: %s appname dest_file.xcent" %
sys.argv[0]<br><wbr>sys.exit(-1)<br><br><br>
APPNAME = sys.argv[1]<br>
DEST = sys.argv[2]<br><br><br>
if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):<br><wbr>print "Dest must be .xml (for ldid) or .xcent
(for codesign)"<br><wbr>sys.exit(-1)<br><br><br>
entitlements = """<br><br><br><br><br><wbr><wbr> application-identifier<br><wbr><wbr> %s<br><wbr><wbr> get-task-allow<br><wbr><wbr><br><br><br>
""" % APPNAME<br><br><br>
f = open(DEST,'w')<br>
if DEST.endswith('.xcent'):<br><wbr>f.write("\xfa\xde\x71\x71")<br><wbr>f.write(struct.pack('>L', len(entitlements) +
8))<br>
f.write(entitlements)<br>
f.close()<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
4、配置XCode项目
特别注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。
但本阶段的操作,对每个需要真机调试的工程都要做一遍。
<wbr>(1)禁用Xcode自动的签名操作<br>
将工程配置中所有的Code Signing选项全部设为Don't Code
Sign,如图。可能需要先点击“All”让这个选项显示出来。如下:<br></wbr>

(2)添加自定义的生成后脚本
(对于Xcode 4.3/4.3.2)
export<wbr></wbr>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
(对于Xcode 4.6.2)
<wbr></wbr>
export
CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if<wbr>[
"${PLATFORM_NAME}" =="iphoneos" ] || [ "${PLATFORM_NAME}" ==
"ipados"]; then</wbr>
/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
<wbr></wbr>
如下:

至此配置全部完成,下面就可以插上iPhone或iPad,重新选择生成目标来测试一下在线调试了!如果是第一次使用该设备调试,请先在Organizer中将设备切换为开发模式。
从Xcode工具栏右上角打开Organizer,如下图:

5、生成IPA文件
正常情况下IPA文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。我们只能用个小trick来完成这个操作了。
先将代码生成为Release目标,然后打开工程的输出文件夹,通常情况下这个目录是
/Users/你的用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos
很纠结吧~这个目录下有个.app的文件,就是生成的程序了。把这个.app拖到iTunes中,它会出现在应用程序那个列表中,然后再把它从iTunes的那个列表中拖出来(比如拖到桌面),发生了什么?哈哈,它就这样变成.ipa了!
最后感谢各位前辈门的参考文档,他们也也很辛苦。学习了很多,希望这个文章对学习的朋友们有用。
http://blog.csdn.net/wangchenggggdn/article/details/8601484
相关推荐
### Xcode 打包 IPA 上传至 App Store 完整教程 #### 一、准备工作:申请 iOS 发布证书与描述文件 **1. 创建唯一标识符 AppIDs** - **登录开发者中心**:首先访问 https://developer.apple.com/cn/ 开发者中心,...
在进行iOS应用的自动打包过程中,开发者经常会使用Xcode提供的命令行工具xcodebuild来实现。本篇知识点将详细解释如何使用xcodebuild来完成从项目文件(.xcodeproj或.xcworkspace)到生成IPA包的整个流程。此外,也会...
【Xcode5&4.6.3 + iOS 7&6免证书开发+真机调试+生成ipa全攻略】 在iOS应用开发过程中,通常需要购买苹果的开发者账号以获得真机调试和应用发布的权限。然而,对于那些没有开发者账号或者想要在没有官方证书的情况下...
Xcode 4.1/4.2/4.3/4.4/4.5 + iOS 5.1.1免证书(iDP)开发+真机调试+生成IPA全攻略
在iOS应用开发过程中,将Unity项目打包为IPA(iPhone Application)文件是发布到App Store的必要步骤。手动进行这个过程可能会耗费不少时间,特别是在反复调试和更新版本时。因此,通过自动化工具来实现Unity自动...
xcode 4.5.2 免证书真机调试生成ipa 教程二 在本教程中,我们将介绍如何在 xcode 4.5.2 中生成 ipa 文件,用于在其他设备上安装。这里我们不需要证书,只需要按照以下步骤操作。 Step 1:添加自定义的生成后脚本 ...
这将生成一个.ipa文件,你可以通过iTunes或其他分发方式分享或上传到App Store Connect。 值得注意的是,离线打包过程中可能会遇到各种问题,如文件路径错误、证书问题或模块配置不正确导致的白屏等。这时,参照...
**Xcode上传App工具——Application Loader** 在iOS应用开发中,完成编码、测试后,将应用程序上架到App Store供用户下载是至关重要的步骤。在Xcode 11之前,开发者通常使用内置的"Organizer"功能或者独立的工具...
### Xcode免证书开发调试并构建IPA方法详解 在iOS应用开发过程中,证书管理一直是一项繁琐的任务,尤其对于初学者来说。本文档介绍了一种在Xcode 4.3版本中进行免证书开发调试并构建IPA的方法。这种方法适用于希望...
低版本的Xcode打包ipa上传AppStore报错ERROR ITMS-90725,显示报内容 通过以下路径去找sdk:Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 解压替换
可能包括清理旧的构建产物、设置构建环境、执行`xcodebuild`命令、处理打包后的IPA文件、打tag、更新版本号等步骤。为了确保脚本的可维护性和复用性,脚本应该结构清晰,模块化处理各个任务,并且有良好的错误处理...
Windows 系统实现 IOS 打包 IPA 教程 本教程主要讲解如何在 Windows 系统上实现 IOS 打包 IPA 的过程。该过程需要安装 VMware 软件和 Mac OS 补丁,以便在 Windows 系统上模拟 Mac OS 环境。 第一步:安装 VMware ...
在iOS开发过程中,为了分发应用或提交到App Store,开发者需要将项目打包成IPA文件。这个过程通常涉及编译、签名以及创建归档等一系列步骤,耗时较长。"XCode极速打包脚本"旨在解决这个问题,通过自动化脚本实现快速...
这个路径揭示了Xcode的内部结构,其中“/应用程序/”是MacOS系统的应用程序目录,“Xcode.app”是Xcode的可执行文件,而“Contents/Developer”包含了Xcode的所有开发者工具,包括编译器、模拟器、文档等。...
在iOS应用开发中,确保应用能够在后台运行、正确配置Xcode、导出IPA包以及进行免证书真机测试是至关重要的环节。以下是这些步骤的详细解释: 1. **iOS后台证书配置步骤**: - 首先,你需要在Apple Developer账号中...
若需为App Store发布,需要替换`Debug`为`Release`,并且执行`xcodebuild -exportArchive`来导出IPA文件。Python可以通过`subprocess`模块调用这些命令。 对于“store, deve, adhoc",它们分别对应不同的打包类型:...
苹果开发账户中添加Udid,签名证书和ipa打包的过程主要包括添加证书、创建App ID、添加设备和制作Profile文件四个步骤。通过这四个步骤,可以将应用程序安装到自己的iOS设备上测试、或者安装到别人的iOS设备上,或者...
在iOS开发过程中,有时我们需要自动化地编译iOS工程并生成APP及IPA文件,这在持续集成或批量构建应用时尤其重要。以下是如何实现这一过程的详细步骤和注意事项: 首先,你需要确保你的工程已经配置好发布(Release...
RxSwift与Swift3.2以及Xcode8的结合使用,能够帮助开发者编写出更加结构化和可维护的代码。 首先,响应式编程(Reactive Programming)是一种编程范式,它通过使用数据流(或称为事件流)和变化传播来构建应用。在...
iOS 自动化打包脚本,并上传*ipa*文件至蒲公英。参数说明: ``` Usage: autobuild.py [options] Options: -h, --help show this help message and exit -w name.xcworkspace, --workspace=name.xcworkspace ...