|
@@ -1,66 +1,17 @@
|
|
|
-using System;
|
|
|
-
|
|
|
+using Foundation;
|
|
|
using ObjCRuntime;
|
|
|
-using Foundation;
|
|
|
using UIKit;
|
|
|
|
|
|
-namespace NativeLibrary
|
|
|
+namespace iOSBindingOpenCV
|
|
|
{
|
|
|
- // The first step to creating a binding is to add your native library ("libNativeLibrary.a")
|
|
|
- // to the project by right-clicking (or Control-clicking) the folder containing this source
|
|
|
- // file and clicking "Add files..." and then simply select the native library (or libraries)
|
|
|
- // that you want to bind.
|
|
|
- //
|
|
|
- // When you do that, you'll notice that MonoDevelop generates a code-behind file for each
|
|
|
- // native library which will contain a [LinkWith] attribute. VisualStudio auto-detects the
|
|
|
- // architectures that the native library supports and fills in that information for you,
|
|
|
- // however, it cannot auto-detect any Frameworks or other system libraries that the
|
|
|
- // native library may depend on, so you'll need to fill in that information yourself.
|
|
|
- //
|
|
|
- // Once you've done that, you're ready to move on to binding the API...
|
|
|
- //
|
|
|
- //
|
|
|
- // Here is where you'd define your API definition for the native Objective-C library.
|
|
|
- //
|
|
|
- // For example, to bind the following Objective-C class:
|
|
|
- //
|
|
|
- // @interface Widget : NSObject {
|
|
|
- // }
|
|
|
- //
|
|
|
- // The C# binding would look like this:
|
|
|
- //
|
|
|
- // [BaseType (typeof (NSObject))]
|
|
|
- // interface Widget {
|
|
|
- // }
|
|
|
- //
|
|
|
- // To bind Objective-C properties, such as:
|
|
|
- //
|
|
|
- // @property (nonatomic, readwrite, assign) CGPoint center;
|
|
|
- //
|
|
|
- // You would add a property definition in the C# interface like so:
|
|
|
- //
|
|
|
- // [Export ("center")]
|
|
|
- // CGPoint Center { get; set; }
|
|
|
- //
|
|
|
- // To bind an Objective-C method, such as:
|
|
|
- //
|
|
|
- // -(void) doSomething:(NSObject *)object atIndex:(NSInteger)index;
|
|
|
- //
|
|
|
- // You would add a method definition to the C# interface like so:
|
|
|
- //
|
|
|
- // [Export ("doSomething:atIndex:")]
|
|
|
- // void DoSomething (NSObject object, int index);
|
|
|
- //
|
|
|
- // Objective-C "constructors" such as:
|
|
|
- //
|
|
|
- // -(id)initWithElmo:(ElmoMuppet *)elmo;
|
|
|
- //
|
|
|
- // Can be bound as:
|
|
|
- //
|
|
|
- // [Export ("initWithElmo:")]
|
|
|
- // IntPtr Constructor (ElmoMuppet elmo);
|
|
|
- //
|
|
|
- // For more information, see https://aka.ms/ios-binding
|
|
|
- //
|
|
|
+ // @interface OpenCVSwiftFrameworkProxy : NSObject
|
|
|
+ [BaseType(typeof(NSObject))]
|
|
|
+ interface OpenCVSwiftFrameworkProxy
|
|
|
+ {
|
|
|
+ // -(NSString * _Nonnull)getVersion __attribute__((warn_unused_result("")));
|
|
|
+ [Export("getVersion")]
|
|
|
+ string Version { get; }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|