Binding Objective-C
Libraries
Pierce Boggan
Xamarin Support Engineer
pierce.boggan@xamarin.com
pierce@pierceboggan.com
Why?
• Time
• Money
• Creativity
• “Great artists steal”
Potential Obstacles
• Complicated
• Just another thing to learn
• No Objective-C knowledge
• No knowledge of the process
Simplicity
• No Objective-C knowledge is required (for most simple libraries)
• Tools that cut down time to bind
• Very mechanical, repeatable process
Binding vs. Converting
Binding
• Little-to-no Objective-C knowledge required
• Quick and straightforward
• Less customization and extensibility
Converting
• Objective-C knowledge is a must
• Quite tedious
• More customization and extensibility
Expectations
WON’T:
• Be a bindings expert
• Be able to bind complex libraries
WILL:
• Be able to bind simple libraries with no Objective-C knowledge
• Have a solid foundation moving forward
Finding & Downloading Libraries
WHAT:
• UI Controls
• SDKs
• Helper Libraries
WHERE:
• CocoaControls
• Github
• Twitter
First Time Downloads
• Objective Sharpie
• Xcode Command Line Tools
• Other SDKs to bind against
DEMO
QBFlatButton
• Open-sourced on Github
• Text version
Process Review
1. Identify & Download Library
2. Create an Objective-C Static Library
3. Generate Bindings with Objective Sharpie
4. Create iOS Binding Project in Xamarin Studio
Process Review: Optional
1. Create Demo Project
2. Open-source on Github
3. Submit to the Xamarin Component Store
Moving Forward: Reading Up
• Programming with Objective-C (Apple)
• Binding Objective-C Libraries (Xamarin)
• Binding Types Reference (Xamarin)
• .NET Framework Design Guidelines (Microsoft)
Moving Forward: Practice
• Remember: Practice makes perfect!
• Examine other bindings in the mono/monotouch-bindings
repository
• Make small additions/fixes to existing bindings
• Bind progressively larger libraries on your own
Q&A
THANK YOU

More Related Content

PDF
Why use Go for web development?
PDF
SGCE 2015 REST APIs
PDF
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
PPTX
Exploring Content API Options - March 23rd 2016
PPTX
Bayt training
PDF
HTML5のご紹介
PDF
Learning from the Ulabox stack
PDF
ITT Flisol 2013
Why use Go for web development?
SGCE 2015 REST APIs
Spirit-teknologiapäivät Petri Niemi HTML5 & JavaScript Developereille
Exploring Content API Options - March 23rd 2016
Bayt training
HTML5のご紹介
Learning from the Ulabox stack
ITT Flisol 2013

What's hot (20)

KEY
Conferences andcommunity
PPTX
Untangling - fall2017 - week 7
PDF
Refactoring Rails applications with RubyMine
PPTX
Coding for the cloud - development of modern web applications
PPTX
A tour of the c# language
PPTX
Building a real time html5 app for mobile devices
PDF
Next Generation Web Development Techniques with Cloud Foundry
PPTX
Info Tech presentation
PPTX
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
PPTX
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
KEY
The Architect Way
PDF
Conquering AngularJS Limitations
PDF
Python to go
PPTX
Lightning talk how to edit the Silverstripe CMS docs
PDF
Lessons in Open Source from the MongooseJS ODM
PPTX
SharePoint and javascript – modern development
PDF
The New Frontend Toolchain
PDF
TDD a REST API With Node.js and MongoDB
PDF
MongoDB MEAN Stack Webinar October 7, 2015
PPTX
SoCal Code Camp 2011 - ASP.NET 4.5
Conferences andcommunity
Untangling - fall2017 - week 7
Refactoring Rails applications with RubyMine
Coding for the cloud - development of modern web applications
A tour of the c# language
Building a real time html5 app for mobile devices
Next Generation Web Development Techniques with Cloud Foundry
Info Tech presentation
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
DrupalCamp Ghent 2014 - Developing Drupal 7 with Drupal 8 in mind
The Architect Way
Conquering AngularJS Limitations
Python to go
Lightning talk how to edit the Silverstripe CMS docs
Lessons in Open Source from the MongooseJS ODM
SharePoint and javascript – modern development
The New Frontend Toolchain
TDD a REST API With Node.js and MongoDB
MongoDB MEAN Stack Webinar October 7, 2015
SoCal Code Camp 2011 - ASP.NET 4.5
Ad

Similar to Binding Objective-C Libraries in Xamarin.iOS (20)

PPTX
PHP Framework Battle
PDF
Git and GitHub for Documentation
PPT
Portable Class Library Deep Dive
PDF
The Python in the Apple
PDF
Lessons learned: Choosing your documentation system
PDF
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
KEY
Continuous Integration In A PHP World
PPTX
Less is more: Getting Real About Content and Features
PDF
Fission Introduction
PDF
Ohio Devfest - Visual Analysis with GCP
PPTX
Untangling the web11
PPTX
cpp-2013 #1 C++ basics
PDF
Library, Library Lets Use THAT Library – DFW Mobile
PPTX
Documenting an API for the First Time? Quick-Start Tips for Your First API Do...
KEY
CodeIgniter for Startups, cicon2010
PPT
Native App Development for iOS, Android, and Windows with Visual Studio
PPTX
Automated Acceptance Testing from Scratch
PDF
Dockerize or die
PPTX
Super tools to boost productivity in React dev env!
PDF
Prototyping like it is 2022
PHP Framework Battle
Git and GitHub for Documentation
Portable Class Library Deep Dive
The Python in the Apple
Lessons learned: Choosing your documentation system
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Continuous Integration In A PHP World
Less is more: Getting Real About Content and Features
Fission Introduction
Ohio Devfest - Visual Analysis with GCP
Untangling the web11
cpp-2013 #1 C++ basics
Library, Library Lets Use THAT Library – DFW Mobile
Documenting an API for the First Time? Quick-Start Tips for Your First API Do...
CodeIgniter for Startups, cicon2010
Native App Development for iOS, Android, and Windows with Visual Studio
Automated Acceptance Testing from Scratch
Dockerize or die
Super tools to boost productivity in React dev env!
Prototyping like it is 2022
Ad

Recently uploaded (20)

PPTX
TEXTILE technology diploma scope and career opportunities
PPT
What is a Computer? Input Devices /output devices
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Modernising the Digital Integration Hub
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
Training Program for knowledge in solar cell and solar industry
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
STKI Israel Market Study 2025 version august
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
Zenith AI: Advanced Artificial Intelligence
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
TEXTILE technology diploma scope and career opportunities
What is a Computer? Input Devices /output devices
Developing a website for English-speaking practice to English as a foreign la...
Modernising the Digital Integration Hub
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Training Program for knowledge in solar cell and solar industry
A review of recent deep learning applications in wood surface defect identifi...
Enhancing plagiarism detection using data pre-processing and machine learning...
STKI Israel Market Study 2025 version august
Flame analysis and combustion estimation using large language and vision assi...
Microsoft Excel 365/2024 Beginner's training
A proposed approach for plagiarism detection in Myanmar Unicode text
The influence of sentiment analysis in enhancing early warning system model f...
Getting started with AI Agents and Multi-Agent Systems
UiPath Agentic Automation session 1: RPA to Agents
Zenith AI: Advanced Artificial Intelligence
Module 1.ppt Iot fundamentals and Architecture
sustainability-14-14877-v2.pddhzftheheeeee
Consumable AI The What, Why & How for Small Teams.pdf
Custom Battery Pack Design Considerations for Performance and Safety

Binding Objective-C Libraries in Xamarin.iOS