- 浏览: 183840 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wenm168:
这里有iText 5.5导出pdf, 比较常用的功能及表格画斜 ...
JAVA利用iText导出PDF -
dcj3sjt126com:
您好,我情况和您一样,然后我按照这个方式做了之后,没有效果,还 ...
UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法 -
mao_siyu:
这个jar 包 和 这代码里面的类 不一致了,楼主 能改一下吗 ...
JAVA利用iText导出PDF -
wenjie4892543:
写的好。。。
利用jqueryzoom实现图片放大镜效果 -
wenjie4892543:
写的好。。。
oracle实操
开发环境使用的是目前为止最新的稳定版软件:Mac OS X Lion 10.7 + Xcode 4.1
目前Xcode 4.2 Preview版也已经发布,据说其修改方法跟4.1非常类似,只改动了一行代码,请参看参考文章的第二篇。本文仍以4.1版本为例。
更新:现在Xcode 4.2正式版和iOS 5均已发布,下面补充上4.2的修改方法。(2011-10-24)
各步骤会标明版本,比如(Xcode4.1请执行)和(Xcode4.2请执行),4.2.1的修改方法与4.2完全相同
未标明的步骤为两个版本均需执行的步骤!
更新:现在Xcode 4.3已发布,修改方法类似,Xcode 4.3的修改步骤将以(Xcode4.3请执行)标出(2012-2-7)
2012年2月7日更新:
目前本人已经测试并证实有效的平台有
Xcode 4.1:
iPod touch 4 iOS 4.3.3
Xcode 4.2:
iPod touch 4 iOS 4.3.3
iPod touch 4 iOS 5.0
iPod touch 4 iOS 5.0.1
Xcode 4.2.1:
iPod touch 4 iOS 4.3.3
iPod touch 4 iOS 5.0.1
iPhone 4S iOS 5.0.1(5A406)
Xcode 4.3(2012年2月7日更新)
iPhone 4S iOS 5.0.1(5A406)
另外,操作系统的版本貌似对调试影响不大,这期间用过的系统有Mac OS X 10.7~10.7.3,都没有问题。
当然您需要先越狱您的设备并通过Cydia安装AppSync
众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP。这严重阻碍了我等草根开发者探索的脚步。写个小程序,同学间分享一下这个小小的愿望都不能满足,自然不能善罢甘休。
本文参考了多篇文章,综合其中的方法,并修正其中的错误,整理而成。
未经许可,请勿转载。本文首次发表于http://kqwd.blog.163.com/
参考的文章有:
http://laolang.cn/back-end-develop/helloworld-iphone-developer.html
http://ccmos.tw/blog/2011/06/30/xcode4-port-program-to-idevice-without-idp/
http://www.cnblogs.com/flyingzl/articles/2207717.html
众所周知,在Xcode上开发的程序只能在模拟器中运行,如果要放到真机上则要花费99美金购买开发者证书iDP。这严重阻碍了我等草根开发者探索的脚步。写个小程序,同学间分享一下这个小小的愿望都不能满足,自然不能善罢甘休。
在没有iDP的情况下,要想将程序放到iPhone上调试,并最终发布IPA用于分享,需要以下几个步骤:
1.自己为自己颁发一个证书用于为生成的程序签名
2.修改工程配置以及Xcode的配置文件和二进制文件以阻止其验证和签名
3.通过自定义生成步骤,用伪造的证书为应用程序签名
4.使用一点小trick来生成IPA文件
开始之前的友情提示:
1. 本文给有一定基础的朋友看,各种命令是免不了的。UNIX中的基本命令比如cp,mv,cd,chmod,sudo啥的还有vim编辑器,如果您都没听说过,强烈建议您不要尝试本文提到的修改。一旦改错了轻则Xcode挂掉,重则系统崩溃。
2. 本文的每一个步骤都是必须的,如果您哪一步没有得到预期的结果,请不要继续,以免发生更加意外的事情。。。
3. 如果遇到解决不了的问题欢迎留言询问,务必给出详细的错误信息,否则无法判断。博主恕不解答类似于如何执行脚本代码,如何赋予执行权限,如何使用vim编辑器(如何保存)等与iOS开发无关的UNIX基础问题。
1.创建证书
创建证书的过程比较简单,打开实用工具-钥匙串访问。然后在菜单栏里点击钥匙串访问-证书助理-创建证书来打开向导。第一个步骤比较重要,必须要把名称命名为iPhone Developer,将类型设定为代码签名,将"让我覆盖这些默认值"选中。之后的步骤无需更改,一路点击“确定”和“继续”来完成这个向导就可以。
2.修改Xcode的配置文件和二进制文件
下面的步骤稍微有点繁琐,您应该了解UNIX命令行的基本操作,并了解一种命令行文本编辑器,本文使用的是vim。尽管这里会给出完整的代码,但是关于修改和保存代码的基本操作,不再赘述。下面的操作请先将Xcode按Command+Q完全关闭。
(1)修改配置文件
进入目录并备份原文件(4.1、4.2、4.3在这里主要的差别是SDK的目录名不同)
(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/iPhoneOS5.1.sdk
sudo cp SDKSettings.plist SDKSettings.plist.orig
进行编辑
sudo vim SDKSettings.plist
将以下两段中的YES改为NO
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
和
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>
下面修改另外一个文件
进入目录并备份原文件
(Xcode4.1/4.2请执行)cd /Developer/Platforms/iPhoneOS.platform/
(Xcode4.3请执行)cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
备份
sudo cp Info.plist Info.plist.orig
进行编辑
sudo vim Info.plist
将全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,网上的大部分文章说有2处,但我找到了3处,可能是Xcode 4.1要多一处?(Xcode 4.2/4.3也有三处)总之都改掉了。提示:在在vim中输入/要搜索的内容来搜索,按n键是搜索下一处。
(2)二进制补丁
#在桌面上建立script这个脚本
cd ~/Desktop
vim script
#(Xcode 4.1执行)在编辑器中输入如下内容
#!/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 "xc3x26x00x00" >> working
/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
#(Xcode 4.2执行)在编辑器中输入如下内容
#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "xc3x26x00x00" >> working
/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
保存并退出。(4.1和4.2在这里的区别也是目录名不同,就是代码中绿色的部分。4.1是Plug-ins而4.2是PrivatePlugIns)
授予这个脚本执行权限并执行它
chmod 777 script
./script
正常的话应该输出(具体的数字可能有差别)
231+1 records in
231+1 records out
115904 bytes transferred in 0.001738 secs (66694555 bytes/sec)
#(Xcode 4.3注意)在Xcode 4.3版本中,我没有找到iPhoneOS Build System Support.xcplugin这个插件,因此我跳过了这个步骤,并且最终也成功的进行了联机调试。因此我个人认为Xcode 4.3没有必要执行“二进制补丁”这一步骤。请各位朋友测试~!
至此,对SDK中配置文件和二进制文件的修改就完成了
3.准备自定义的生成后脚本
连接互联网后执行
#(Xcode 4.1/4.2执行)
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
#(Xcode 4.3执行)
mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
如果您已经联网,则请直接转到步骤4,如果您没有联网,那么请在相应目录手动创建gen_entitlements.py并授予其执行权限,这个文件的内容为
#!/usr/bin/env python
import sys
import struct
if len(sys.argv) != 3:
print "Usage: %s appname dest_file.xcent" % sys.argv[0]
sys.exit(-1)
APPNAME = sys.argv[1]
DEST = sys.argv[2]
if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):
print "Dest must be .xml (for ldid) or .xcent (for codesign)"
sys.exit(-1)
entitlements = """
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>%s</string>
<key>get-task-allow</key>
<true/>
</dict>
</plist>
""" % APPNAME
f = open(DEST,'w')
if DEST.endswith('.xcent'):
f.write("\xfa\xde\x71\x71")
f.write(struct.pack('>L', len(entitlements) + 8))
f.write(entitlements)
f.close()
4.修改工程设置
特别注意:本阶段之前的修改配置文件、准备脚本等,只需要做一次。但本阶段的操作,对每个需要真机调试的工程都要做一遍。
这个步骤的主要作用是支持真机调试,如果不做这个步骤,仍然可以通过步骤5来生成ipa在真机上运行,但是无法使用Xcode内置的调试器对在真机上运行的程序进行单步跟踪。如果您的程序在点击Run真机调试时秒退,请检查此步骤是否正确完成。
(1)禁用Xcode自动的签名操作将工程配置中所有的Code Signing选项全部设为Don't Code Sign,如图。可能需要先点击“All”让这个选项显示出来
(2)添加自定义的生成后脚本
在Build Phases中添加一个Phase,右下角的Add Build Phase,然后单击Add Run Script,输入以下脚本
(对于Xcode 4.1/4.2)
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then
/Developer/iphoneentitlements401/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.3)
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
如图所示:
至此配置全部完成,下面就可以插上iPhone,重新选择生成目标来测试一下在线调试了!如果是第一次使用该设备调试,请先在Organizer中将设备切换为开发模式,具体操作请见常见问题5。
5.旁门左道生成IPA文件
如果我的程序调试好了,怎么才能发给别人用呢?正常情况下IPA文件是从Xcode的Organizer中输出的,但是我们没有证书,这样输出会产生错误。我们只能用个小trick来完成这个操作了。
先将代码生成为Release目标,然后打开工程的输出文件夹,通常情况下这个目录是
/Users/你都用户名/Library/Developer/Xcode/DerivedData/以工程名打头的文件夹/Build/Products/Release-iphoneos
很纠结吧~这个目录下有个.app的文件,就是生成的程序了。把这个.app拖到iTunes中,它会出现在应用程序那个列表中,然后再把它从iTunes的那个列表中拖出来(比如拖到桌面),发生了什么?哈哈,它就这样变成.ipa了!
把这个.ipa发给朋友,大家就可以跟您一起分享这个程序了。
文章发表以来点击量已经超过了5000次,也收到了不少热心博友的反馈和疑问。现加以整理,列为常见问题。感谢大家的关注!(2011年12月2日)
常见问题:
不成功的先看这里!!本文点击量超过6000,无数网友亲测成功,如果您失败了基本可以确定是您没有严格按照文中的方法操作,下面列出常见问题,切望各位朋友提问前先看看!!(2011年12月14日)
1. 程序运行时报错,或者根本不能通过编译。错误信息类似(感谢博友rinzeng提出)
ARC forbids explicit messsage send of 'release'
'release' is unavailable: not available in automatic reference counting mode
解答:这个错误与本文讨论的问题无关,即使在模拟器上运行也照样会报错。但我愿意在这里予以解答。这个错误是由在iOS 5中最新引进的ARC内存管理机制造成的。解决方法有2种,一是不要加release语句。二是在Build Settings中关闭Objective-C Automatic Reference Counting
2. 各种错误,错误信息中包含“No such file or directory”这句话
解答:错误信息的含义非常清楚,就是“没有这个文件或者目录”。这类错误通常是由于您拷贝代码时不全或者开发环境安装错误等问题导致的。请再次检查报错的目录是否存在,检查代码与本文给出的是否严格一致,各种检查吧~总之是低级错误
3. 联机调试时程序秒退,或者无法安装到设备,或者任何时候报错,错误信息中包含“code sign”、“CERT”或者“certificate”字样的(最常见的错误!!)
解答:证书错误或者签名错误,这种问题就不要问了,肯定是因为您没有严格文中的步骤做。提醒您检查的地方有(1)有没有设置为Don't Code signing (2)生成后事件的代码是否已经正确粘贴 (3)那个Python脚本是否已经成功执行
其中最可能出问题的就是生成后事件代码(文中的那个Run Script)没有正确执行。可能是您忘记了添加Run Script并粘贴那段代码,也可能是您没复制全,或者复制到了啥特殊字符导致执行出错。查看那个script的执行结果的方法是在Xcode左侧的侧边栏里,点最靠右的一个标签(Show the Log navigator),看最近的一个Build日志(不是Debug日志),找到一行Run custom shell script "Run Script"那一行,正常情况下那一行跟其他行一样,是不能展开的。如果那一行左边有个小箭头,点击后能展开的话,说明执行出错,展开后的信息即为出错的信息。请认真查看错误信息并修正脚本中的错误。如果Build日志里根本没有Run custom shell script "Run Script",那说明您忘记添加Build script了。。。(2012年2月9日更新)
4. iPad能用吗?
解答:我没有iPad,所以没法准确回答。但从热心博友的回复来看,iPad无疑是可以用的。
如果要用ipad 需要把第四步脚本文件里的 platform_name == iphones 换成platform_name == ipads 不然会报错的~ (感谢博友xyishao的建议)
感谢qingcheng89提出的改进意见,现在来看上述代码可以直接支持iPad而无需修改,请各位朋友测试。(2012年2月9日更新)
5. 为什么我的Build for Archiving选项是灰色的?
解答:是因为您没有把设备插到电脑上。虽然这个问题挺蠢的,但我曾经也有过这个疑问,哈哈~~
经热心网友xc7296815提醒,设备未开启开发模式也会导致Build for Archiving不可用,开启开发模式的方法是:插上设备,点Xcode右上角的Organizer图标,选中您的设备,在右边窗口中点击“Use for Development” (2011年12月25日)
6.我的iOS版本/Xcode版与你的不同,能用吗?
解答:我只在iPod Touch 4 + iOS 4.3.3 & 5.0 + Xcode 4.1/4.2上测试可用,在iPhone 4和iPad上虽未测试,但根据网友的反馈是可用的。其他环境我没有测试过,也没有条件测试,因此当您的环境与我的不同时,别问我可不可用,您可以试一下,然后把结果告诉我,也为其他的网友提供方便,在此先谢谢您了!
7.真机调试时出现Error launching remote program: failed to get the task for process xxx错误(2012年1月26日更新)
解答:我在调试中貌似没有遇到过这个问题,但是不少网友指出会有这个问题,谁来告诉我什么情况下会出这个问题呢?如果您遇到了这个问题,请阅读Apple官方的帮助文档http://developer.apple.com/library/ios/#qa/qa1710/_index.html
2012年2月1日更新:有网友指出该错误是由于权限设置错误导致的。由于我使用了跟报错的那位网友完全相同的环境,而在操作过程中并没有遇到这个错误,所以基本可以确定是您没有按步骤操作造成的,请您再次检查整个过程,尤其是热心网友提出的下载脚本并修改执行权限的部分。
经本人测试,如果该错误出现在编译运行之后,且现象为设备上的程序闪退,则是由于签名错误导致的,这是由于您没有严格按照上述步骤来做导致的,请参考常见问题3.(2012年2月9日更新)
发表评论
-
CocoaPods本地库管理使用笔记
2016-09-05 16:34 1272设置预编译头文件方式1:s.prefix_heade ... -
AFNetWorking and SDUrlCache 缓存http请求
2014-11-03 14:25 1718SDURLCache *urlCache = [ ... -
设计一个移动应用的本地缓存机制
2014-07-28 11:30 0在手机应用程序开发中,为了减少与服务端的交互次数,加快用户 ... -
IOS开发问题集
2014-07-28 10:42 1049IOS学习问题集 1.UIWebVie ... -
UIWebView问题
2014-07-28 10:00 11351.UIWebView内嵌在UITableView里,web ... -
加载bundle资源方法
2014-06-27 09:37 485[UIImage imageNamed:@" ... -
IOS检测版本更新
2014-06-27 08:42 680如果我们要检测app版本的更新,那么我们必须获取当前运行a ... -
iOS开发中混合使用ARC和非ARC项目
2014-03-06 15:19 778在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用 ... -
关于IOS7应用兼容IOS6
2014-03-06 09:57 909大家都知道现在IOS7已经没有独立的状态栏啦,IOS7默认新 ... -
Objective-C代码注释和文档输出的工具和方法
2014-02-17 11:27 1597代码注释可以让代码更容易接受和使用,特别是在大型项目合作开发 ... -
Tiled地图编辑操作技巧
2013-11-06 15:01 1057Tiled有四种方式可以编辑瓷砖地图,菜单 ... -
UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法
2013-08-16 10:19 13192最近在项目中使用了UIPageViewController来 ... -
IOS代码调试技巧
2013-07-26 10:07 747#define NSA ... -
IOS项目SVN设置
2013-06-17 15:35 1189在团队开发中,经常我们会使用SVN来管理源代码,本人使用Sm ... -
使用Objective-C的文档生成工具:Appledoc
2013-04-25 11:41 2207在项目中经常需要文档 ... -
跳转到app评论页面
2013-04-23 15:56 1146在APP里经常会引导用户给自己的应用评分,实现代码如下: ... -
objc_getAssociatedObject, objc_setAssociatedObject
2012-12-06 11:04 10503category与associative作为object ... -
Popover View
2012-10-10 09:37 927http://blog.getsherpa.com/blog/ ... -
pinyin中文首字母排序
2012-10-10 09:16 1344因项目需要对通讯录中的联系人进行排序,需要对中文字符进行 ... -
自定义控件复选框和单选框的实现
2012-09-25 13:59 1149我们先实现单个按钮,为了复用,不管单选还是复选按钮都 ...
相关推荐
在本文中,我们将详细介绍 Xcode 4.1/4.2 免证书(iDP)开发+真机调试+生成 IPA 的全攻略。我们将分步骤地介绍如何自己颁发证书、修改 Xcode 的配置文件和二进制文件、使用自定义的步骤为应用程序签名和生成 IPA ...
亲测,MAC 10.7 下xcode 4.3完美破解,可真机调试, MAC 10.8 下 xcode4.4 完美破解,可真机调试
Xcode 4.1/4.2/4.3/4.4/4.5 + iOS 5.1.1免证书(iDP)开发+真机调试+生成IPA全攻略
本文将详细地介绍在iOS 5.1.1上实现免证书开发、真机调试以及生成IPA文件的完整攻略。 首先,开发环境的搭建至关重要。在本文提到的时间点上,开发者们倾向于使用MacOSXLion(MacOS 10.7)操作系统,配合Xcode4.1...
### Xcode 4.2/4.1 免证书开发详解 #### 一、引言 对于初涉iOS开发领域的爱好者或小型团队来说,高昂的开发者费用无疑是一大障碍。通常情况下,要在真实设备上测试iOS应用或者进行进一步的分发,都需要购买苹果的...
### XCode 4.2(4.1)真机调试及生成IPA全攻略 #### 一、背景介绍 Xcode是苹果公司提供的官方集成开发环境(IDE),主要用于iOS、macOS、watchOS 和 tvOS应用的开发。Xcode 4.2 (包括4.1) 是苹果在2011年左右发布的...
1、根据《XCode 4.2 免证书调试之生成本机证书.rtf》制作代码签名证书 2、把“Info.plist”拷贝到“/Developer/Platforms/iPhoneOS.platform/”目录下,把原来的文件重命名 3、把“iPhoneOS Build System Support...
Xcode 4.5.2 免证书真机调试生成ipa教程 本文将详细介绍如何在Xcode 4.5.2中实现免证书真机调试,并生成ipa文件。通过本教程,您可以轻松地在真机上调试和分享您的iOS应用程序。 一、创建假证书 在Xcode 4.5.2中...
xcode 4.5.2 免证书真机调试生成ipa 教程二 在本教程中,我们将介绍如何在 xcode 4.5.2 中生成 ipa 文件,用于在其他设备上安装。这里我们不需要证书,只需要按照以下步骤操作。 Step 1:添加自定义的生成后脚本 ...
XCode 最新版本,集合iOS sdk 4.3
Xcode 4.1 and iOS SDK 4.3 GM BT 种子
### iOS Xcode 4.1资源下载与使用详解 #### 一、Xcode 4.1简介 Xcode是苹果公司为开发者提供的集成开发环境(IDE),主要用于开发iOS和macOS应用。它集成了编译器、调试工具、模拟器等,是iOS应用开发不可或缺的一...
在iOS应用开发中,确保应用能够在后台运行、正确配置Xcode、导出IPA包以及进行免证书真机测试是至关重要的环节。以下是这些步骤的详细解释: 1. **iOS后台证书配置步骤**: - 首先,你需要在Apple Developer账号中...
总的来说,Xcode 14.0真机调试包涉及的知识点包括iOS开发环境的搭建、Xcode的结构与功能、真机调试的流程与工具、Apple的开发者账户管理和证书配置,以及移动应用的开发与测试实践。开发者需要熟练掌握这些技能,以...
使用这个压缩包,开发者可以直接在Xcode中配置对应的iOS 16开发环境,进行真机调试,从而高效地完成应用的适配工作。 总的来说,通过Xcode的真机调试包,开发者可以快速地为iOS 16做好准备,确保应用在新系统上的...
适合mac10.7的xcode4.1,移动开发ios应用软件
Xcode3.2.6破解免证书真机开发调试
Xcode 4.2.1、Xcode 4.1 和 Xcode 3.2.6 最终版分别代表了不同时间段内 iOS 开发的重要里程碑。每个版本都有其独特的特性和功能,对于希望了解过去版本特性的开发者来说,这些都是宝贵的资源。虽然现在这些版本可能...