原文 引用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的項目加進來而後編譯這個項目