First Application on IPad: where to set the button event? - ipad

I have 4 years experience on DotNet, not much.
I now learned developing for IPad.
I made a new project and opened the MainWindow.xib by double click in the interface builder. Not I put there a label, a textbox and a button.
But how to make the button event?

Kovu, "Paull" already told you. Please understand that I am not being short, cruel or otherwise negative when I suggest that you read more about XCode and MVC. In order to program for iPhoneOS you really need to understand the MVC method of programming. If you don't know what those initials stand for, it means you really should read more before you try your hand at it. iPhoneOS is so totally different than .net that you need to understand basics.
I suggest Erica Sadun's book: (her website is: iPhone Developer's Cookbook) or a great starter article at: BIT-101.
It will get you up and going VERY quickly (inside of a week for me) and does not skimp on the basics. TRUST ME--if you do not understand the basics from the very beginning you will be lost when it comes to developing for iPad (or even iPhone/iPod). The iPad is such a very different beast than Windows .net that you will be surprised the change you will have to go through (for the better) in order to grasp it.
On the positive side, you will become a better programmer. Using the MVC method is really freeing in a lot of ways. Event-driven programming is a wonder to behold when done right, and believe me, Apple did it right (for the most part) in the iPhoneOS.

Read through the getting started guides in the Documentation window of Xcode (under Help).
You just create an IBAction in your controller, and drag a connection from the button to the controller.

Related

ios - Best way to create own level editor

I've created a core mechanic of my game and want to create a level editor for it. my game is not a tile-based one, so my needs are quite specific. Game is written using Swift and Cocos2d-swift, but i dont think i can figure something out with Sprite Builder.
What you can advice me? Can I for example create a level editor with c# and then use it from swift code?
And what data structure is the best?
I mean is it possible to serialize classes on desktop Swift application and then just load them on ios from file or I'll need to use json/xml?
It might be an old question but I ended up with using a .Net powered solution. I choosed as It has all controls that you need for creating a rich user interface and also, it has a lot of built-in and third party solutions for serializing levels in any way you want. And the c# syntax is very similar to the Swift one.
The only problem is that you might run windows to work with it.
My game in development also needed a non-tile level editor. A few months ago I took some time to make my choice.
Since my project still uses cocos2d 2.x, I don't use the whole new 3.x and SB system. After some investigation I found out that it would be too time consuming to adjust my whole project to the new system and adjusting SB to my needs, mainly because my game engine has been in development for quite some time and is close to finished. Further more, I couldn't find the right information to actually make it work for my game (it needed some odd level architecture I guess).
Finally, I didn't find any other good alternative so I decided to create my own level editor. In this way I had full control and I knew exactly how everything worked which was a huge advantage for me.
Right now my level editor has been finished for some time and works like a charm. I still think in my situation I made the right choice. Also because I learned a lot this way, building everything from the ground up. Having said that, for my next game I will probably go with the main stream and use SB from the start. Also for you I advice you to still check out SB and take some time for it before making an alternative choice...
I'll explain how I did mine. Disclaimer: it has some oddity's which only worked in my situation, but hopefully it helps a bit with choosing your own way to go, that's the goal I'm aiming at...
I used:
max/msp
Although it's developed to make music and audio based software, I used max/msp because it's very easy and fast for creating visual and interface based software as well.
More importend: I happened to be very experienced in it, which shortened the development time tremendously.
javascript
Inside the max/msp patch is a javascript file running. This file is like a bridge between the interface and the visual representation of the level being edited, and the database in which the level
is saved in. 70% of the editor development went into this file I think.
sqlite
All the data is written in a sqlite database. Again, this has been mainly the choice because it saved a great amount of development time in my case. I could have used xml files for instance, but my game was already using a sqlite database and because of this I felt comfortable using it, I had no experience in xml. Also all the code was already in place for a big part, which speeded up the whole proces a lot.
I'm very happy with the end result. It does everything I need, it's easy too use and since I made everything myself from the ground up I know exactly how every works.
Good luck with you choices.

Is there a tutorial for coding a GUI without the inaccessible Interface Builder?

I am totally blind and want to code for IOS and/or OS X. In Xcode 5.1, accessibility is improved, but the interface builder still seems unaccessible for voiceover users (like me).
With that in mind, is there a tutorial for coding OS X and iPhone apps without using interface builder in Xcode? Alternatively, is there a way to use interface builder with voiceover (without sight)? I would deffinately like to use gui tools if any exist, but if I have to hard code the thing, so be it.
Thank you in advance!
My sense of the matter is that you should simply code the interface.
First, autolayout makes this much more sensible than it has been in the past. The "visual" constraint language is really symbolic; made for you.
Second, the binding pane simply won't work for you. Bad design, I guess. But there we are. Use the API.
A number of sighted coders, including Brent Simmons (netnewswire, vesper) scarcely use interface builder. You'll be fine without it.
I have not listened to it but give the following podcast a listen. The description states that it covers interface builder basics.
http://maccessibility.net/2013/01/17/the-maccessibility-dev-podcast-1-using-xcode-with-voiceover/
You may want to consider RubyMotion as an alternative.
Austin Seraphin talks about using RubyMotion as a blind developer in this talk MP3 with slides here at the #inspect2013 conference. I found the talk through a blog posting that mentioned Austin's amazing presentation.
For pure XCode use, I tried experimenting with PaintCode but it was useless in Voice Over mode. You may find Erica Sadun's book on Auto-Layout useful as she goes into detail on the code-based approach. The iBooks link to the second edition is here.
I am humbled by the effort that people like Austin and yourself put forth to overcome your obstacles and try to remember this whenever I'm irritated by the minor inconveniences in my life and software development. It seems fatuous to say thank you but I'd just like to offer my congratulations on what you've achieved so far.

Overviews/introductions to Interface Builder for experienced developers?

Any good resources for learning IB (for iOS) for experienced developers? I've tried reading through the Apple docs several times now, but all the Apple-specific terminology always turns me off. The official stuff also insists that IB doesn't produce code and so draws no connections there, which is frustrating.
I've managed to put together a few iOS apps, the last couple of times purely in code, but really need to make my peace with IB now.
I guess what I'm really looking for is a translation from Apple's galapagos language to rest-of-the world terms. Drawing connections from IB to the UI objects generated at runtime would also be great.
Thanks!
PS - I'm aware that there exist cross-platform and other third-party frameworks for development (I've tried them all) and of the official docs. IB is the only first-class citizen in Apple-land, and is probably quite good once you're used to it, so that's what I'd like to be using.
Watch Paul Hegarty's lectures on iTunesU. Fall 2011, Stanford Uni iPhone Development. Covers Storyboarding very clearly in an early lecture.
Any decent book will help you understand Interface Builder. What I think, is that you are looking for the perfect book/resource, and that doesn't exist. I really enjoyed iOS5 Pushing the Limits , although I am sure that many others have found other enjoyable books. A quick search on google: "Tutorial iOS Interface Builder" will reveal countless resources that you can use. The most important thing: just dive and have fun while doing it.

iOS (iPad) application on Flex/Flash Builder 4.5 - SplitView component?

(Disclaimer: I'm a beginner in mobile application development and I'm quite weak with programming but I'm willing to learn new things and take on new challenges. I apologise in advance if my question turns you off, or if it seems as though I haven't done any research. I did all the research I could but it didn't help me much.)
I'm new to developing iOS applications and my school gave me approximately 5 months to develop an iPad application. I have no knowledge or practice on Objective C so since Flash Builder 4.5 allows the development of mobile applications (and I have experiences with Flash Builder), I decided to develop my application on Flash Builder instead.
Everything is going fine until I was told to include a SplitView in my application. I implemented a List on the left side of the application. Clicking on any of the list items will navigate the user to a to another view but i also included and retained the list on the left side of the new view in order to simulate a "SplitView".
Initially it felt as though it will do the job of a SplitView like how it does when I attempted it on XCODE but it doesn't look or feel natural.
I found this video which shows that it is possible to create a SplitView on FB but I've cracked my brains and I really can't figure out how it is done. Is there anyone who can provide me with a rough guide on how to implement this? Thank you very much in advance.
Edit:
At the moment I implemented
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
<s:ViewNavigator id="MainView" left="292" width="732" height="748" firstView="views.MainView"/>
</s:Application>
this way, i can manage to navigate through the views without effecting the Root View Controller. this might not be the best way but it'll suffice at the moment. Are there are any better way to do this?
Take a look at the eskimo library
It has a lot of nice mobile features like "native" look and feel for both android and iOS.
Furthermore, it features some mobile components.
I believe the one you are looking for is called SplitViewApplication.
You will have to download the zip file though to unveil it since it is currently not on the feature list on their website.
EDIT
Apparently, Flex SDK 4.6 also supports this feature.
It has been released 2 days ago. You might want to check that out as well.
Cheers
Looks like HDividedBox is a right component for you.

iOS sample projects to learn from

I am just starting iOS development. I read some tutorials, watched stuff on iTunes U and wrote some sample code myself. Now I want to take the next step. I want to learn about best practices for iOS development in XCode.
Are there any well written and well organized iOS projects that one could take a look at?
(As I see it, iOS is not exactly the place for open source enthusiasts, however.)
Thanks
Mike.
I agree with several of the other answers that state that looking at many, many projects for mini-examples of what you want to do in your own app is the way to go.
However, you asked for an example of an app demonstrating best practices.
You could do worse than to read Matt Gallagher's blog, Cocoa with Love from beginning to end. However, the app example you asked for is right here.
Not only will it show a variety of techniques, some novel design and best-practices, but also he points out where he feels that he might have done something better.
It's a great read.
I would suggest the following process: (it worked for me)
Think of an advanced app. that you eventually want to be proficient enough to create.
Make a top-down problem-solving tree containing the necessary skills required to build your final app.
Use this tree to divide your final app. into 'sub apps'. Start at the bottom of the tree, find a tutorial specifically for that skill, and make a "Hello World" app. that uses that skill.
Keep progressing upwards, creating 'sub apps' as you go.
When you are finally ready to make your final app. (it will take a while), you will have a good handle on how iOS development works. It will also be a great test of your knowledge via direct application!
Getting the hang of iOS development can be tricky; it really does require a top-down approach, and every online resource I've found takes a linear one. The only way that I think a linear approach to learning iOS development would be manageable, is to take it one small task at a time.
As for specific resources, I always google "[what I want to do] iPhone SDK" and browse the tutorials and forum posts that come up.
Here are some open source iOS apps. However, they aren't very well documented and are also very advanced.
TKAWebView - A subclass of UIWebView that handles authentication and downloading.
Welcome to your Mac - An iOS app. to VNC into a PC/Mac and do some cool stuff.
InAppSettingsKit - A settings screen creator for your apps.
Good luck!
The people behind the Parse platform have made two complete projects.
For each project there is the complete source code, a tutorial and the resulting app is also available from the AppStore.
Anywall: https://parse.com/anywall
Anypic: https://parse.com/anypic
They both rely heavily on the Parse platform as the data source, but you still get a feel for an iOS project.
Molecules is a great open-source app that uses 3D OpenGL to render complex models of molecules.
Just keep coding my friend. You'll learn over a period of time. The best way to get dirty in a mud fight is to jump into it... Weird analogy but you get the point.
Maybe someday, we all will learn from you then !
Like you said there many and many source codes are available internet, but most are incomplete.
I found some Open source codes of REAL application currently available through Apple app store are given here
Free iPhone App Source Codes of real apps
and also, you can find many answers here on stackoverflow question - Are there any Open-source iPhone applications around?
You can download free IOS sample projects from http://devcodemarket.com
I realize this is an old thread but I've also been looking for good objective-c code examples recently and I just realized that TextEdit's source code is available at the Mac Developer Library webpage.
Also, here are some popular objective-c libraries that have caught my attention:
CocoaPods
AFNetworking.
you can also go through UICatalog from Developers Library and download the sample code. just google it and you will find a project containing all basics of iphone.
I don't think there is any perfect project that can demonstrate all the qualities of great code. Developers have stylistic preferences and may make mistakes. That said, you should look at a lot of different projects and try to look at the conventions used.
I'd suggest starting on GitHub. Besides for seeing code, you'll see what libraries are out there, which may help further your projects later on. Here's the Objective-C page on GitHub.
(Also, I (GitHub link) think you're wrong about iOS devs not being in favor open source. Yes, there's money to be made, but you can't sell a CSV paring library on the App Store as is.)
Have a look at https://github.com/mozilla/firefox-ios
That is Firefox for iOS, written in Swift.
Cocoacontrols has a wide range of controls written using Objective-C & Swift.
I believe these days, this is one of the most famous website for iOS Developers.
But, before you jump onto this, you have to learn Objective-C & Swift very well, so that you will understand how to use the controls in your app which makes your app smooth.

Resources