I noticed that Twilio‘s official C# client didn’t have a version that you could use from MonoTouch and Mono for Android. So I took a few minutes, forked the project, and added some MonoDevelop projects so that you can compile for each of those two platforms.
The mono versions are using the silverlight version of the API, which uses async style methods where you pass in callbacks. There are two dependencies: RestSharp, and json.net. Though it looks like RestSharp has shed their dependency on json.net, there are still some references in the twilio code. The json.net project maintain mono specific versions … they depend on a portable library for that cross platform support. Unfortunately that means that you can’t compile it if you’re on a mac and only using monodevelop. Thankfully I found this helpful fork that did this work for me.
At the risk of ‘pushing’ my pull request onto them, I submitted a pull request; But I made sure to word it such that I’m ok if they want to push back and ask for any changes … or maybe they don’t want to maintain a Mono version at all, in which case I’m happy to keep it in my fork. So we’ll see what happens. Please let me know if you have any feedback on this change.
As an aside, I also noticed while I was looking around github that many projects that have mono versions tend to use *.MonoTouch and *.MonoDroid for their project/solution names. It’s a subtle thing, but Xamarin is careful not to refer to their product as MonoDroid, but Mono For Android. I wonder if this has to do with the trademarks that are owned by Lucasarts, if so I’d hate to wake up to a nice C&D in the mailbox