原文 引用Objective-C class libraryios
这个范例是如何在Xamarin.ios中去使用一个咱们自行在Xcode中开发的Objective-c Class Library. 主要会执行的步骤以下objective-c
1.1在xode里面创建一个Static class Library , 命名为[sharecode]api
sharecode.h
#import <Foundation/Foundation.h>
@interface sharecode : NSObject{
}
- (NSString *)test;
@endxcode
sharecode.m
#import "sharecode.h"
@implementation sharecode
-(NSString *) test{
return @"Hello Binding";
}
@end架构
1.2在命令提示字符接口中以Xcodebuild编译这个项目
预设static library编译后只能给ARM架构 的IOS Device 执行, 因为iOS仿真器属于X86架构, 所以须要再编译一份程序让仿真器执行. 请在终端机接口中用xcodebuild指令来产生相对应的档案iphone
1.3使用lipo指令将.a档案包成一个单一档案
将上一个步骤产生出来的档案透过lipo指令打包成一个单一档案.范例程序请参考下方
lipo -create -output libsharecode.a libsharecode-armv7.a libsharecode-i386.aide
lipo -create -output test.a ./build/ Debug-iphoneos/ libtest.a ./build/Debug-iphonesimulator/ libtest.a网站
2.1 下载objective sharpie toolui
3.2调整iOS Binding 项目
3.2.1 修改 ios xcode binding 项目的ApiDefinition.cs
将刚刚由Objective sharpie帮咱们创建的Matadata档案内容复制到ios xcode binding里面的ApiDefinition.csspa
3.2.2 在ApiDefinition.cs档案中有两个地方要作修正.
删除后的结果以下:
2.确认在Public partial interface 后面的名称大小写与咱们在Xcode 中创建的Class library名称是同样的.
3.3在IOS Binding项目中把Xcode class library中编译 .a的项目加进来而后编译这个项目