1
votes

I'm looking to create a iOS app utilizing SIP functionality for various functions. I've found the Siphon project hosted here: http://code.google.com/p/siphon/, and see that it's dependent on pjSip.

It looks like I could either create bindings for the pjSip library by following details here: http://docs.xamarin.com/ios/advanced_topics/linking_native_libraries or I could potentially create bindings directly into Siphon obj-c library as detailed here: http://docs.xamarin.com/ios/advanced_topics/binding_new_objective-c_types

Would it be possible to create the equivalent of a 'user control' in obj-c representing the dialer pad, controllers, views, logic - and then add that to a MT project, and have that obj-c 'user control' added to a form in MT?

I'm new to obj-c and MT, so please let me know if I missed something obvious, it looks like a lot of this has changed with recent releases.

Update -

After some further research, it looks like it should be possible to have a static library developed within Xcode/Obj-c. Then added as native reference to a MonoTouch along with bindings and any additional bundles. Then I should be able call the library method, which retrieves a xib/controller and pushes to display. I'm imagining this to work similar to Asp.Net MVC Areas? Can anyone confirm this approach would or would not work?

Thanks,

Matt

2

2 Answers

1
votes

I think there is a new method for linking OBJ-C code in 5.0.1 Monotouch which is a lot easier to use: Link with Attribute. Hopefully this will help you.

1
votes

It seems this is absolutely possible. I've created sample project within MT that adds reference to Tabku library and places a TKCalendarMonthlyView onto a form. This then uses included controller/delegate and bundle resources for interaction.

I used this library because bindings existed for it, there is a nice collection to be found here.

In addition, you can find project templates for creating a static linked framework here.

With the above information I was able to create a .a target and define bindings to build a .dll that I could add as reference within MT. Then I added the required bundle (add folder) assets, defined a new view for display - and we're golden!

Hope this helps anyone in the future