Apple releases second beta version of iPhone SDK
Apple on Thursday released a new version of its iPhone software developers kit (SDK) that allows third parties to develop applications for the iPhone and iPod touch digital media player.
"The second beta version of the iPhone SDK includes Interface Builder, Xcode IDE, Instruments, iPhone simulator, frameworks and samples, compilers, and Shark analysis tool," the company said on its iPhone developer website.
Thus far, the most significant changes appear to be the inclusion of a version of Interface Builder tailored specifically for the iPhone, as well as beta 2 of Apple's proprietary Xcode 3.1 integrated developer environment (IDE), which also serves as the primary IDE for Mac OS X-based application development.
For those unaware, Apple describes Interface Builder as an application for designing and testing user interfaces.
"Developers can use Interface Builder to create user interfaces that follow the Mac*OS*X human-interface guidelines by dragging user-interface elements from a palette of predefined controls and dropping them into the window or view they are configuring," the company says. "Interface Builder works closely with Xcode to provide a development experience that facilitates the concurrent but specialized development of an application's user interface and business logic."
The initial beta version of the iPhone SDK was released three weeks ago. It saw over 100,000 downloads from prospective developers and curious enthusiasts in its first four days.
Apple plans to release a finalized version of the SDK, along with iPhone software v2.0, in the June timeframe.
"The second beta version of the iPhone SDK includes Interface Builder, Xcode IDE, Instruments, iPhone simulator, frameworks and samples, compilers, and Shark analysis tool," the company said on its iPhone developer website.
Thus far, the most significant changes appear to be the inclusion of a version of Interface Builder tailored specifically for the iPhone, as well as beta 2 of Apple's proprietary Xcode 3.1 integrated developer environment (IDE), which also serves as the primary IDE for Mac OS X-based application development.
For those unaware, Apple describes Interface Builder as an application for designing and testing user interfaces.
"Developers can use Interface Builder to create user interfaces that follow the Mac*OS*X human-interface guidelines by dragging user-interface elements from a palette of predefined controls and dropping them into the window or view they are configuring," the company says. "Interface Builder works closely with Xcode to provide a development experience that facilitates the concurrent but specialized development of an application's user interface and business logic."
The initial beta version of the iPhone SDK was released three weeks ago. It saw over 100,000 downloads from prospective developers and curious enthusiasts in its first four days.
Apple plans to release a finalized version of the SDK, along with iPhone software v2.0, in the June timeframe.
Comments
I am guessing that that won't be the case here but interested in hearing from developers as they use it.
Regards,
Mark
--
My Blog: www.thenetworkgarden.com
Yes, it is a beta. And, yes, Apple will be adding features. And, yes, you will be able to get them.
Definitely interested in feedback from members of the board as to the utility of the Interface Builder. My past experience dealing with Sun's bean box model was that you could build sexy demo-ware but it was pretty useless for real, compelling differentiated applications.
I am guessing that that won't be the case here but interested in hearing from developers as they use it.
Regards,
Mark
--
My Blog: www.thenetworkgarden.com
I'll download it when I get a chance, but in general Interface Builder has been the shining star of NeXT and now MacOS X software development. Unlike XCode/Project Builder, it's always been a best-of-breed tool. I have high hopes for its applicability to the iPhone/iTouch.
Unlike XCode/Project Builder
I dont do Mac specific code atm, but is there some other development environment that is better for Mac devs?
I dont do Mac specific code atm, but is there some other development environment that is better for Mac devs?
As Booga said above you, Apple's development tools are best in breed.
Download OmniGraffle to get a great example of how beautiful a 100 % native Mac OS X application (Cocoa/Objective C). That or, Delicious Library.
Developers for Windows cannot even come close to this type of beauty.
And now, these same amazing tools come to the iPhone.
I can't wait!
I'll download it when I get a chance, but in general Interface Builder has been the shining star of NeXT and now MacOS X software development. Unlike XCode/Project Builder, it's always been a best-of-breed tool. I have high hopes for its applicability to the iPhone/iTouch.
Thanks a bundle, Booga. That is good to hear at least as far as knee jerk goes. Would love to get read better read as you actually use it.
Cheers,
Mark
I dont do Mac specific code atm, but is there some other development environment that is better for Mac devs?
Xcode is the only dev environment for Macs. There used to be others, but everyone moved to Xcode when Apple changed to Intel.
When ready, just sign up for it and you will get it for free including full documentation for every single API and you can also use it to develop for the iPhone.
I dont do Mac specific code atm, but is there some other development environment that is better for Mac devs?
RealBasic can be used to develop windows, mac, and Linux applications. Not as powerful as Xcode though.
Text field and label and basic rect button nice, along with table viewer. Table view cell is also handy. But the problem is if you don't have the controllers you need, you can't use the interface builder to set up all the bindings. So for my app that I'm writing now, I can't use it yet.
Shouldn't have been released.
Xcode is the only dev environment for Macs. There used to be others, but everyone moved to Xcode when Apple changed to Intel.
What about Eclipse with a Cocoa plugin? Does something like that exist? also, have you had any experience with Mono and/or Cocoa-# (sharp) ? Is there an IDE for Mono C#/Cocoa#?
Text field and label and basic rect button nice, along with table viewer. Table view cell is also handy. But the problem is if you don't have the controllers you need, you can't use the interface builder to set up all the bindings. So for my app that I'm writing now, I can't use it yet.
As far as I know there will be no bindings in the iPhone. From what I saw in the UIKit you can position butons fairly easily anyway - on the toolbar, on the tabbar - by setting a position property. I dont see why I would need interface builder for the simple table view , maybe for the second view it would make sense. I havent see if they have updated any sample code to use this.
It's unstable to the point of uselessness.
Shouldn't have been released.
I am getting weirdness too, not only that but they changed API names etc.
I am getting weirdness too, not only that but they changed API names etc.
WAIT HOLD THE PRESSES...
weirdness, bugginess AND API changes?!?!?!
You'd think this was bleeding edge beta-prerelease stuff or something?!?!
Dave
As far as I know there will be no bindings in the iPhone. From what I saw in the UIKit you can position butons fairly easily anyway - on the toolbar, on the tabbar - by setting a position property. I dont see why I would need interface builder for the simple table view , maybe for the second view it would make sense. I havent see if they have updated any sample code to use this.
I am getting weirdness too, not only that but they changed API names etc.
Yes this is acting very different compared to the Interface builder for mac apps.
Yes this is acting very different compared to the Interface builder for mac apps.
I hate to have to mention this, but this isn't for Mac apps.
One might note that the interface for the iPhone is vastly different, and much simpler than that for the Mac.
I would be surprised if IB weren't different.
It's also an early beta, they might yet change it.
They way they did it is IB now has a plug-in for the iPhone SDK. So your previous Xcode/IB desktop apps should not run into difficulties.
There are several objects missing from the IB Palette and I could not get the TableView to do anything and it appeared to have no subviews. I think it is just a graphic placeholder.
When you make a new project in Xcode for the iPhone, it does not add the IB .xib (formerly .nib) file for you. You have to switch to IB, make a new .xib file, and store it in the same folder as the project. It will then ask you if this xib file is for that Xcode project.
They fixed a lot of bugs with the original beta, and they hacked out a ton of the APIs that I am sure people have used. In fact, the ColorPuzzle Demo used two of these now-nonexistent APIs and would not compile - I had to fix that.
You can now use the Mac keyboard to type into iPhone Simulator text fields.
All projects should be placed in /Developer. This is OK for new projects, but if you move old project folders in there, they will forget where their frameworks are. Check a new project to find the ridiculous deeply-buried path to the iPhone frameworks.
It's
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/System/Library/Frameworks
If anyone can find the cited "Instructions for making a nib file and connecting it to your Xcode project", let me know - I gave up.
The example code is, as usual, buried inside the documentation bundle, not in the "Examples" folder where anybody with a lick of sense would have put it.
Xcode and IB for the iPhone MUST run in 32-bit mode. A little tidbit buried somewhere in the pile of confusing documentation.
It's not intended to actually work, though - I am sure they felt they had to release it so people would not write so many hand-coded interfaces and thus have to trash all that code later.
If it works as it appears to be designed to work, what now takes 4 hours to code an interface can be done in 30 seconds.
TIP: do not mess with the build settings. Nobody seems to know what hack Apple has used to make the Simulator work. If you do get the build settings torqued up, just make a new project and copy your code into new class files, and then trash the whole original project folder.
I've been working with it since yesterday...
You sound as though you know what you're talking about?stop it!
We'll have none of that here.
What about Eclipse with a Cocoa plugin? Does something like that exist? also, have you had any experience with Mono and/or Cocoa-# (sharp) ? Is there an IDE for Mono C#/Cocoa#?
I don't know of any Eclipse plugins, although the motivation for anyone to do one is pretty small since Xcode is free.
C# is a veiled attempt by Microsoft to cut Java off at the knees and is .NET specific. Mono is utterly unsupported and I don't know why anyone but the Mono team would even care about it. Trying to emulate MS proprietary APIs on other platforms? Ugh!
Cocoa#?!? Run .NET code from inside a Cocoa interface? That's worse than heresy, that's just down-right perverted.