IOS 使用Xcode5制作静态库详解

IOS 使用Xcode5制作静态库详解

  (2013-12-23 15:21:12)
标签: 

it

 

ios

 

静态库

分类: iOS笔记
开发IOS程序时我们使用的是Objective-c语言,Objective-c语言有.h .m 文件组成。静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。IOS静态库适合去制作第三方提供的SDK。
下面讲解如何在Xcode5上生成静态库。
1、点击Xcode创健一个新的工程。选择Framework&Library,再选择Cocoa Touch Static Library。直接next去建立一个工程,工程名称自己定义好。

IOS <wbr>使用Xcode5制作静态库详解


2、我们添加一个弹出提示框的方法,简化弹出的代码,将主要的码代放到这个类实现,


#import 

@interface MyAlertView : UIAlertView<</span>UIAlertViewDelegate>

//只弹出提示文字的确定按扭,不执行代理方法

//@param    mesageString    提示的肉容。

+ (void)showMesage:(NSString *)mesageString;

 

@end



#import "MyAlertView.h"


@implementation MyAlertView


//只弹出提示文字的确定按扭,不执行代理方法

//@param    mesageString    提示的肉容。

+ (void)showMesage:(NSString *)mesageString

{

    

    UIAlertView *alertView=[[UIAlertView allocinitWithTitle:nil

                                                      message:mesageString

                                                     delegate:nil

                                            cancelButtonTitle:@"确定"

                                            otherButtonTitles:nil];

    [alertView show];

    [alertView release];    

}

 

@end


3、生成静态库

创健好方法后,现在我们开始制作静态库。静态库的制作方法可分为两种:第一种为在真机上使用的静态库,第二种为在模拟器中使用的静态库。这两种方法制作起来有点小区别,一定要注意。

我们开始从模拟器入手。

如图,先选择模拟器iPhone 6.0,如果你的Xcode5没有下载ios6的话只能选择ios7。然后Build工程,构建工程完毕后libSDKLib.a静态库文件就生成了出来。

注意未编译前为红色:

IOS <wbr>使用Xcode5制作静态库详解

编译后为黑色:

IOS <wbr>使用Xcode5制作静态库详解

打开我们的工程文件找到刚才生成的文件,这样在
模拟器中使用的静态库就生成好了。

IOS <wbr>使用Xcode5制作静态库详解

4、静态库的调用

调用静态库的方法如下:创健一个新的工程,调用我们刚才生成好的静态库,

将我们生成的静态库和生成静态中用到类的头文件导入到新健的工程中:

IOS <wbr>使用Xcode5制作静态库详解


调用的方法如下

 

 


#import "ViewController.h"

#import "MyAlertView.h" //导入头文件


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

    

    //直接调用静态库中的方法

    [MyAlertView showMesage:@"静态库测试"];

}


 

@end


运行结果

IOS <wbr>使用Xcode5制作静态库详解

 

到这一步我们已经将静态库顺利的应用在模拟器当中,


5.生成真机模式下的静态库

我们再次回到制作静态库的工程当中,如图打开工程后编译环境选择IOS Device,然后构建构成即可完成。

IOS <wbr>使用Xcode5制作静态库详解

打开工程文件,在Debug-iphoneos / libMyAlertView.a 就是可以在真机上编辑的静态库。

IOS <wbr>使用Xcode5制作静态库详解


模拟器静态库只能运行在模拟器上而真机静态库也只能运行在真机上,这样就比较麻烦,通过下面的步骤将两个静态库合成一个,这样在模拟器和真机上都能用了。


6、合并.a文件,制作通用静态库

这一步在终端进行

命令如下:

 

lipo -create /Users/jim/Desktop/MyAlertView/Build/Products/Debug-iphoneos/libMyAlertView.a /Users/jim/Desktop/MyAlertView/Build/Products/Debug-iphonesimulator/libMyAlertView.a    -output /Users/jim/Desktop/libMyAlertView.a


/Users/jim/Desktop/MyAlertView/Build/Products/Debug-iphoneos/libMyAlertView.a  /Users/jim/Desktop/MyAlertView/Build/Products/Debug-iphonesimulator/libMyAlertView.a 替换成你的路径。 

/Users/jim/Desktop/libMyAlertView.a替换成合并后的路径。


这样合并后的静态库就可以模拟器和真机上运行了。


参考文献

http://xys289187120.blog.51cto.com/3361352/786930

http://hi.baidu.com/sxgg008/item/43ab4146e460e4bbde2a9f38 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在iOS使用Xcode进行离线打包,需要遵循以下步骤: 1. 确保你已经安装了Xcode并拥有一个有效的开发者账号。 2. 打开Xcode并选择 "File" -> "New" -> "Project"。 3. 选择 "iOS" -> "Application" -> "Single View App",并点击 "Next"。 4. 输入项目名称和其他信息,然后点击 "Next"。 5. 选择一个位置来保存你的项目文件,然后点击 "Create"。 6. 在左侧导航栏中选择你的项目,并在 "General" 选项卡下找到 "Identity" 部分。 7. 点击 "Team" 下拉菜单并选择你的开发者账号。 8. 关闭Xcode并在终端中打开你的项目文件夹。 9. 运行以下命令来创建一个离线打包的IPA文件: ``` xcodebuild clean archive -scheme <YourSchemeName> -archivePath <YourArchivePath.xcarchive> CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ``` 其中,`<YourSchemeName>` 是你项目中的 scheme 名称,`<YourArchivePath.xcarchive>` 是你想要保存的归档文件的路径。 10. 运行以下命令来导出IPA文件: ``` xcodebuild -exportArchive -archivePath <YourArchivePath.xcarchive> -exportOptionsPlist <YourExportOptions.plist> -exportPath <YourIPAPath.ipa> ``` 其中,`<YourArchivePath.xcarchive>` 是你刚才创建的归档文件的路径,`<YourExportOptions.plist>` 是一个导出选项的配置文件,`<YourIPAPath.ipa>` 是你想要保存的IPA文件的路径。 11. 完成后,你应该可以在 `<YourIPAPath.ipa>` 路径下找到你的IPA文件。 请注意,此方法需要你已经有一个有效的开发者账号,并且你需要使用终端来执行命令。此外,此方法可能存在不稳定性和错误,因此请谨慎使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值