Building a Completed iPhone App

613 views

Published on

Building a Completed iPhone App

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
613
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Building a Completed iPhone App

  1. 1. Presented by Vu Tran Lam Building a Completed iPhone App Friday, March 29, 13
  2. 2. 2 Could You Build Apps For This...? Friday, March 29, 13
  3. 3. ...And This...? Friday, March 29, 13
  4. 4. Friday, March 29, 13
  5. 5. Friday, March 29, 13
  6. 6. L 6 Friday, March 29, 13
  7. 7. Set Up When you develop apps, you use the iOS SDK and Xcode (Apple’s IDE). Xcode provides everything you need to create great apps for iPhone, iPod touch, and iPad. It includes a source editor, a graphical user interface editor, and many other features. Xcode employs a single window (workspace window), that presents most of the tools you need to develop apps. The iOS SDK extends the Xcode toolset to include the tools, compilers, and frameworks you need specifically for iOS. Friday, March 29, 13
  8. 8. Language Objective-C is an elegant object-oriented language that powers all iOS apps. You write Objective-C code to create your app, and you need to understand this language in order to use most application frameworks. Although you can use other languages for development, you can’t build an iOS app without Objective-C. Friday, March 29, 13
  9. 9. Friday, March 29, 13
  10. 10. Development Friday, March 29, 13
  11. 11. • Frameworks Development Friday, March 29, 13
  12. 12. Frameworks An app consists of code that you write and frameworks provided by Apple. A framework contains a library of methods that your app can call. More than one app can access a framework library at the same time. Friday, March 29, 13
  13. 13. Using an Object-Oriented Framework Friday, March 29, 13
  14. 14. Handle the Events Friday, March 29, 13
  15. 15. Survey Major Frameworks Friday, March 29, 13
  16. 16. Survey Major Frameworks Friday, March 29, 13
  17. 17. • Frameworks • Design Patterns Development Friday, March 29, 13
  18. 18. Design Patterns A design pattern solves a common software engineering problem. Patterns are abstract designs, not code. When you adopt a design, you adapt the general pattern to your specific needs. Friday, March 29, 13
  19. 19. Design Pattern: Model-View-Controller Friday, March 29, 13
  20. 20. Design Pattern: Model-View-Controller Friday, March 29, 13
  21. 21. • Frameworks • Design Patterns • Human Interface Design Development Friday, March 29, 13
  22. 22. Human Interface Design It’s not enough to create an app that works. Users expect iOS apps to be intuitive, interactive, and engaging. Think about the user experience as you design every aspect of your app, from the features you choose to the way your app responds to a gesture. Friday, March 29, 13
  23. 23. Human Interface Design • Types of App Friday, March 29, 13
  24. 24. Human Interface Design • Types of App • Wireframing Friday, March 29, 13
  25. 25. Human Interface Design • Types of App • Wireframing • Icons Friday, March 29, 13
  26. 26. • Frameworks • Design Patterns • Human Interface Design • App Design Development Friday, March 29, 13
  27. 27. App Design Friday, March 29, 13
  28. 28. App Design Before you begin writing a line of code, you should make some critical design decisions: • Be as specific as possible about your app’s purpose and features • Choose the kind of data model your app will use • Decide on UI style for your app (e.g. single view or master-detail) • Decide your app to be universal (runs on iPad, iPhone, iPod touch) These and other design decisions help you to construct the architecture of your app. Friday, March 29, 13
  29. 29. • Frameworks • Design Patterns • Human Interface Design • App Design • App Store Development Friday, March 29, 13
  30. 30. App Store To make a great app, you need to test it on actual devices throughout the development process, not just in Simulator. To run an app on iOS-based devices, you need to register the devices you want to test on, create certificates that authorize developers to sign an app, and create an app ID to identify the app. Finally, you will do to publish an app on the App Store. Friday, March 29, 13
  31. 31. Xcode IDE Friday, March 29, 13
  32. 32. Xcode Workspace Friday, March 29, 13
  33. 33. Toolbar Xcode Workspace Friday, March 29, 13
  34. 34. Toolbar Navigation Selector Bar Filter Bar Project Navigator Xcode Workspace Friday, March 29, 13
  35. 35. Toolbar Navigation Selector Bar Filter Bar Interface Builder Project Navigator Xcode Workspace Friday, March 29, 13
  36. 36. Toolbar Navigation Selector Bar Jump Bars Filter Bar Interface Builder Editor Area Project Navigator Xcode Workspace Friday, March 29, 13
  37. 37. Toolbar Navigation Selector Bar Library Selector Bar Filter Bar Inspector Selector Bar Interface Builder Editor Area Inspector Pane Library Pane Project Navigator Jump Bars Xcode Workspace Friday, March 29, 13
  38. 38. Toolbar Navigation Selector Bar Library Selector Bar Filter Bar Inspector Selector Bar Debug Bar Interface Builder Editor Area Inspector Pane Library Pane Debug Area Project Navigator Jump Bars Xcode Workspace Friday, March 29, 13
  39. 39. Friday, March 29, 13
  40. 40. Your First iOS App - Hello World Friday, March 29, 13
  41. 41. Introduction First iOS App introduces Three Ts of iOS app development: • Tools: How to use Xcode to create and manage a project? • Technologies: How to create an app that responds to user input? • Techniques: How to take advantage fundamental design patterns? Friday, March 29, 13
  42. 42. Part 1: Getting Started • Create and Test a New Project • Anatomy of an Application • Find Out How an Application Starts Up • Look at UIApplicationMain Function • Look at Storyboad File • Look at Property List File • Understand View and Window Architecture Friday, March 29, 13
  43. 43. Anatomy of an Application • Compiled code • Storyboard files • Resources (images, sounds, strings, etc) • Info.plist file (application configuration) Friday, March 29, 13
  44. 44. • Compiled code • Your code • Framework • Storyboard files • Resources (images, sounds, strings, etc) • Info.plist file (application configuration) Anatomy of an Application Friday, March 29, 13
  45. 45. • Compiled code • Your code • Framework • Storyboard files • UI elements and other objects • Details about object relationships • Resources (images, sounds, strings, etc) • Info.plist file (application configuration) Anatomy of an Application Friday, March 29, 13
  46. 46. Anatomy of an Application Friday, March 29, 13
  47. 47. Anatomy of an Application Your Code Friday, March 29, 13
  48. 48. Anatomy of an Application Your Code Storyboard Friday, March 29, 13
  49. 49. Anatomy of an Application Your Code Storyboard Info.plist File Friday, March 29, 13
  50. 50. Anatomy of an Application Your Code Storyboard Info.plist File Framework Friday, March 29, 13
  51. 51. Understanding View and Window Architecture Views and windows present your application’s user interface and handle the interactions with that interface. UIKit and other system frameworks provide a number of views that you can use as-is with little or no modification. You can also define custom views for places where you need to present content differently than the standard views allow. Friday, March 29, 13
  52. 52. Part 2: Inspecting View Controller and Its View • Use Inspector to Examine View Controller • Open Inspector • Change View’s Background Color • Set Background Color of View Controller’s View • Restore Background Color of View Controller’s View Friday, March 29, 13
  53. 53. Change View’s Background Color Friday, March 29, 13
  54. 54. Part 3: Configuring View • Understand View Controller Basics • Add User Interface Elements • Create an Action for Button • Create Outlets for Text Field and Label • Make Text Field’s Delegate Connection • Test Application Friday, March 29, 13
  55. 55. Understand View Controller Basics View controllers are a vital link between an app’s data and its visual appearance. Whenever an iOS app displays a user interface, the displayed content is managed by a view controller or a group of view controllers coordinating with each other. Therefore, view controllers provide the skeletal framework on which you build your apps. Friday, March 29, 13
  56. 56. Understand View Controller Basics A key part of any view controller’s implementation is to manage the views used to display its content. It’s very difficult to manage many connections view controllers. Instead, use Interface Builder to create storyboards. Storyboards make it easier to visualize the relationships in your app and simplify the effort needed to initialize objects at runtime. Interface Builder Friday, March 29, 13
  57. 57. Understand View Controller Basics This is “Hello World” window with its target screen and content views. On the left, you can see the objects that make up this interface and understand how they are connected to each other. Friday, March 29, 13
  58. 58. Add User Interface Elements You add user interface (UI) elements by dragging them from the object library to a view on the canvas. After adding UI elements, you can move and resize them. Friday, March 29, 13
  59. 59. Create an Action for Button Control-drag, press and hold the Control key while you drag from the button to the implementation file in the assistant editor pane. After that, you must input as following: Friday, March 29, 13
  60. 60. Create Outlet for Text Field Control-drag, press and hold the Control key while you drag from the text field to the implementation file in the assistant editor pane. After that, you must input as following: Friday, March 29, 13
  61. 61. Create Outlet for Label Control-drag, press and hold the Control key while you drag from the label to the implementation file in the assistant editor pane. After that, you must input as following: Friday, March 29, 13
  62. 62. Make Text Field’s Delegate Connection Control-drag, press and hold the Control key while you drag from text field to the yellow sphere in the scene dock. After that, you must input as following: Control-drag and select delegate Friday, March 29, 13
  63. 63. Test Application Friday, March 29, 13
  64. 64. Part 4: Implementing View Controller • Add a Property for User’s Name Friday, March 29, 13
  65. 65. Part 4: Implementing View Controller • Add a Property for User’s Name @property (copy, nonatomic) NSString *userName; In HelloWorldViewController.h, type: Friday, March 29, 13
  66. 66. Part 4: Implementing View Controller • Add a Property for User’s Name • Implement changeGreeting: Method Friday, March 29, 13
  67. 67. Part 4: Implementing View Controller • Add a Property for User’s Name • Implement changeGreeting: Method - (IBAction)changeGreeting:(id)sender { self.userName = self.textField.text; NSString *nameString = self.userName; if (nameString.length == 0) { nameString = @"World"; } NSString *greeting = [[NSString alloc] initWithFormat: @"Hello, %@!", nameString]; self.label.text = greeting; } In HelloWorldViewController.m, type: - (IBAction)changeGreeting:(id)sender { self.userName = self.textField.text; NSString *nameString = self.userName; if (nameString.length == 0) { nameString = @"World"; } NSString *greeting = [[NSString alloc] initWithFormat: @"Hello, %@!", nameString]; self.label.text = greeting; } In HelloWorldViewController.m, type: Friday, March 29, 13
  68. 68. Part 4: Implementing View Controller • Add a Property for User’s Name • Implement changeGreeting: Method • Configure View Controller as Text Field’s Delegate Friday, March 29, 13
  69. 69. Part 4: Implementing View Controller • Add a Property for User’s Name • Implement changeGreeting: Method • Configure View Controller as Text Field’s Delegate - (BOOL) textFieldShouldReturn: (UITextField *)theTextField { if (theTextField == self.textField) { [theTextField resignFirstResponder]; } return YES; } @end In HelloWorldViewController.m, type: In HelloWorldViewController.h, add <UITextFieldDelegate>: @interface HelloWorldViewController : UIViewController <UITextFieldDelegate> Friday, March 29, 13
  70. 70. Part 4: Implementing View Controller • Add a Property for User’s Name • Implement changeGreeting: Method • Configure View Controller as Text Field’s Delegate • Run Application Friday, March 29, 13
  71. 71. Next... Friday, March 29, 13
  72. 72. MVC Friday, March 29, 13
  73. 73. many thanks to Thank you lamvt@fpt.com.vn please say Stanford University https://developer.apple.com Developer Center http://www.stanford.edu/class/cs193p xin chào References http://az4you.wordpress.com http://www.slideshare.net/vutlam9083/building-a-completed- iphone-app Friday, March 29, 13

×