
iPhone如何打包成一个通用的静态库
文件(模拟器和真机都可以用)看1.先来一个必须的
命令:~/Library目录在lion下是默认隐藏的。这样很不方便。用一下命令可以使其显示:chflagsnohidden~/Library如果想再让其隐藏,可以:chflagshidden~/Library2.静态库工程的建立:XcodeNew一个新的project,选择IOS下面的Framework&Library,下面有一个CocoaTouchStaticLibrary。直接next去建立一个MtimeLibrary这样的工程。(里面的功能就不要关注了,简单2个数相加)3.工程建立以后,删除默认的.h.m文件,
然后自己创建CountNumbers..hCountNumbers..m文件。如下图:4.OK,选择iPhone5.1Simulator,Command+B编译,我们可以在Products下面找到我们编译生成一个模拟器上可运行的libMtimeLibrary.a这个文件,然后选择真机(如下歼陪图)再编译一次,这样会生成一个可以真机运行的libMtimeLibrary.a库。5.在libMtimeLibrary.a右键OpeninFinder,可以找到libMtimeLibrary.a所在路径、后面我们会新建一个项目来添加这个.a文件测试。打开终端:输入以下命令(路径根据自己的来决定)cd/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/这样就到了Products目录下了,ls以后可以看到:再输入一个命令:cdDebug-iphonesimulator/然后通过下面命令来查看libMtimeLibrary.a信息命令:lipo-infolibMtimeLibrary.a显示:cashmatoMacBook-Pro:Debug-iphonesimulatorcash$lipo-infolibMtimeLibrary.ainputfilelibMtimeLibrary.aisnotafatfileNon-fatfile:libMtimeLibrary.aisarchitecture:i386i386是mac上的架构。然后再输入下面命令:cd../cdDebug-iphoneos/继续通过命令来查看lipo-infolibMtimeLibrary.a,显示:cashmatoMacBook-Pro:Debug-iphoneoscash$lipo-infolibMtimeLibrary.ainputfilelibMtimeLibrary.aisnotafatfileNon-fatfile:libMtimeLibrary.aisarchitecture:armv7armv7是iOS上的jia'ge架构。到这里我们也明白了,为什么一个在真机上可以使用,一个只能在模拟器上使用了吧!氏袭蠢最后我们要做的就是要让这个libMtimeLibrary.a文件同时有i386和armv7信息,这样就禅凯是一个通用的静态库文件了。6.新建一个MtimeLibraryDemo应用,然后把真机或者模拟器的libMtimeLibrary.a和CountNumbers.h文件引入进来,如图:添加CountNumbers.h文件到需要调用的类里面,然后就可以调用libMtimeLibrary.a里面的方法了。////AppDelegate.m//MtimeLibraryDemo////Createdbycashon12-3-23.//Copyright(c)2012年__MyCompanyName__.Allrightsreserved.//#import"AppDelegate.h"#import"CountNumbers.h"@implementationAppDelegate@synthesizewindow=_window-(void)dealloc{[_windowrelease][superdealloc]}-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{self.window=[[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease]//Overridepointforcustomizationafterapplicationlaunch.CountNumbers*cn=[[CountNumbersalloc]init]intcount=[cnaddTwoNumbers:10:20]NSLog(@"count:%d",count)self.window.backgroundColor=[UIColorwhiteColor][self.windowmakeKeyAndVisible]returnYES}7.OK,编译运行这个应用程序。错误了。。这个就是这篇文档的关键了.我们找到刚才生成真机和模拟器的libMtimeLibrary.a目录。debug-iphoneos里面的是基于arm6arm7编译出来的库文件。debug-iphonesimulator文件夹下面的是基于i386编译出来的文件。10.最后是关键步骤:通过lipo-create命令来合并2个静态库文件。(-output后面的/Users/cash/Desktop/test/libMtimeLibrary.a是合并后的路径和文件名字)lipo-create"/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/Debug-iphonesimulator/libMtimeLibrary.a""/Users/cash/Library/Developer/Xcode/DerivedData/MtimeLibrary-amyqbnwwzcivnyeijggzaorseihj/Build/Products/Debug-iphoneos/libMtimeLibrary.a"-output"/Users/cash/Desktop/test/libMtimeLibrary.a"成功!最后通过命令lipo-infolibMtimeLibrary.a可以知道这个文件已经有i386和armv7信息了。cashmatoMacBook-Pro:testcash$lipo-infolibMtimeLibrary.aArchitecturesinthefatfile:libMtimeLibrary.aare:i386armv7cashmatoMacBook-Pro:testcash$首先你要设置一个断点,位置在档搏你要查看的变量值的附近,然后运行程序: 点击红框里的“跳过”按钮,直到代码运行到你需要查看漏亩的变返蠢森量之后为止。你可以将鼠标停留在变量上片刻,XCode会在小气泡中显示变量的值。参考链接: reddit 和 apple developer
reddit中介绍了两种方法可以将xcode中略显憋屈的Debug area变得足够大的方法
1 硬件需求:多显示器者历,去到其中一个显示器并确保xcode menu bar 在这个显示器上,选择菜单 View->Debug Area->Activate Console,此时会首消搜在当前显示器上使用单独的窗口显示console(此方法未亲测过)
2 在调试运行app的时候打开spearate window,并关闭tab中的edit area,utility area,以使debug area被动变大的方案。选择菜单XCode->Behaviors->Edit Behaviors(或者cmd+, ->behaviors),选择在running start的时候,在show tab name后面填写一个自桥昌定义的名字串,并在随后的下拉列表中选择in separate window,随后显示或者关闭各区域的方法可以在上述apple developer页面中找到 *** 作的具体步骤。(亲测有效)
评论列表(0条)