First did you download from getsharekit.com or are you using ShareKit 2.0? If you are using the DL from getsharekit then I highly recommend you upgrade first. Second here some basic installation instructions for getting ShareKit to work with MonoTouch:
Steps
1) Download the code
2) Open in Xcode and if its an App create a new Xcode project of type iOS library
3) Compile the library and take note of the frameworks needed - these will help you later when linking in monotouch
3) Compile a i386 Sim version of the lib and rename to libXYZLib_Sim.a - copy this to /Lib in your project and set its build action to None. You can find this under /ProjectLib/build/Debug-iphonesimulator/
4) Compile a arm6 version with the correct version & copy this to /Lib in your project and set its build action to None. You can find this under /ProjectLib/build/Debug-iphoneos/
5) Run the NovellHeaderParser like so against the library directories that contain .h files
@@
mono "/Users/XX/Projects/NovellHeaderParser/NovellHeaderParser/bin/Debug/NovellHeaderParser.exe" /Users/XX/Documents/ShareKitLib/ShareKit/Core
@@
this should produce a MonoMac.cs file that you can import into your system
6) Repeat step 5 for other directories. NOTE you will really only have to run the parser against .h files with entry points e.g. top level classes that the API calls directly. subclasses, utils, helper methods don't need to be parsed.
7) Combine all the MonoMac.cs files into a new MyLib.cs file and add that to the project under /Lib - set its build options to None
8) Change any references from MonoMac to MonoTouch
10) The parser might create a enum.cs file for each directory parsed but if not create your own called MyLibEnum.cs with any structs or enums needed by the API - add it to /Lib and set build options to None
11) Open a terminal window and navigate to the /Lib dir of your project
12) run the following btouch command line - this will create a wrapper.dll from the interfaces defined in MyLib.cs
@@
/Developer/MonoTouch/usr/bin/btouch -v MyLib.cs -s MyLibEnum.cs
@@
13) Add any missing enums or structs to MyLibEnum.cs and repeat Step 12
14) Fix any multiple declarations of selectors by renaming them - this may cause a problem later (see note 1)
15) Fix any missing references e.g. NSMutableArray does not seem to exist in monotouch so I change these to NSArrays (I think these are mutable under monotouch anyway???)
16) Go back to 12) and repeat until a dll is generated.
17) Add a reference to the dll into the project
18) Add the following into the iPhone Build> additional mtouch options TO THE SIMULATOR DEBUG/RELEASE BUILD:
@@
-gcc_flags "-L${ProjectDir}/Lib -lMyLib_Sim -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir}/Lib/libMyLib_Sim.a -ObjC"
@@
'''Notice'''
no trailing / on -L${ProjectDir}/Lib
-lShareKitLib_Sim does not need need the starting lib prefix or .a suffix
add one -framework for each framework used in the creation of the lib - above is not an exaustive list
19) Add the following into the iPhone Build> additional mtouch options TO THE IPHONE DEBUG/RELEASE BUILD:
@@
-gcc_flags "-L${ProjectDir}/Lib -lMyLib -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir}/Lib/libMyLib.a -ObjC"
@@
20) TEST IT!