Recent Changes - Search:


Code:


Social:


My journals will take the place of a blog. If you go to the Journal page there is an RSS feed to subscribe with.

« July 2017 
SunMonTueWedThuFriSat
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Sites I take responsibility for

West Volusia, Florida

Documents

Technical

General

Me

Living

Places I frequent

Hobbies

Humor

Items for sale:


Clipboard

edit SideBar

Apple iOS device development

Include our styles below Infobox - invoke as >>infobox<< ... >><<

Codebox: - invoke as >>codebox<< ... >><<

warnbox: - invoke as >>codebox<< ... >><<

editingbox: - invoke as >>codebox<< ... >><<

noticebox: - invoke as >>codebox<< ... >><<

Page bread crumbs: Welcome to ke3vin.org! - My Public Technical Notes - Hardware - Devices - Apple - All IOS Devices - Development

Pages by tags: (:listtags:)
Subscribe to this wiki: RSS Feed RSS or subscribe to this page for changes: RSS Feed RSS
496 articles have been published so far. Recent changes
Share

2016-03-22: This site is being moved to my main site at https://kevininscoe.com/wiki as part of a consolidation to one domain.


>>> This page is not yet completed. <<<
>>> Last updated at April 05, 2012, at 08:47 PM EST. <<<
>>> Please check back later or hit refresh. <<<

The eight steps to becoming an iOS developer:

From How to become an iPhone developer in eight easy steps:

  1. Buy a Mac. You'll need one with an Intel-based processor, running the version of MacOS X as XCode frequently updates and is almost always the latest version is available only with the latest OSX version which as of this writing is Lion. Personally I recommend an iMac or if you can a Macbook so you can develop portable.
  2. Download and install the SDK (software development kit. Apple provides the free SDK for iPhone development from their Developer site. This includes everything you need to get going, including the development environment Xcode, the iOS Simulator for testing, performance analyzers, interface builders and the full documentation reference library.
  3. Learn Objective C. This is the primary programming language for iOS development. See below for more information and resources for this task.
  4. Start writing something. See Getting started with your first app
  5. Sign-up as an official developer. If you plan on releasing your masterpiece at any point, you'll need to sign up with the iPhone Developer Program. The Standard cost is $99, and it involves agreeing to Apple's terms and conditions, and signing and returning the contract. Even if you're nowhere near completing the project, you'll need to sign up in order to test your code on an actual iOS device rather than an on-screen emulator. Once you're on the Developer Program you're sent a certificate, which allows you to pair up with an iOS device. I should note that there is also an iOS Developer Enterprise Program for developing in-house programs. I believe you can deploy up to 1000 signed of the same application on private phones without going through the App Store. The program currently costs $300/year so if the application you want to develop is private and you need to deploy it on more than one device this may be for you.
  6. Prepare for a few weeks of work. Depending on the time available, and your level of programming knowledge, developing an iOS application can mean as little as a couple of months' work. "Including learning Objective C, Cocoa, and OpenGL, I spent exactly six weeks on iShoot," says Ethan Nicholas. "The hardest part was adjusting to an unsafe language... after twelve years working in Java, it's very difficult to get back into the proper mindset for debugging crashes. I had one memory corruption issue where it turned out that literally only a single byte was being corrupted, and it didn't cause the program to crash until several minutes after the corruption occurred. It took me three days to find that one."
  7. Submit your app to Apple. Okay, this is the big one. "Finished games have to be submitted to the App Store using the same interface as music producers use," explains Varrall. "It's a straightforward process of zipping up the file, uploading it with a description, a large and small icon, and screenshots. If everything is alright then it usually takes Apple a week to approve the content and it finds itself in the store. If there is a problem, such as obvious bugs or Lite apps that are mentioned as demos or aren't fully featured, then this can take longer to review and ultimately reject. In this instance you can fix the issue and resubmit as many times as you like." "Any iPhone developer will tell you that the provisioning and code signing is a pain, but once I had that sorted out the submission process was trivial," agrees Nicholas. "Fill in the fields, wait a few days, eagerly anticipate your first sales report... and then watch everybody completely ignore your app as you sell fewer than 20 copies a day. iShoot wasn't exactly a resounding success in the beginning…"
  8. Adapt, market and survive! The work doesn't finish once you've made it onto App Store. As it's unlikely you'll have your own in-house QA department, some bugs and design issues may only surface when hundreds of gamers get their hands on the code. Consequently, it may be necessary to submit several alterations. And as Nicholas mentioned, don't expect an immediate response to the release – App Store is an open market, featuring around 20,000 applications and 2,000 games. To get noticed, you'll need to build a buzz around the game: engage with the development and gaming communities, start a blog about the programming process, produce screenshots and mail out press releases to iPhone news sites like Pocket Gamer, Touch Arcade and FingerGaming. And, of course, utilise social networking sites like Twitter, Facebook and Bebo. Or just produce a free demo version. iShoot was widely ignored for several weeks before Nicholas decided to produce a cut-down 'Lite' version which he made available for free. "it quickly became the #1 free application, and iShoot sales followed suit. Here is an actual graph of my daily sales from iShoot's launch through to when it became number one. To put things in perspective, you see the biggest spike before iShoot Lite was released? That tiny little bump? That was Christmas Day, when I made over $500 in a single day. I was quite excited about that at the time."

Stuart Varrall of FluidPixel kindly provided some helpful links for wannabe App developers…

The KamiCrazy iOS Game development blog

The official iPhone development site

iDevGames - a game developers site

iPhone Dev SDK - a community development forum

Mobile Orchard - Information and useful blog posts

148apps - An iOS app review site


Development resources for iOS devices:

Development outside of using Cocoa or Xcode

Hello World Application

Development on a Jailbroken phone


Steps to getting started:

First become a Registered iPhone Developer and Download the Free iPhone SDK. You will need a login to download.

http://developer.apple.com/iphone/sdk1/

Next you need Xcode for iPhone Development 3.1.n a free download for OSX 10.5.

http://developer.apple.com/tools/xcode/

http://en.wikipedia.org/wiki/Xcode

http://en.wikipedia.org/wiki/History_of_Xcode#Xcode_3.1

Download from:

http://developer.apple.com/technology/xcode.html

Finally join the Apple Developer Program ($99):

http://developer.apple.com/iphone/program/

The above is needed to key sign your code. You cannot put your application on a device without this. Apple does provide a simulator for both native applications (in the SDK) and web applications via the Dashcode SDK. You can code all day long for free in the simulators. Note that web apps don't require code signing and you host those on your own site.

Now essentially you are set to start developing (or at least learn about developing) for the iPhone.

Cocoa:

Cocoa is a framework that provides the OSX and iPhone look and feel and runs on Objective-C.

https://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CocoaFundamentals/WhatIsCocoa/chapter_2_section_5.html

http://developer.apple.com/cocoa/

Apple resource links:

http://developer.apple.com/iphone/

http://daw.apple.com/cgi-bin/WebObjects/DSAuthWeb.woa/wa/login?appIdKey=D635F5C417E087A3B9864DAC5D25920C4E9442C9339FA9277951628F0291F620&path=//iphone/library/documentation/UserExperience/Conceptual/TableView_iPhone/Introduction/chapter_1_section_1.html

Learning Objective-C: A Primer

iOS Application Programming Guide

iOS Development Guide

iOS Web Application Development

Your First iOS Application

https://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ApplicationEnvironment/chapter_3_section_2.html

https://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/chapter_6_section_5.html

XcodeQuickTour

Xcode 3.0 tutorials

Developing iPad Applications

Books:

<b>Updated: 2010-04-03 (this article was written several years ago)</b>:

Learning iPhone Programming

Building iPhone Apps with HTML, CSS, and JavaScript

iPhone SDK Application Development

iPhone Open Application Development, Second Edition

Head First iPhone Development: A Learner's Guide to Creating Objective-C Applications for the iPhone

iPhone Application Development For Dummies

(kind of in order of ascension)

First if you are new to C++ or OOP see my C++ book list here

Programming in Objective-C 2.0 (2nd Edition) (Developer's Library) (new to OSX development but not new to non-OOP C)

"A word of advice: I urge anybody who buys this book to print off the errata on the author's website (the address is given in the book), as there are a few minor errors that might stump you if you don't. Also, if you use Xcode instead of the command-line tools, you will need to delete the contents of the automatically-generated ..._Prefix.pch file as well as the #import line at the top of main.m each time you start a project (the book only specifies the latter). The prefix file caused me some headaches in one of the later chapters."

Cocoa(R) Programming for Mac(R) OS X (3rd Edition)

iPhone Open Application Development, Second Edition

iPhone SDK Application Development

The iPhone Developer's Cookbook

Beginning iPhone Development: Exploring the iPhone SDK

Learning Cocoa with Objective-C, Second Edition (a bit dated now published in 2003)

More reviews on Hacker News

Books I found on bookpool.com:

Learn Objective-C on the Mac (Apress: Mark Dalrymple and Scott Knaster)

Beginning iPhone Development: Exploring the iPhone SDK (Apress: Jeff LaMarche and Dave Mark)

Some useful links and articles:

http://en.wikibooks.org/wiki/Programming_Mac_OS_X_with_Cocoa_for_beginners

http://www.cocoadev.com/

http://www.roughlydrafted.com/2007/07/16/iphone-os-x-architecture-cocoa-frameworks-and-mobile-mac-apps-2/

http://freeborn.wordpress.com/2008/03/10/iphone-developmenet-where-to-start/

The iPhone SDK: APIs Apple Didn't Want You to Know About


Helpful hints supplied by others:

From AE6RT:

http://twitter.com/ae6rt

For Objective-C itself, Kochan's book. For iPhone dev, I read most of the stuff on the Apple iPhone Dev Ctr - took a good week

....then take a look at the sample code on the Apple site. A great book on the subject would be helpful. Are none yet.

Phone Dev Center > iPhone Reference Library > Topics > User Experience: Windows & Views > View Controller Programming Guide ... ...

All the Apple iPhone docs are available not only in browser-ready form, but also in PDF. Very helpful, as I still print and read stuff.


Kevin, the docs I found useful for UI controller programming were:

https://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/chapter_1_section_1.html

and

https://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/TableView_iPhone/Introduction/chapter_1_section_1.html

Everyone learns in their own way, and I found my way here by studying the SimpleDrillDown sample app also available on the Apple site. Somehow these two docs brought the UI piece into clearer focus.

hth,

Mark


ae6rt @kevininscoe and http://tinyurl.com/3q5erp about 1 hour ago from twhirl in reply to kevininscoe

ae6rt @kevininscoe http://tinyurl.com/6j2br5 about 1 hour ago from twhirl in reply to kevininscoe


Apple iPhone Under the Hood Seminar materials:

Link to the event.

Link to large image of Page 1

apple iphone under the hood 1

Link to large image of Page 2

apple iphone under the hood 2

Getting started with your first app:

Starter apps - http://appsamuck.com/

From http://www.guardian.co.uk/technology/gamesblog/2009/feb/10/gameculture-apple

"Forget theory; forget mastering Objective C with your first attempt. Just set yourself a project and start working. "I knew nothing about Objective C, Cocoa, or OpenGL prior to starting iShoot. In fact I barely even knew C," admits Ethan Nicholas. "I hadn't really touched it in a decade. I was a Java programmer for twelve years and it was quite an adjustment moving from a nice safe language like Java to one where a single misplaced byte can instantly crash your program."

Nicholas' first aim – and this is more or less standard procedure in the development community when presented with a new platform – was to get something to appear on the screen. "The first thing I worked on was the ground. I wanted to create a destructible landscape with falling dirt. Since I had no idea how to load textures at that point, and had just grasped the basics of Objective C and OpenGL, my dirt "texture" was just solid white. So the first thing I got onscreen was just a white rectangle that represented the ground. My wife was fortunately tolerant enough to understand my excitement at getting anything, even just a simple white rectangle, on the screen.

"By day two, my featureless white rectangle had morphed into a properly textured landscape and most of the dirt-descruction code was working. By the end of the first week I had a tank on the screen firing shots randomly, blowing holes in the ground. When I finally got it on to an actual phone and not just the simulator, I found that it only ran at one frame per second, so I had some considerable optimisation work ahead of me."

If you can't face starting out on an original project, however, Varrall suggests a couple of modification tasks. "The SDK actually comes with a whole host of sample projects that cover most aspects of development. So the best place to start would be to take one of those and reverse engineer it and work out how it has been constructed. You can then build on these by adding new features and create your very own game very quickly."


Kevin's Public Wiki maintained and created by Kevin P. Inscoe is licensed under a
Creative Commons Attribution 3.0 United States License.

Back to my web site - http://kevininscoe.com

Edit - History - Print - Recent Changes - Search
Page last modified on April 05, 2012, at 08:47 PM EST