Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Beginning iPhone Development

samzenpus posted more than 5 years ago | from the read-all-about-it dept.

Programming 216

Cory Foy writes "When my wife got a Touch several months back, the first thing I wanted to do was build some applications for it. Who wouldn't want to play with a device that has accelerometers, position sensors and multi-touch gestures? But being new to the Mac world, I needed something to help guide me along. Beginning iPhone Development aims to be that guide. But does it live up to the challenge of teaching a newbie Mac and iPhone developer?" Read below for the rest of Cory's review.The first thing you'll need to do is head over to the Apple Developers Site and register for an account. You can then download the iPhone API. Note that while the API download and simulator are free — deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99. For the book, you'll be fine with just the simulator with the exception of any accelerometer application, since the simulator doesn't have that feature.

With that out of the way, I was quite impressed with the book. Although I've done quite a bit of development in the past, I haven't worked with Objective-C before, and was a little concerned if I would be in over my head. If you are in that position, don't fear — the authors do a great job of walking you through, and you'll find yourself working with it in no time.

The first chapters introduce you to the basics of the iPhone and development, starting with the canonical "Hello, World" application. The book walks you through how to get and install Xcode and the iPhone API. It then introduces you to Interface Builder, the partner-in-crime to Xcode. Even in the first chapter, the authors show their attention to detail, explaining common issues you might run into (like trying to Build and Run while your iPhone or iTouch is plugged in to your Mac).

Chapter 3 introduces the Model-View-Controller paradigm, a pattern that is probably one of the most misunderstood patterns in UI development. They give you enough information to be familiar with the terms you'll be using, and they very much mean it when they tell you not to worry if you aren't understanding something — they always loop back around to make sure you understand it.

Chapter 4 was a long chapter for me, but introduces some important concepts around user interaction and controls. By the end, you have an interface which has a variety of controls which interact with each other. As with the other chapters, the authors introduce tips and tricks to make things easier (for example, Option->Cmd->Up Arrow to switch from the header to implementation file in Xcode).

Chapter 5 covers autorotation and basic animations, including linking in the Core Graphics Framework. I especially like how the authors gave three different ways of making your app auto-rotation aware, describing the benefits and drawbacks of each. Chapter 6 follows this up by introducing multi-view interfaces, something very necessary as you get into more complex iPhone development.

Chapters 7-9 describe various methods to presenting information to users, including toolbars, table views, hierarchical navigation and hierarchical lists. However, it isn't all drag-n-drop, the authors get into some good (and sometimes deep) conversations about what you are doing. For example, in Chapter 8, they talk about issues with NSDictionary and how to create deep mutable copies.

Chapters 10-13 are the last of the "fundamentals" — application settings, basic data management, custom drawing using Quartz and Open GL, and taking inputs (including gestures and multi-touch). As someone who spends most of his time as far away from graphics libraries as possible, I was quite impressed with the basics that were introduced and what someone like me could get up and running.

Finally we get into the fun. Chapter 14 introduces Core Location, allowing to figure out where in the world you are. The book goes through a discussion about the various ways to get location information, and drawbacks of each. (Helpful tip: no matter which method, if you are polling every second, you'll drain the battery pretty quickly). For the simulator-only users, this is when things start to become tricky. Chapter 14 does work, though you aren't prompted for access to Core Location.

Chapter 15, however, is useless without an actual phone, even though it's perhaps the most fun. In this chapter, the book goes through the accelerometer and all the interesting things you can do with it. There's even a small discussion on the physics (but just enough!). Both apps you create (Shake and Break and the Marble game) are quite fun for someone just starting out with all of this. It's a shame Apple couldn't figure out a way yet to include the accelerometer in the simulator.

Chapter 16 covers using the iPhone camera and Photo Library. It's short, but it shows the power of the simple interfaces Apple provides. In just 9 pages you'll be capturing images right from the iPhone.

The final two chapters I thought were quite fitting — Localization and Follow-Ups. In the localization chapter, the book covers extracting strings out to resource files and using locale to read them in. Having a day job which ships our software in 12 different languages, I know first-hand how difficult localization can be to get right, so I was glad to see this chapter. The final chapter is just a wrap-up of resources you can reach out to for help and information.

All in all I was very surprised and pleased with the book. I've had the fortune of reading many technical books, and few do a great job of walking someone through the basics without making them feel like a dolt. It felt like every time I was stuck or unsure there was a tip, hint or paragraph which explained what was going on.

The main drawback to me is the fee to deploy apps to your own phone. This wasn't something I ran into doing either J2ME or Windows Mobile apps in the past, and it is a shame that to even work on your own phone you have to pay a fee. However, since the fee does give you the ability to submit apps to the App Store, then I guess it's a consolation. I'd rather Apple lock deployments to one iPhone (or iTouch) for the truly casual people who just want to do interesting things on their own phone.

In summary, I give this book five $1000 Rubys for making a clean, concise, easy-to-read and follow introduction to iPhone development. Great job guys!

You can purchase Beginning iPhone Development: Exploring the iPhone SDK from amazon.com. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page.

cancel ×

216 comments

Sorry! There are no comments related to the filter you selected.

iPhone development. (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26519081)

Kiss your wife goodbye.

Willingly developing or even using Apple products is a sign of latent homosexuality. Soon you will be having meth-fueled gay sex parties in tearooms all across the gay part of town.

Re:iPhone development. (0, Troll)

Anonymous Coward | more than 5 years ago | (#26519369)

Really? I always hated MacOS and everything Apple stood for, but you've convinced me otherwise, where do I sign up?!

iTouch what? (2, Funny)

Anonymous Coward | more than 5 years ago | (#26519085)

What the hell is an iTouch? Sounds like something from a sex store.

Re:iTouch what? (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26519575)

Uh, moderator must be smoking crack. There are like a million posts pointing out that there is no such thing as an iTouch. Offtopic? Bite me ya moron.

Objective-C, not too bad... (5, Informative)

jDeepbeep (913892) | more than 5 years ago | (#26519089)

If you have a background in both C/C++, and in OOP. Otherwise, I'd suggest getting a little background in those first. I think it's slightly misleading to imply that this book is the best hand-holder in this regards.

Re:Objective-C, not too bad... (1, Informative)

Anonymous Coward | more than 5 years ago | (#26519233)

I would recommend Cocoa Programming for Mac OS X for a good introduction to Cocoa and Objective-C. No-referral Amazon link [amazon.com] .

The C Programming Disease (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26519343)

I think it's about time you assholes get out of your ivory tower and realize your smugness and your lousy programming language does nothing but keep Computer Science back 20 years. Big deal! your precious C language can access the hardware. Big Whoop! you have no build in print function. I think it's about time to stop masturbating to your boring interrupt calls and grow up. The world is evolving and if we keep outself stuck to that crud that is C, we will no achieve worth while computing. So many projects would be so much better if your legacy dated language wasn't chosen. Yeah, I'm looking at you Linux and GTK. Writing a successful GUI program in C is just as ridiculous and time consuming as it gets. Grow up and realize there are other languages that are better suited for work rather than self satisfactory masturbation you retards get. Fuck Kernighan and Richie, those guys wrote good stuff back in the 70s when the tool was needed for the job. So while you are hunting down malloc() calls because that GUI that took you 10 years to write and pissing on itself in memory leaks the rest of the world will actually be getting some work done.

#include <fuckyou.h>
 
    int main(){
/* A very useless C program */
 
        fuck_the_c_language(0);
        return 0;
    }

Re:The C Programming Disease (0)

Anonymous Coward | more than 5 years ago | (#26519405)

yea, cause using a language like java, python, or any oo really makes sense on a microcontroller or any other embedded device that isnt basically a full fledged pc, e.g. the iphone. Ya know some people do still need to talk to hardware directly and handle interrupts. Its not like this whole segment of the market is very small either. C will be around for a long time because it is the best solution for small embedded projects.

Re:The C Programming Disease (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26519555)

yea, cause using a language like java...any other embedded device that isnt basically a full fledged pc

Uh, Java ME?
Fuck C -- it's only a cutesy wrapper for 60 year old bit-flippers.
Fuck C++ -- it's an insecure, labyrinthine monstrosity of methods to shoot yourself in the foot and most applications run only 1.1 times faster than a modern Java app anyway.
Fuck objective-C, -- nobody other than Apple use it, ergo objective-C is for new-age homos.

Re:The C Programming Disease (0)

Anonymous Coward | more than 5 years ago | (#26519719)

and i have yet to see a single good embedded device based on java that runs as quickly or as well as any comparable product that was done in C. For the embedded space java is just not up to it at this point for either realtime apps or user interfaces. Just compare the comcast/SA/motorola set top boxes to the ones from tivo, directv, and dish. The latter are all written in C, the former in Java, and it shows in speed. The ones in C are way faster from a user perspective than the ones in Java.

Re:The C Programming Disease (1)

ckaminski (82854) | more than 5 years ago | (#26520423)

PalmOS vs. Blackberry. No comparison needed. You wouldn't know one was running Java if it hit you on the hit with a giant strychnine laced bean. :-)

Re:The C Programming Disease (4, Interesting)

IamTheRealMike (537420) | more than 5 years ago | (#26520115)

Unfortunately Objective-C is designed such that it combines the worst parts of C with the worst parts of dynamic languages, so your point doesn't really hold. Method dispatch is all dynamic, and in the best case seems to be twice as slow as a C++ vcall. But it only gets that speed by building runtime dispatch caches, ie, trading off memory against CPU. On phones memory is also very limited.

It really is an amazingly stupid language. I am not surprised no-one except Apple uses it. This is the language that thinks it's a good idea to redefine boolean to be YES and NO.

That sort of weird syntax quirk is not a big deal though, it's just a time-waster. The real problems start when you realize that calling a method on a NULL object doesn't crash. Instead it returns zero, another NULL or if the method returns a struct, garbage. So what would be a clean kill with a nice stack trace in any sane language in Objective-C turns into silent propagation through your code of NULL pointers and zeros, until you save state and blow away the users data.

On the iPhone there's no garbage collection. Yes it's back to the days of ref counting, whoopie-doo. The best they have to offer is a kludge called an "auto release pool", which basically just scopes lifetime to the current GUI event. Pretty useless for anything that lasts longer than a button push. It also massively complicates exception handling due to the rules around how auto-release pools stack (yes really [apple.com] ).

Then there's the lack of features. No namespaces. No abstract classes. No stack allocation thus no RAII. No operator overloading. No generics, really no type safety at all (calling a non-existant method is a warning not an error). Your code is trivial to decompile. And of course the only really supported development environment is a Mac.

Java might be a stupid language to use on a phone as well, but seriously, I'll take that kind of stupid any day over Objective-C.

Re:The C Programming Disease (0)

Anonymous Coward | more than 5 years ago | (#26520255)

Im not sure if your replying to the first post downplaying C or the one against using java. If it was the second, there was no mention of Objective-C only C

Re:The C Programming Disease (4, Informative)

SwedishPenguin (1035756) | more than 5 years ago | (#26519519)

1. The language discussed is Objective C, not C.
2. If no one programs in languages like C, you can say goodbye to modern computing. There's no way you're going to program an operating system in Python.

Re:The C Programming Disease (1)

MikeBabcock (65886) | more than 5 years ago | (#26520707)

Say it as often as you want but some people will try [jtauber.com] .

Re:The C Programming Disease (0, Offtopic)

thetoadwarrior (1268702) | more than 5 years ago | (#26520803)

I've always preferred Java to be honest.

public Class PostingBollocks {
    public static void main(String[] args) {

        public boolean posting = true;
        public Kid anonymousCoward = new Kid("chubby", "virgin", "male breasts");
        public Mom yoMomma = new Mom("fat", "slag", "peg leg");
        public int knobs = 0;

        while(posting == true) {
            knobs++;
            yoMomma.gobble(knobs);
            if(knobs == 100) {
                yoMomma.sendKidsToBed(anonymousCoward);
                anonymousCoward.crySelfToSleepInMins(60);
                System.out.println("You've been sent to bed so you mom can wash her stanky minge out in peace in quiet");
            }
        }
    }
}

Who Wouldn't Want To Devote Their Efforts? (0, Troll)

Anonymous Coward | more than 5 years ago | (#26519317)

On iPhone development?

What could possibly be a better use of a engineer's efforts than:

* Going out and buying an overpriced Mac that is useless for anything other than running the Apple devtools

* Having to waste time hooking up monitor and keyboard switches to your work environment just for the Mac hardware

* Wasting time learning Objective C that no other company uses except Apple

* Having your application be at the total whim of Apple who could at any moment or for any reason decide to reject your app or pull your app from the Apple store

Android will have rapidly taken over most of the existing Windows Mobile range of devices just looking at the public release list of Android based phones for 2009. And Palm's Pre is now the gold standard for high end phones.

Apple got lucky with Microsoft completely botching their phone efforts and arriving at a time before Android and Palm's efforts. The iPhone is nothing more than an irrelevant and overpriced niche product. Even more so now that Jobs is out of the picture and Apple can no longer leverage the Cult of Jobs in the media for massive hype, promotion, and marketing for their products.

Let Those Mod Point Fly Mac Soldiers! (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26519481)

Mod the unbelievers straight down into the Hell of Apple Unbelievers!

iHeaven awaits for all of you!

Re:Who Wouldn't Want To Devote Their Efforts? (3, Insightful)

EvilIntelligence (1339913) | more than 5 years ago | (#26520799)

Your rant runs out of steam very quickly:

* Going out and buying an overpriced Mac that is useless for anything other than running the Apple devtools

You can build a cheap Intel box out of spare parts and run a hacked copy of Mac OS X on it.

* Having to waste time hooking up monitor and keyboard switches to your work environment just for the Mac hardware

See my comment above.

* Wasting time learning Objective C that no other company uses except Apple

If someone's only goal is to write for Apple, and that's the world they live in, then that is a viable option to them. If its not for you, go about your life and leave them alone. They will live or die with their platform of choice.

* Having your application be at the total whim of Apple who could at any moment or for any reason decide to reject your app or pull your app from the Apple store

This comes down to a business decision. If you are a company (even if you're just an individual developer), you have to realize that the App Store is a distribution channel, and Apple is your distribution partner. You have to play well together. Bear in mind that they are not the only smart phone around, and the agreement is non-exclusive. There is nothing stopping you from offering your same app to other distribution channels.

Android will have rapidly taken over most of the existing Windows Mobile range of devices just looking at the public release list of Android based phones for 2009. And Palm's Pre is now the gold standard for high end phones.

This is pure speculation. If I was an investor, I would not dump my life savings into Android, or any single product platform.

Apple got lucky with Microsoft completely botching their phone efforts and arriving at a time before Android and Palm's efforts.

This issue is moot. Microsoft completely botches everything they do other than contract other companies to build video games for X-Box.

The iPhone is nothing more than an irrelevant and overpriced niche product.

I disagree completely. The "smart phone" movement was dead before the iPhone, because companies were complacent to put out products that people were willing to tolerate. Once iPhone came out, all the big players kicked their game into high gear. You think we would see the Palm Pre or the Blackberry Storm this year if it wasn't for iPhone? Like it or not, iPhone raised the standard for what a smart phone should be, and now everybody is going to look like they are chasing them.

Even more so now that Jobs is out of the picture and Apple can no longer leverage the Cult of Jobs in the media for massive hype, promotion, and marketing for their products.

There is some truth to that. But now this will be the test for Apple. Can they sell products based on their own merits? Or do they need that messiah? Time will tell.

Re:Objective-C, not too bad... (1, Funny)

ciaohound (118419) | more than 5 years ago | (#26519385)

Best hand-holder? He gave his wife an iTouch. They're beyond hand-holding, know what I mean, know what I mean, nudge nudge, say no more?

Re:Objective-C, not too bad... (1)

glennrrr (592457) | more than 5 years ago | (#26520579)

I do not see the point in learning C++ first. It will take a long time, and you'll just have to unlearn it anyway. Why would you learn the more complicated language first?

I've coded a fair amount in both languages: in fact I coded in both languages before breakfast this morning, and I cannot imagine thinking that it was easier to learn C++. I've been paid to write C++ for 12 years and template notation still confuses me.

Wait for the expanded edition (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26519101)

Probably best to wait for the expanded edition, which includes additional chapters on being smug

why?? (1, Insightful)

Anonymous Coward | more than 5 years ago | (#26519127)

why should i pay to develop for a device that is already overpriced?
and in a language that no one else use?

J2ME tools are free, and you wont get censured by AppStore...

Re:why?? (1, Funny)

Anonymous Coward | more than 5 years ago | (#26519251)

agree, this is just plain stupid. maybe apple doesnt want any third-party developers?

Re:why?? (2, Informative)

DurendalMac (736637) | more than 5 years ago | (#26519795)

It might have something to do with the iPhone market being insanely lucrative if you play your cards right. Just a hunch. J2ME doesn't run on the iPhone.

I'm wondering if this is just a few ACs trolling the hell out of the place.

Re:why?? (1)

oldspewey (1303305) | more than 5 years ago | (#26520611)

J2ME doesn't run on the iPhone

That would be one cold, cold day in hell wouldn't it?

Your wife rang me up on my iPhone (0, Funny)

Anonymous Coward | more than 5 years ago | (#26519151)

we got together, iTouched her a little, and then iGave her a good rogering

stop stop stop (1, Informative)

Anonymous Coward | more than 5 years ago | (#26519155)

Saying "iTouch", you fucking toolbox. It's an "iPod Touch". How difficult is that?

Re:stop stop stop (4, Funny)

Anpheus (908711) | more than 5 years ago | (#26519715)

Dear Apple Legal,

We don't care.

Signed,
Your Consumers

Apple Legal's Reply (1)

shmlco (594907) | more than 5 years ago | (#26519867)

Dear Sir, Madam, or Troll;

If you don't care, then you're not our customer anyway. As such...

We don't care.

Sincerely,

Apple Legal

Re:Apple Legal's Reply (5, Funny)

Capmaster (843277) | more than 5 years ago | (#26520297)

iTouche.

Re:Apple Legal's Reply (0)

Anonymous Coward | more than 5 years ago | (#26520301)

Dear Sir, Madam, or Troll;

If you don't care, then you're not our customer anyway. As such...

We don't care.

Sincerely,

Apple Legal

Fake! Apple Legal is not cool enough to read /. comments.

Re:stop stop stop (0)

Anonymous Coward | more than 5 years ago | (#26519783)

I think you're wrong.

It is iTouch, and if you don't stop it, you'll go blind.

Re:stop stop stop (0)

Anonymous Coward | more than 5 years ago | (#26520543)

He doesn't even say "iTouch". He refers to it as "an Touch" (sic). I don't know if it's the submitter's fault or the editors, but they should both "an Hero" for crap grammar.

No extra costs! (0)

Anonymous Coward | more than 5 years ago | (#26519191)

Yep. Just get this book (*coughs*and buy the required Mac to develop on the iPhone*coughs*) and you're good to go!

The actual programming is easy (1, Informative)

Anonymous Coward | more than 5 years ago | (#26519209)

Programming the device is rather simple, going through all the Apple hoops just to put the app on your device or deploy it is far
more difficult. In fact if you start the developer sign up process and your application programming on the same day it is highly likely
that your app will be ready way before Apple gives you the go ahead to pay them $100 for the opportunity to program for it.

Re:The actual programming is easy (2, Informative)

larry bagina (561269) | more than 5 years ago | (#26520091)

Only if you can get your app finished in under 1 hour, 46 minutes. That's how long it took when I signed up for the developer program 5 months ago.

Re:The actual programming is easy (1, Interesting)

Anonymous Coward | more than 5 years ago | (#26520477)

Lucky you. We got our certificate after 4 months and 2 weeks. SURE. No, REALLY! No kidding.

And btw, our game was almost finished.

What's an iTouch? (0, Redundant)

Anonymous Coward | more than 5 years ago | (#26519245)

What's an iTouch?

I know I'm being picky but... (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#26519247)

it's iPod Touch, not iTouch.

iTouch? (0, Redundant)

Anonymous Coward | more than 5 years ago | (#26519249)

It's an iPod Touch, you insensitive clod!

pfft (-1, Flamebait)

djupedal (584558) | more than 5 years ago | (#26519253)

> "The first chapters introduce you to the basics of the iPhone and development, starting with the canonical "Hello, World" application."

This 'review' is pure drivel. There is nothing sacred about a simple 'Hello World' application.

Review book...fill out obligatory 500 words or less report form...get homework credit. Pap.

Re:pfft (2, Funny)

jDeepbeep (913892) | more than 5 years ago | (#26519283)

There is nothing sacred about a simple 'Hello World' application.

I was told by my first C instructor that if we didn't do a Hello, World! application first, we would be thrown to the lowest depths of programming hell. I had no interest in taking such a risk at the time.

The Machine Spirit (1, Insightful)

Anonymous Coward | more than 5 years ago | (#26519379)

The standard Hello World is the beginning of every rite to praising the machine spirit.

---------

Oh good God this is getting posted Anon

Danger overated (2, Funny)

Dareth (47614) | more than 5 years ago | (#26519445)

Not doing "Hello World" is no where near as dangerous as using GOTO [xkcd.com] !

Re:Danger overated (2, Funny)

supernova_hq (1014429) | more than 5 years ago | (#26519933)

goto helloWorld

Flamebait? (0, Offtopic)

djupedal (584558) | more than 5 years ago | (#26519381)

Oh, that's right... Somewhere a High School report writing lab is still open and those two individuals have mod points.

Code-Signing (2, Informative)

Yokaze (70883) | more than 5 years ago | (#26519279)

> Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own.

Not necessarily true. There are ways to circument [246tnt.com] the code-signing.

Re:Code-Signing (1)

kipton (135584) | more than 5 years ago | (#26519869)

It seems like this method requires jailbreaking. Here's another reference [stackoverflow.com] .

iTouch? (0, Redundant)

whisper_jeff (680366) | more than 5 years ago | (#26519281)

What is this iTouch of which you speak? It sounds like something ... interesting. Or do you mean iPod Touch, which is also interesting but in a far less sexually suggestive way? (Being a smartass aside, if you're going to develop for it, you might want to make sure you call it by the correct name. Ok, that's still being a smartass...)

Re:iTouch? (2, Insightful)

Facegarden (967477) | more than 5 years ago | (#26520211)

Erm... I call it an iTouch. It's a good name (if it wasn't already in use I'm sure apple would have used it). I and my friends have no use for the services of the company called iTouch, so we aren't going to get confused for any reason. I know iTouch is technically incorrect, but contrary to the AC that posted before me in response to this, I'm not a "moron", i just like the name iTouch better, and everyone still knows what I'm talking about.
-Taylor

The French have a different word for *everything* (1)

Gary W. Longsine (124661) | more than 5 years ago | (#26520575)

Mamoo dogface to teh banana patch.

iTouch U (0, Troll)

ElBorba (221626) | more than 5 years ago | (#26519395)

I feel as though I just wasted an additional entire minute and a half re-reading this review for content...
It appears as though this is a "review" of a book about iTouch software development.
iWouldn't eRead this rEview.

API? (2, Funny)

mr_da3m0n (887821) | more than 5 years ago | (#26519403)

You can then download the iPhone API

I was under the impression that this was called a SDK, and not an API?

Then again, maybe I am just being Lord Pedantro the Quarrelsome.

That's iPod Touch, not iTouch (-1, Redundant)

Anonymous Coward | more than 5 years ago | (#26519415)

Why not start with learning that it's an iPod Touch, rather than an iTouch? Anyone who calls their iPod Touch an iTouch deserves to have it taken from them!

First Step (5, Informative)

slashkitty (21637) | more than 5 years ago | (#26519439)

I thought the first step was getting a Mac, then you can get the sdk. It's actually a pretty high barrier to entry for a developer.

Re:First Step (1, Informative)

Anonymous Coward | more than 5 years ago | (#26519547)

Owning a mac is the first part, then you need the phone, apply to pay apple $100 and if they say yes you can pay then wait some more then
you can finally get something running on your device. Deploying it to the app store will take you another month in frustration waiting for
approval.

Re:First Step (1)

supernova_hq (1014429) | more than 5 years ago | (#26519985)

Or just buy a Linux mobile device and write everything in just about any language.

I have an N810 and I can write applications in c, c++, python, shell scripts, assembling or fucking BINARY for that matter!

It's time for mobile companies to stop trying to control hardware they have already sold. Would you buy a car if you knew that you were forbidden from changing the engine or using a no-name-brand oil???

Re:First Step (1)

ckaminski (82854) | more than 5 years ago | (#26520457)

I'm thinking about getting an N810. I have a Treo 700p and find the keypad JUST RIGHT... I'm concerned the N810 will be a bit much for my fat fingers... any input?

Re:First Step (4, Insightful)

cabjf (710106) | more than 5 years ago | (#26520571)

What an apt analogy. How many people buying cars buy them to change anything (or even care what kind of oil is put in them).

I think the big disconnect between the average open source, linux geek and the general public is that the general public likes treating computers and computer based products as appliances that just work.

The whole walled garden approach has worked out pretty well for Apple with the iPod and iPhone. If that doesn't fit your needs though, that's fine. Just don't assume that it isn't the best choice for anyone else because of your needs or opinions.

The difference between what Apple is doing with the iPhone and what the cell companies are doing is that Apple is attempting to provide a user focused UI. Whereas the cell companies are trying to figure out how to charge for as much as possible for anything on their network.

Re:First Step (4, Insightful)

shmlco (594907) | more than 5 years ago | (#26519809)

As opposed to developing for Windows Mobile, where one can create applications just by thinking them into existence? Oh wait, I have to buy a PC to do WM development! Bummer.

Re:First Step (5, Insightful)

Belial6 (794905) | more than 5 years ago | (#26520013)

Given that there is a greater than 90% chance that a person wanting to jump into Windows Mobile development will already have a machine capable of doing the development, and a less than 10% chance that a person wanting to jump into iPhone development will already have a Mac capable of doing the development means that the OP has a very valid point.

Re:First Step (1)

MMInterface (1039102) | more than 5 years ago | (#26520191)

"Oh wait, I have to buy a PC to do WM development! Bummer."

Is there something about Bootcamp that prevents you from doing WM development on a Mac?

That being said, he never said or really implied that WM development would be different. He was just commenting on the topic.

Think Of All The Things You Can Do With It (-1, Troll)

Anonymous Coward | more than 5 years ago | (#26519871)

Just think of all the things you can do with a Mac if you went out and bought one:

* Post your unboxing vid on youtube

* Talk about your new Mac with your emo friends at Starbucks

* Create fake i- products in Photoshop that you think are coming out to fill up the void in your sad and empty life

* Jump for joy and tinkle your panties as Phil Schiller changes the face of the computing world with his keynotes all streamed right into your copy of Safari

Re:Think Of All The Things You Can Do With It (0)

Anonymous Coward | more than 5 years ago | (#26520429)

And there's breakout, and super breakout....

The Rules (1)

Gary W. Longsine (124661) | more than 5 years ago | (#26520595)

How do you make a small fortune as an iPhone developer?

Start with a large one.

Accelerometer (4, Informative)

Bogtha (906264) | more than 5 years ago | (#26519459)

Chapter 15, however, is useless without an actual phone, even though it's perhaps the most fun. In this chapter, the book goes through the accelerometer and all the interesting things you can do with it. There's even a small discussion on the physics (but just enough!). Both apps you create (Shake and Break and the Marble game) are quite fun for someone just starting out with all of this. It's a shame Apple couldn't figure out a way yet to include the accelerometer in the simulator.

It's possible to link up an iPhone's accelerometer to the simulator, and it's also possible to link up the accelerometer in a MacBook to the simulator as well. More details here [blogspot.com] . Honestly, though, it's probably easier to just jailbreak your iPhone.

Re:Accelerometer (0)

Anonymous Coward | more than 5 years ago | (#26520791)

Especially since you have to submit the application to Apple after you spend a couple weeks develop it and risk it being rejected for publishing. There are much more easier platforms to develop for out in the market.

Interface Builder (5, Interesting)

fragbait (209346) | more than 5 years ago | (#26519471)

The biggest problem I've had so far is Interface Builder. It isn't the most intuitive piece of software. Dragging and dropping to connect button actions to methods between two pieces of software (XCode and Interface Builder) that don't actively sync with one another, at least not as I've yet to find.

I already had the C/C++ and GUI/fat client app building experience from 10 years back.

+fragbait

Re:Interface Builder (2, Informative)

Anonymous Coward | more than 5 years ago | (#26520241)

Last time I used XCode/Interface builder, a method added in XCode would show up in IB as soon as you saved the .h file that declared it.

Re:Interface Builder (1)

vurg (639307) | more than 5 years ago | (#26520277)

I have a different experience with IB. My approach is to get the UI layout done first in IB, and write the code without worrying about what is in the nib files. I just know the outlets are there. Also, when I notice I'm making lots of connections between elements and controllers, that gives me a clue that I decompose the UI further into more manageable parts.

Fairly bizarre (4, Informative)

spaceyhackerlady (462530) | more than 5 years ago | (#26520335)

Interface Builder is fairly bizarre, but it starts to make sense after a while. It does. Really.

My primary reference for iPhone development has been Erica Sadun's [ericasadun.com] book, but I may pick this one up too.

BTW: people may bitch about code signing, but Apple gave me my signature when I asked for it. This is minor compared with what was necessary when my employers wanted to do Brew [qualcomm.com] development. I considered going the jailbreak route, but ended up not doing so.

...laura

A hundred bucks? (0, Troll)

gandhi_2 (1108023) | more than 5 years ago | (#26519479)

If you have to pay a corporation a single dollar for the permission to program, you are doing it wrong. How does Apple get a free pass for this kind of shit?

Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99.

Re:A hundred bucks? (0)

Anonymous Coward | more than 5 years ago | (#26519553)

Think of it this way.... For $99 you get to present your app to everyone else's iPhone. They just threw yours in it for free.

Re:A hundred bucks? (0)

Anonymous Coward | more than 5 years ago | (#26519561)

Just because Steve allowed you to pay for an iPhone and you developed the software for it doesn't mean you have the right to use your software on Steves iPhone.

Re:A hundred bucks? (3, Informative)

Ephemeriis (315124) | more than 5 years ago | (#26519573)

If you have to pay a corporation a single dollar for the permission to program, you are doing it wrong. How does Apple get a free pass for this kind of shit?

Note that while the API download and simulator are free â" deploying to a real iPhone or iTouch is not, even if it is your own. To do that you have to apply to the iPhone Developer Program which is $99.

You don't have to pay a single cent to program. You have to register... But the SDK is completely free. Anyone can download it.

What you do have to pay for is distributing your software to live hardware. Apple uses code signing much like you see on consoles like the Xbox and PlayStation. If you aren't worried about distributing to other people you can always just jailbreak your device... Then you don't even have to pay for the code signing.

Re:A hundred bucks? (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26519707)

You are actually going to stick up for them, eh? A company that won't let you deploy code YOU wrote to a machine YOU purchased without a fee? Walled Garden = Anti-competition. No different than florists who lobby the govt for florist licensure to raise barriers to entry and artificially reduce supply.

Re:A hundred bucks? (0)

Anonymous Coward | more than 5 years ago | (#26519643)

...because not everyone agrees with Kind Richard. ...because they make specific products and a computer experience that some users/developers want and are willing to pay for it.

you can continue to disagree with the cult of apple, but how long can slashdots keep pretending we don't "get it" ??

Re:A hundred bucks? (1)

mikael_j (106439) | more than 5 years ago | (#26519647)

You can do limited ad-hoc distribution, you can distribute the source code or you can choose to pay them $99 to use the app store. Not ideal but a lot better than how a lot of people think it is.

/Mikael

Re:A hundred bucks? (1)

2short (466733) | more than 5 years ago | (#26520055)

"You can do limited ad-hoc distribution"

It is my understanding that you are wrong. Can you provide any sort of citation?

Re:A hundred bucks? (1)

mikael_j (106439) | more than 5 years ago | (#26520557)

Try using Google, "iphone ad-hoc distribution" should give you all the info you need.

/Mikael

iTouch (4, Insightful)

linuxci (3530) | more than 5 years ago | (#26519545)

iTouch [itouch.co.uk] is the name of a UK company that provides mobile content. They were around a long time before the iPod touch but lost top spot in Google to Apple despite the fact they don't make a product of that name.

Re:iTouch (0)

Anonymous Coward | more than 5 years ago | (#26519753)

It's also the name of the software for lots of logitech keyboards

Re:iTouch (0)

Anonymous Coward | more than 5 years ago | (#26519897)

Agreed. This guy doesn't even have the name of hte product right! It's an iPod touch, NOT an iTouch.

Re:iTouch (1)

Sparton (1358159) | more than 5 years ago | (#26520325)

Agreed. This guy doesn't even have the name of [sic] hte product right! It's an iPod touch, NOT an iTouch.

Sadly, many people still call the damn things "iTouch". Sure, it's not really correct, but it's pseudo-accepted lingo by a lot of iPhone/iPod Touch users.

Re:iTouch (1)

MikeBabcock (65886) | more than 5 years ago | (#26520759)

I think "iTouch" makes a great brand for a baseball bat :-) Especially one designed for home security.

Re:iTouch (1)

Anml4ixoye (264762) | more than 5 years ago | (#26520101)

(Notice: I'm the reviewer)

iDang it. iI'm iSorry. iI iGot iToo iCaught iUp iIn iIing iEverything.

- iCory

Picked this up three days ago. (2, Informative)

guytoronto (956941) | more than 5 years ago | (#26519619)

Very coincidentally, I picked up this book last Friday. Downloaded the SDK, and did the first chapter (dead easy). Beyond that, the book does recommend at least a passing knowledge of Objective-C. Fortunately, I have a "Learning Objective-C" book for noobs (which I am when it comes to anything C).

/. needs more jewphone (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#26519797)

steve "AIDS" jobs kicked the fucking bucket! makes me feel all warm and cozy instead

now, let's see his bastard creation follow him

Qt Even here? (1)

scorp1us (235526) | more than 5 years ago | (#26520035)

Does anyone know what the state of Qt is on the iPhone? I figure the core classes are ok, but does it use the same Carbon/Cocoa APIs?

I'd love to use Qt just so I don't need to learn a whole other development platform

Apps With A Shitty UI Tookit? Why? (0)

Anonymous Coward | more than 5 years ago | (#26520811)

What possible reason would you think anyone who owns an iPhone would ever want an app based on a shitty UI toolkit like Qt?

The first part of development (0)

Anonymous Coward | more than 5 years ago | (#26520253)

The first part of development is knowing the actual name of the platform you're developing on. There's no such thing an "iTouch".

Kochan's Programming in Objective-C 2.0 (newbies) (0)

Anonymous Coward | more than 5 years ago | (#26520409)

I bought this book and it's way over my head since I have never dabbled with any OO programming. I bought Kochan's Programming in Objective-C 2.0 and it starts out assuming no knowledge of programming whatsoever. So those to books combined would be a good start.

First barrier (2, Insightful)

Artifex33 (932236) | more than 5 years ago | (#26520483)

I have an iPhone 3g myself, and a few weeks of use got me excited enough about app development to feel truly let down when I discovered I'd have to buy a mac to develop on. Actually pricing one out that I could use for high-end photoshop work in addition to iPhone development was a sobering experience. Add that to the learning curve associated with migrating to OSX from WinXP, and I'm back to Flash development on my PC.

Re:First barrier (1)

TellarHK (159748) | more than 5 years ago | (#26520893)

So why do you need to do your high-end Photoshop work on the same machine you use for programming? Sure, it might be a -little- quicker, but networking makes a whole world of difference.

A Mac mini could be just fine for XCode work for most people, and what exactly is your definition of high-end Photoshop work? And a learning curve coming from XP to OSX? That's like a couple hours.

Sure, there's a learning curve to XCode, but it's not as steep as people who have never touched it think. Join the ADC for free, download the free tutorial videos, etcetera, and look into it.

Bottom line, if you're that easily dissuaded from getting into development, you're not that excited after all.

waiting (1)

po134 (1324751) | more than 5 years ago | (#26520587)

still waiting for the windows SDK.

multi-touch gestures (1)

Kadagan AU (638260) | more than 5 years ago | (#26520625)

When my wife got an Touch several months back, the first thing I wanted to do was build some applications for it. Who wouldn't want to play with a device that has accelerometers, position sensors and multi-touch gestures?

When I read about the accelerometers, position sensors and multi-touch gestures, of course I thought you were referring to your wife...

Reinvigorated (3, Interesting)

TellarHK (159748) | more than 5 years ago | (#26520795)

I have to say that this book, which I picked up last week, has really given me a kick in the pants as far as getting back into programming. I haven't hardly done a damn thing since college in '02, and since I went to a pretty craptastic school that doesn't mean much.

MS Visual C++ really made programming a slog, compared to the IDE that Apple came up with for XCode. I'm just a couple chapters into the book now, but all in all I'm really enjoying the process of programming again for the first time since GW-BASIC. I can understand why a lot of people here (especially here) complain about having to buy a Mac, having to use XCode, having to do things Apple's way but for something like the iPhone and iPod Touch development I can't imagine a better route.

This is for the most part a very good book, at least for my rusty brain, but it definitely needs some kind of Objective-C accompaniment if you're not familiar with the language and want to do more than just follow instructions. Well worth the money.

And again, to those people complaining about XCode and doing things Apple's way, dig around the ADC site and you'll see that Apple's learned a hell of a lot since the days when CodeWarrior was the only hope for a Mac developer's sanity.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?