beginning i os development
TRANSCRIPT
Beginning iOs development
Convergent Media Group: QUICK FACTS
• American owned and managed, est. 2001• Operations in USA, Russia, Ukraine, Croatia and UAE• 100-Member in-house team:
● Creative staff● Project managers● Production managers● Programmers/ Developers/ Mobile Developers/Flashers/ Animators● Copywriters/ Editors/ Category Managers● All back-end technical staff
• Over 50 long-term part time team members: copywriters, animators, bloggers, moderators, mobile porting programmers, etc.
• 100+ P&G-approved translators and local language editors for 45 languages• Delivered projects in over 50 EMEA, NA, SA and Asian markets• 300% operations expansion since 2008• Over 50 international, regional and local clients on 4 continents
Selected Multinational Clients
Direct Work with Agencies
• CMG has wide experience working together with other agencies either directly or within loop team process
CMG Production Organization
CMG’s 24-hour/ day production coverage, made possible through our unique multi-time zone team, significantly extends CMG's daily production capacity
Pula(production hub)
Nizhniy Novgorod Vladivostok
CMG’s round-the-clock production capability is made possible through our unique multi-time zone team and significantly extends CMG's speed to market
MoscowGMT +3
Nizhniy NovgorodGMT +3
VladivostokGMT +10
DubaiGMT+3
Production flow
PulaGMT +1
NikolayevGMT+3
Main office
Office
Production Centre
iOs development options
Web-based (Sites optimized for display on iPhone/iPod/iPad, frameworks allowing development in Javascript/HTML/CSS)
Frameworks offering cross-compilation of code written in various languages (C++, Python, Ruby, etc) to platform specific binary
Native platform development (Objective C, C, C++)
What you need to start working
A computer with Mac OS X 10.6 Snow Leopard installed (Hackintosh is a bad idea!)
Iphone SDK >= 3.2.3 contains:
Xcode
Interface Builder
Instruments
Simulator
Documentation
Objective C
Objective C is: Strict superset of C Object oriented (Smalltalk-like syntax and OO extensions to ANSI C) Direct access to C APIs Easy to learn Good performance Large community and existing codebase
There is also «Objective C++»!
XCode
Xcode is Apple Computer's integrated development environment (IDE) used for writing, building, and testing programs to run on the Mac OS X operating system
Features include:
Very convenient, friendly, and graphical face on all of the tools you need to develop your project Possibility to develop a wide variety of applications Tools for designing, editing, analyzing, debugging, testing, packaging
Interface Builder
Interface Builder is a graphical user interface editor and the first of the specialized editors included in Xcode
IB provides: A rich and convenient environment for designing UI Seamless interoperation with XCode Possibility to define classes, create custom objects Bind those objects together at runtime Test UI in simulator
Device Simulator
Tool for visual and functional testing of applications
Provides various simulation modes: iPhone/iPhone4/iPad
Can simulate device rotation, memory warning, device shaking
Launching on a real device
First you need a device itself. The more the better (iPod Touch, iPhone, iPhone4, iPad, various OS versions)
Apply for Apple's iPhone developer program $99 Can take months to approve your account
Long sequence of certificates/provisioning generation/uploading/downloading actions until you finally able to sign the app and deploy it to device
Libraries for common tasks
Tasks include:
Data storage Networking Processing of text-based data Image caching, logging, other
Storing and accessing data
CoreData API Object serialization SQLite
Access SQLite via C API A wrapper around the C API
Most used:
SQLite via FMDB
Simple but efficient APISupports parametrized constructionsSupports autoincrement field value retrieval (last insert id)
Networking, data parsing, other tools
ASIHTTPRequest AsyncSocket XMLRPC Library
TouchXML TouchJSON RegexpKitLite
SDWebImage
GTM by Google
Logging
NSLog()
Accepts formatted string and varargs Can be wrapped in a macros for easy turning off Output can be redirected to file using freopen()