Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
I am new on iOS programming. I download some samples from apple website.
How do I know what's kind of the sample? View-Based, Window-based, Navigation-based etc.
To add to what #Steve said ( I was editing answer for some time now ... you put it better than I had :)), template does not create any indicator that allows you to find what kind of project. Of course the SDK setting and the run setting can help you understand if its for Iphone or MAC.
But if your project is created with some standard template, it is possible to understand which of those template was used.
Navigate to the .xcodeproj file for the corresponding project. CMD + click ( or right click) and choose open package contents. Open the .pbxproj file. By default this will open in Xcode, search for the term "Template". This will probably point you to the right direction.
Your question "[...] what's kind of an iOS Application? [...] View-Based, Window-based, Navigation-based etc." implies that these templates which ship with Xcode create fundamentally different "kinds" of applications.
This is not true.
All of those project templates create the same kind of project.
They are simply there as a quick-start convenience.
View-based, Window-based, ... are actually the names given to project templates in Xcode. When choosing one at project creation, Xcode provides the stuff you will need, which includes subclasses of common controller classes.
In almost all cases, an iOS app will show a window, and a view inside, so you can consider facing a window-based or a view-based app every time.
About the others, have a look to the files Xcode put in the project folder, you should find a UINavigationController when working with a navigation-based app, and for example a UITabBarController when you develop a tab-based app.
Finally, the best answer you will find is actually in the excellent View Controller Programming Guide for iOS provided by Apple.
Good luck.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I’m building my portfolio as a freelance graphic designer, and I develop designs for mobile apps. I’ve got android app development down, but I’m not sure if my knowledge of iPhone application development extends to the newest iO7 operating system. I’ve noticed that whenever a new operating system is available for iPhones, some of the apps for the previous system don’t work anymore. Does anyone know how I can keep up with the nuances of the newest iPhone operating system?
I understand what you're going through as I was myself in a position like yours.
So, what you need to understand is that the iOS development standards never completely change. The language i.e. Objective-C will always be the same. Now, there are of course improvements.
The most important keyword for you to know is deprecation. If a method or a class is deprecated, it means that it works for older versions of iOS but not for the latest one. Almost 99% of the time, that method or class is replaced by a newer, better one and it is clearly mentioned in the documentation.
So, I'd recommend that you start out by learning iOS 7 development only. Believe it or not, the major change in iOS 7 is mainly its looks and the core development concepts still remain in place.
Optimizing your app for previous operating systems is mostly a no-brainer. There are several tutorials online and its nothing a through Google search can't solve.
As someone who also came from an Android background, I can understand the urge to sometimes find certain similarities between the development process. There are nothing but misconceptions and don't think of such thing while making your app otherwise you might run into some very big problems.
Hope this helps you.
If you are an Apple developer, there are many different resources at you finger tips such as the new "Tech Talks" that explain new things that are coming into play for IOS Development. However, if you are not a developer there are still some ways to keep up with it such as watching the annual keynotes and checking their website regularly. One way that is possibly the most effective is to use it. Also it is always good to explore Xcode and things like the object library. When you preform the update on your iPhone, read the details of what is new in this update. Hope this helped
I have done some iPhone application development but still am relatively new at it. My question is, how do I design an interface like the face interface, where you have icons that you click that take you to certain things? Is there a template for this in xcode?
Thanks
There are no templates or UIKit classes that constructs a matrix of views. You will have to implement them yourself, or read about Three20 library (specifically launcher module) if it's relevant to what you want to implement.
link : http://three20.info/showcase/launcher
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
For a while now I have been killing spare time by creating a 2D game programming toolkit/library. It is written in Objective C, and consists of an OpenGL rendering system and a whole bunch of AI, physics code, a bunch of specialized containers and other game related stuff. Apart from the OpenGL based View mechanism (obviously), most of this code should be easily portable to iOS since it only uses the Foundation Framework and that framework appears to be implemented on iOS. So far I have only been testing the various components using a Cocoa NSOpenGLView but now I want to create a OS X/iOS library.
My Question is:
What's the best strategy for creating an Objective-C library that can be integrated into either iOS or OS X applications?
The Xcode 'New Project' dialog offers only:
iPhone OS; Library:
- Cocoa Touch Static Library.
Mac OS X, Framework and Library:
- Cocoa Framework
- Cocoa Library
- Bundle
- BSD C Library
- STL C++ Library
- JNI Library
At first glance none of these seems to be intended for creating a library that can be integrated into either OS X or iOS applications.
Well, I finally found the correct set of Google search terms, so to answer my own question (DOH!), it seems to be possible to share code, at least between iPhone apps and possibly also iPhone and OS X apps within certain limits. You have to create a 'static library' and use 'cross-project references':
http://www.clintharris.net/2009/iphone-app-shared-libraries/
http://www.amateurinmotion.com/articles/2009/02/08/creating-a-static-library-for-iphone.html
http://zetetic.net/blog/2010/02/15/building-static-libraries-to-share-code-on-iphone-and-mac-os-x-projects/
http://weston-fl.com/blog/?p=808
Haven't tested any of this yet but it looks promising.
You can do this with Targets.
Create a new project for a Cocoa Library. Then add a new target for a iOS Static Library. As you create new files ensure they're added to the appropriate targets (i.e. presumably both in your case) and set per-target build settings as required.
Projects using your library on the different platforms will need to link against the appropriate product but you won't need to duplicate your code.
I am a complete newbie(as is already evident) and I can't just figure out when to choose what. I have been through countless googling operations but found no help on the said question, hence had to ask here. It would be great if any of you could explain or even point me to some online resource which does it. Thanks again for your time.
It depends what your app needs. I've made an app which is a series of questions in a survey. For that I used a navigation based app.
However I'm now working on a complicated app which uses a series of navigation controllers within a UITabBarController. So for that I chose to start a window based application because there was going to be a lot of custom programming involved and that was the "cleanest slate" available.
Think about what you need your app to do, and remember the different projects you can start are all basically the same and you can always change them to suit your needs, its just what they all start with included thats different.
I would always recommend to start with Window based application template.
From a window based iPhone app, you can make any kind of iPhone application.
To learn:
I would recommend iPhone Programming: The Big Nerd Ranch Guide
Get the Kindle version for your Mac - Kindle for Mac
alt text http://img408.imageshack.us/img408/3245/bnr.th.jpg
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have found the "Getting Started" documents for developing apps on iPhone.
I wanted the community's opinion on what I should know/learn (in terms of languages or concepts)?
How long would it take for a moderate programmer to learn and build an app that manages a list, connects to certain websites, etc?
How to get an app I made onto the iPhone? Just ZIP then install with .ipa file?
I wanted the community's opinion on what I should know/learn (in terms of
languages or concepts)?
You will be using Objective-C and Cocoa. These are fairly strange concepts to crasp if you have not done MAC programming before, but after a short while you will probably fall in love with them. The most important concept to remember with iPhone development is memory management as the device has no concept of garbage collection.
How long would it take for a moderate programmer to learn and build
an app that manages a list, connects
to certain websites, etc?
Not too long. There are a multitude of example applications on the internet, and many helpful folk on stackoverflow.com
How to get an app I made onto the iPhone? Just ZIP then install with
.ipa file?
You will need to download the SDK, create an app using xcode on the mac (or similar environment for windows if there is one) - you can test with simulator without giving apple anything, but in order to legitimately test on device you need to become an apple developer.
However If you jailbreak your device, you will be able to follow one of several methods to get your application on the iphone bypassing apples restrictions.
The whole iPhone UI development (UITableView etc) is based around the MVC (Model-View-Controller) pattern, so a good understanding of that is vital.
Memory management is also vital and can be a little cumbersome to start off with. I have not long started so can not give you a good description here without making a fool of myself :). Apple Memory Management
Finally the development environment can be a little wierd to start off with. Especially hooking up the view controller and interface elements. So check that out.
Then its basically looking through the tutorials on the iPhone developer website and the internet to learn the intracacies of the different UI elements and controllers (tables, textboxes etc).
You will need to pay for the iPhone Developer program to legally use your iPhone to debug your applications (although the Xcode dev environment comes with a simulator). Submitting the application to the app store allows access by everyone. Full details for doing this are available after paying your money. There are other ways you can get apps on the iPhone but I will not provide details for doing that - search the internet.
I would say that looking through the documentation and following tutorials will get you far enough to start building applications. This should not take to long. A good book may also help you out here, try the iPhone Developers Cookbook, which gives good well discussed and broken down examples about specific issues and broader coverage of things like tables etc.
Objective-C. Pay close attention to memory management, i.e., retain, release and autorelease.
Took me about a month (part time) to get something that pretty much worked. And then another month to refactor after learning what I'd done wrong the first time. This was while the NDA was in place so it would probably be easier now.
You need to join the iPhone Developer Program. Installing a development app is just a matter of running from XCode once you have you certificates sorted. (Check the iTunes Connect documentations. It's pretty good.)
Installing on someone elses iPhone is a matter of figuring out ad-hoc deployment (hard) or uploading to iTunes (easy).
First of all: buy a mac if you don't have one already, the windows tooling pipeline is basically non-existant. And trying to run OSX on non-apple harware is illegal in most situations.
Download the iPhone SDK. http://developer.apple.com/iphone/ should have everything you need.
Objective-C is a little bit on the strange side but a moderate programmer should be able to pick it up quite quickly.
Installation: i have no idea sorry...use the app store ;)
Learn objective C and work with Cocoa. There are far more examples of that floating around than iPhone code. Depending on what environment you are used too, Xcode and the experience of developing for the iPHone can be quite a change so get ready to buy some books and spend lots of time scratching your head!
Learn how to navigate Apple's docs.
For example UIView Class Reference.
Took me a little while to get savvy. XCode also has an excellent documentation browser integrated into the IDE. Once you can translate what the docs are telling you into code, the whole API opens up.
Use the Research Assistant in XCode. (Under Help Menu) That thing rocks my world. Highlight a class like ABRecordRef and it will give you a quick synopsis of what it is and how to use it, with links to the reference docs.
The one bad thing about Apple's docs is that they don't have clear examples of how to call a method in the discussion of the method. This is a glaring oversight, IMO. So many time I just wish there was a simple example for how to use something and I wind up going to Google for it.
The above information is quite good, but I'd add that getting familiar with the documentation within XCode is very valuable. This means you need to go to the DOC SETS part of the Developer Documentation window and make sure you have the documentation for the iPhone OS you're coding for. I spent a bunch of time writing code that depended on methods in NSObject that are available in Cocoa but not on the iPhone OS.