打开XCode新建一个项目,选择library下的“Cocoa touch Static library”并命名为“Encryptlibrary”。这个新建的静态库项目下除了“Encryptlibrary_Prefix.pch”外没有任何程序文件,在Classes文件夹上点右键选择“New file…”,然后在“Cocoa touch Class”下选择“Objective-C class”,将源文件命名为“Encrypt.m”,同时选择生成Encrypt.h头文件,可以看到在Classes目录下产生了Encrypt.h和Encrypt.m文件。接着在Encrypt.h头文件里输入以下内容:
#import <Foundation/Foundation.h>
@interface Encrypt: NSObject {
}
//对明文的用户名和密码进行编码,返回编码后的字符串
+(Nsstring *)EncryptUsernameAndPassword:( Nsstring *)strUsername Password:( Nsstring *)strPassword;
@end
实现文件Encrypt.m内容如下:
#import "Encrypt.h"
@implementation Encrypt
+ (Nsstring *)EncryptUsernameAndPassword:( Nsstring *)strUsername Password:( Nsstring *)strPassword
{
@H_404_208@Nsstring *strEncrypted = [Nsstring stringWithFormat:@"Username : %@,Password : %@",strUsername,strPassword];
Return strEncrypted;
}
@end
这里提供了一个对明文的用户名和密码进行编码的函数。至此,这个静态函数库已经编写完毕,编译这个程序会看到在Products目录下产生了名为“libEncryptlibrary.a”的静态库文件。
2、新建项目测试上面开发的静态链接库
新建一个“Window-based Application”项目并命名为“EncryptlibraryTest”,下面演示如何在这个新项目里利用前面生成的静态库libEncryptlibrary.a文件。
首先打开Finder,将上面编译生成的libEncryptlibrary.a文件复制到EncryptlibraryTest.xcodeproj同级目录,将Encrypt.h复制到EncryptlibraryTest.xcodeproj同级目录的Classes文件夹下面,在Xcode中右键点Frameworks->Add->Existing files..添加刚才复制的libEncryptlibrary.a文件, 接下来使用静态库中的函数,如下:
#import <UIKit/UIKit.h>
#import "Encrypt.h"
@interface @H_901_403@EncryptlibraryTestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
}
@property (nonatomic,retain) IBOutlet UIWindow *window;
@end
修改相应的实现文件如下:
#import "@H_901_403@EncryptlibraryTestAppDelegate.h"
@implementation @H_901_403@EncryptlibraryTestAppDelegate
@synthesize window;
- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// OverrIDe point for customization after app launch.
[self.window addSubvIEw:vIEwController.vIEw];
[self.window makeKeyAndVisible];
Nsstring *strUsername = @”caijinhui”;
Nsstring *strPassWord = @”password”;
Nsstring *strEncrypted =[ Encrypt EncryptUsernameAndPassword: strUsername Password: strPassWord];
NSLog(@”%@”,strEncrypted);
return YES;
}
- (voID)dealloc {
[window release];
[super dealloc];
}
@end
编译一下,顺利通过,在Console输出编码后的字符串。
提示:因为本文档是用Office 2007写的,所以在Mac系统下用文本编辑器打开,会出现部门不正常字符,特别是程序中一些双引号,若编译出错,请更改相关双引号。
总结以上是内存溢出为你收集整理的iOS使用静态链接库(基础篇)全部内容,希望文章能够帮你解决iOS使用静态链接库(基础篇)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)