iPhone development emergency guide
mattgemmell.com
mattgemmell.com
Writers of programming language books take note: I'm generally not interested in the tool. Tools are boring. No really, they are. Making cool stuff and solving hard problems is interesting and fun. Get the tool out of the way so I can get things done.
- You have to use Xcode as your IDE.
- You have to use the Objective-C language
- You have to manage your memory manually.
- You have to have a certificate in order to sign your code to make it work on a device.
- You have to pay a yearly fee ($99) to get the ability to create such a certificate.
- You’ll have to provide various pieces of information, and enter into a distribution contract with Apple.
- Apple has to approve your app before it goes onto the App Store.
Seems a little restrictive. Imagine the antitrust concerns this would bring up if the platform actually did become dominant.
It's easier for the user, the development community is willing and it offers larger returns for the platform creator.
Besides, most of the guts of personal computing are being done via protocols and services; platform lock-in isn't really done on the device anymore.
> It's easier for the user, the development community is willing and it offers larger returns for the platform creator.
So the lock-in is powerful and effective?
> Besides, most of the guts of personal computing are being done via protocols and services; platform lock-in isn't really done on the device anymore.
So the lock-in doesn't really matter?
Which is it? You can't have it both ways. The answer is that the lock-in acts like friction, wasting value instead of providing returns for participants in the system.
If centralized software distribution scares you, be afraid of Ubuntu.
Centralized software distribution is awesome, the issue with the iPhone model is that you have to be anointed.
Of course Apple could do the same without any loss of experience for those who wanted to stay within their cage. The only possible 'benefit' in enforcing these restrictions is the prevention of pirating of software. But DRM hasn't worked for music and there isn't much reason to think it will work for software either.
all:
xcodebuild -activeconfiguration -activetarget -sdk iphonesimulator3.0 -project MyProject.xcodeproj
I may have to back out of the Ruby. I thought I remembered reading about a Ruby project for iPhone apps, but I think I was smoking something that day.Other Links:
http://sourceforge.net/projects/quickconnect/ http://phonegap.com/
http://jlongster.com/blog/2009/06/17/write-apps-iphone-schem...
Well no, the difference (inside a class) of:
this.foo = myshinyobject
and
foo = myshinyobject
is nothing in Java. In Objective-C,
self.foo = myshinyobject
and
foo = myshinyobject
are different. Particularly with regards to the @property (retain) magic; if you forget self.foo and use foo, then myshinyobject might get garbage collected. Which is not what you'd expect with a retained property.
foo = myshinyobject is ok if you use instantiate it like [[SomeClassThing alloc] initetc] rather than one of the convenience methods like [SomeClassThing thing] since those are supposed to be returned with a retain count of 0.
I forgot what I was getting at.
If you do an alloc/init, then you need to release it (or you leak). If you're assigning to self.foo, then you can just release the thing you created after assigning it. If you assigned it to foo, and then release it, then you're in the position I mentioned above.