ipad programming guidance - objective-c

I'm just at the startup level in ipad/iphone programming. There is a project in my mind, but I need some guidance on key points:
fundemental requirements:
1)user interface and interaction like wired magazine app(playing movies on page,etc)
2)accessing the timeuser spent on pages and videos
more:
-accessing another application's data (and let's say that application can give permission, if there is so)
Maybe these are just easy things to figure out, but if you could point me where to look I would be pleased.
PS: I have more than 10+ top seller ebooks on ipad/ios/iphone programming and I'm started to reading them. To be clear, names of these concepts (in what way I should research accessing the time user spent on a page- I did try on google on my own words but could not get the desired result)or some material pointing the issues really ease my way.

The UI portion of your question should be pretty easy to get to, it will just take learning a lot of the Cocoa Touch library, probably even a bit of Core Foundation.
There are two books I highly recommend:
Programming iOS 4
iPhone Programming: Big Nerd Ranch
I strongly recommend Programming iOS 4, primarily because it has been updated for XCode 4.
To answer your other question: to the best of my knowledge, you are not allowed to access other application's data due to sandboxing. You can, however, share data between your own apps if they share the same App ID.

First, as to the question on sharing data between apps. You can pass data between apps - basically launching one app from another and passing arguments. This can go both ways. If this is what you want, I'll share more on that.
As to learning, I recommend devouring Apple's documents, their samples, and Stackoverflow. Most of the iPhone development books you come across on development will be useful.

Related

What programming language does Sony's PhyreEngine use?

I'm looking into developing a title for the next PlayStation (to be unveiled on Feb 20th) and PSVita to be distributed on the PlayStation Network. I know how to get in contact with Sony and all, but I haven't submitted my application yet (even though I have a pretty good portfolio) and I was hoping to use Sony's own PhyreEngine for development of the game.
I was wondering if any of you guys knew what programming language the engine uses or is based on? As I want to be well prepared for production of the game. Also, if there's anyone who reads this and has developed a PSN game before, do you have a rough outline of how much it'd cost? (Dev Kits, SDKs, licenses etc.)
Thanks
Harry
PhyreEngine itself is written in C++. The tools are primarily C#.
Can't tell you anything about costs in general, you'd have to get in touch through official channels for that info. PhyreEngine itself is free to any licensed developer though, it's just part of the SDK.
(disclosure - PhyreEngine is my project)
PhyreEngine is based on C++, with a possibility of a few low level C libraries.
This information is from a post in this forum: http://www.3dbuzz.com/forum/threads/181890-What-runs-on-a-PS3/page2, about halfway down the page. A poster asked the same questions you did.
Hope this helps!

learning objective-c with Xcode?

I am a PHP developer, and want to learn objective-c usage withing its well known IDE - XCode to start building IOS apps for iphone and then sell them on AppStore.
my questions are:
What's the best (and easiest) documentation to start with ?
Is it that easy for me (as a beginner objective-c developer) to attract customers on AppStore and get them to buy my IOS apps, or is there a huge competition among experts on AppStore so that there is no chance for beginners on AppStore?
If there is any chance to sell my apps on AppStore, what's the possible profit for them on AppStore ?
thanks in advance.
What's the best (and easiest) documentation to start with?
I found this link (for PHP programmers):
http://mohrt.blogspot.com/2008/10/objective-c-crash-course-for-php.html
Otherwise go with books, and use xCode and read code.
Learn Objective - C: (Programming Objective C 2.0) - http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157/ref=sr_1_1?ie=UTF8&qid=1298891453&sr=8-1
Learn iOS coding: (Big Nerd Ranch) http://www.amazon.com/iPhone-Programming-Ranch-Guide-Guides/dp/0321706242/ref=sr_1_1?ie=UTF8&s=books&qid=1298891484&sr=1-1
Is it that easy for me (as a beginner objective-c developer) to attract
customers on AppStore and get them to buy my IOS apps, or is there a huge
competition among experts on AppStore so that there is no chance for
beginners on AppStore?
If your idea is good and your app is well written sure. But there are a few competitors.
If there is any chance to sell my apps on AppStore, what's the possible profit for them on AppStore ?
There is no easy answer to your question here, but you will have a profit from apple with 70% of the product prize.
Good luck out there.
I have learned IOS programming using big nerd ranch guide. It is very nice, updated (this is important because the development environment keeps changing) has lots of good examples and most importantly teach you each concept by making you write the code itself. Following it throughly will result shortly.
Writing an attractive app is a different issue. But if you improve yourself in UI design a little bit, tackle the challenges of the mobile environment and provide functionality & stability to your app, you will have a chance to shine. But I do not like the idea of trying to create an app which profits well. Build an app with good quality and make people willing to support your work instead; profit should be a result, not the aim.
In response to your questions:
The best (and easiest) documentation to start with is definitely Big Nerd Ranch's Objective-C Programming for beginners. It may seem overwhelming at the beginning but if you're able to plug away at server side languages day after day then you will eventually grasp objective-c very well. Also recommend watching Stanford University's iOS videos on youtube in your down time to become more familiar with the terminology while learning the language.
It seems the app store is no different from doing a website Google search for results, so you may want to consider marketing initiatives to get your app up-voted in order to become recommended by others or possibly just grow your download numbers. This answer is purely subjective.
Depends purely on your marketing efforts to grow interest.

Objective C for beginners

I was just asked to talk about Objective C to a bunch of High School student for 20 minutes. They have no experience with programming at all. What topics should I cover? Should I define vocab such as Method, Class, Variable? Or should I do something else?
Any comments are helpful!
Since you obviously cannot possibly teach them anything practical in 20 minutes, instead why not try to give them teasers into what you can do (instead of how to do it) to encourage them to learn more.
One such idea I have seen is that you could demonstrate an application that searches for all local bluetooth devices and displays them on the screen in a creative way. (ie when they turn on their phone bluetooth their phone id will appear and start floating around the screen)
Only catch is if you have any really clever students you may end up with mobile phone names changed to swear words...
20 minutes gives you almost no time to chat about programming concepts. I would simply display a "hello world" type application and give a very high-level overview of the different tools and languages needed to develop this program.
I'd recommend doing something to show how the tools work and introduce objects as the building-blocks of the app. I did a demo in about one minute, drag a webview, textfield and a few buttons in IB and make a full web browser without writing any code :-). Explain that each of those things is an object and what that means in the context of the app for the remaining 17 (then take questions). I used that demo to launch a talk on MVC but that might be too much depth for your audience. For reference my talk is on slideshare: http://www.slideshare.net/iamleeg/adopting-mvc-in-cocoa
How about telling them about Smalltalk history, the creative outburst at PARC, and the philosophy underlying this branch of OO language? Then quickly explain that ObjC is an attempt to pair this philosophy with an efficient, universally known language (C). Present NeXTstep and OSX as a further outgrowth of this, and land on the unusual features of the iPhone API (from a developer's perspective).
This will give them some history, a glimpse of the creative and technical issues faced by programmers, and a sense of the role computer languages play in the broader development of consumer computing. You can even show them some syntax comparing Smalltalk/ObjC/C/C++/Java, for example. Without going into detail, that might give them some sense of what a programmer's reality is like.
I would say no history. It's very vague as it is, let alone that AND programming together.
Do something like:
http://teachingkids.railsbridge.org/2009/08/15/teaching-ruby-to-high-school-girls.html

Open source Objective-C projects with high quality code?

I think one of the best ways to learn a new programming language is to dive into source code and see how experienced coders write. I've found this kind of question asked here on Stack Overflow for other languages, but none targeted at Objective-C. The closest I've found is this question about good-looking Cocoa user interfaces, but I'm thinking in terms of general code quality, such as good use of idioms and design patterns, and usable documentation. Another good characteristic would be a code-base that is large enough to require real organizational discipline, but small enough that a beginner can fit his/her head around.
What do you think is a high-quality open source project that meets these criteria?
There's a decent list of open source Mac projects on CocoaDev: http://cocoadev.com/CocoaOpen
Not all of the projects are still active, but a decent number of them are. I particularly recommend:
BWToolkit - http://bitbucket.org/bwalkin/bwtoolkit/
BGHUDAppKit - http://www.binarymethod.com/bghudappkit/
CHDataStructures - http://cocoaheads.byu.edu/code/CHDataStructures
MGTwitterEngine - http://mattgemmell.com/source
Sparkle - http://code.google.com/p/sparkleplus/
Colloquy - http://colloquy.info/project/wiki/Source%20Code
CocoaRest - http://github.com/sdegutis/CocoaREST
CorePlot - http://code.google.com/p/core-plot/
I've found Adium to be a well-designed and written Objective-C project. It has a huge codebase, too.
I don't think there's any one place to learn all the Objective-C idioms and best practices, but you can pick them up here and there over time and practice. Cocoa mailing lists and blogs are good resources for this. (There are several SO questions relating to that.)
I haven't dived into the source myself, but the Omni frameworks are well-respected in the Mac community.
I work on a framework of my own that's still rough around the edges, but I strive for quality documentation in addition to understandable, well-structured code.
Google Quick Search Box [ qsb-mac - Google Code ]
I think The Google Quick Search Box (QSB) is worth a look. IMHO it's pretty much a cleaner googley rewrite of Quicksilver (Note: N. Jitkoff, the QS programmer, is also involved in the Google QSB).
Apple has tons of downloadable examples on their developer website. You get to see the source, and the license is BSDish from what I recall (use it for whatever, but don't repost original code without the license).
http://developer.apple.com/samplecode/Cocoa/index-date.html
Check Out lots off open source project here.
http://code4app.net
http://code4app.com
https://www.cocoacontrols.com
Here's a test app I wrote earlier today. Download links under “get source” in the top-right.
It's small, but it demonstrates good organizational discipline (separate controller object, instead of everything crammed into AppDelegate), a simple model layer with one model class (Header), and correct use of Cocoa Bindings.
I used to work on the GNUstep sources, they've got a good consistent coding style and the code is well-organised. Of course the project is hardly small, but given that you know what most of the classes do as you've used them in your Cocoa projects it's easy to zoom in on a piece that interests you. Some of the GNUstep Applications Project or Étoilé apps may also be a good place to start.
Check out PSTreeGraph, a view control for iPad applications.
iMedia Browser
, shows support of 10.4 - 10.7 strategies, is neatly and purposefully organized, and deeply commented. inherent problems using ImageKit have been boldly approached and solved.
i aspire to this level of thought mixed with practicality.

How hard Is to add Iphone OS 3.0 features to an openGL game

I'm programming this game in OpenGL, mostly working inside an single EAGLView (I'm not that familiar with Views and other Cocoa concepts, my work to this point only involved using OpenGL to draw my game and calculating the logic myself).
I'm being told for adding a ton of features:
Send mails to Your friends when You achieve certain objectives in the game.
Interact with facebook ( I'm being told that I will provided with all the libraries I need).
Interaction with store kit !, buy weapons, Items, etc..
I would like to know, how effort and time will take to add those features... It's complicated to use GameKit ..StoreKit..MediaPlayer and other frameworks ?, considering that I only have worked with OpenGL to this point ?
Short answer: no, it's not hard to add those features.
Longer answer: depending on your background, if object-oriented concepts are new to you, it may take you longer to learn how to use the objects and frameworks. The only thing you can really do is read over the documentation and look at tutorials and decide how complicated it looks. Really, though, it's all well designed and thought out and if you have a programming background, a couple of the examples should give you plenty to start with and you'll get it all soon. And then come on back with your specific questions and smarter devs than I will answer them.
The hard part is all the details: weapons, items, etc.