Date post: | 05-Jul-2015 |
Category: |
Software |
Upload: | eungshik-henry-kim |
View: | 49 times |
Download: | 0 times |
iPhone Apps II
EungShik KimFeb 21, 2009
UANGEL Corporation
iDrummer Development
!"##$%!"&!"#'!()'
iDrummerInstroduction
""##$%!"&!"#'!()'
iDrummerFeatures
• Fast startup with ‘Default.png’ image file
• Scaled transform while loading first view
• Changing view with UIPageControl
• Flipping view by preference setting
• Effect images and sound by UITouch
• Playing sound effect automatically
• Remember user default settings
*"##$%!"&!"#'!()'
iDrummerUsing Components
• UIViewController, UIView, UIImageView, ...
• UITableView, UITableViewCell, ...
• UIAccelerometer (not included in v1.0)
• Control OpenAL Audio (OpenAL/al.h)
• UISlider(Overrided), UISwitch, UILabel, ...
• NSThread, NSUserDefaults
+"##$%!"&!"#'!()'
iDrummerDevelopment Log
• Making first draft (Without design)
• Making second draft (With design)
• Add ‘page slide’ with accelerometer
• Add ‘Timer Thread’ and ‘8, 16, 32 beat’
• iDrummer alpha open
• Changing sound to ambient audio session
• Distribute on iTunes AppStore
2/21/51/2 2/4 2/82/5 2/6 2/16
,"##$%!"&!"#'!()'
iDrummerDevelopment
-"##$%!"&!"#'!()'
iDrummerApplication Launching
."##$%!"&!"#'!()'
iDrummerApplication Launching Mechanism
UIApplicationMain()
Other Sources/main.m
Framework: UIKit
UIApplication
Resources/MainWindow.xib
Inherit: UIResponder: NSObject
<UIApplicationDelegate>
Application Cotroller/iDrummerAppDelegate.h
Framework: UIKit
[applicationDidFinishLaunching]
Application Cotroller/iDrummerAppDelegate.m
Class: UIApplicationDelegate
[RootViewController viewDidLoad]
Application Cotroller/RootViewController.m
Class: UIViewController
AcousticDrumView
ElectronicDrumView
MiniDrumView
ThumbDrumView
/"##$%!"&!"#'!()'
iDrummerUIViewController
& UIView
$"##$%!"&!"#'!()'
!N > Cocoa Touch Classes > UIViewController subclass Insert filename
iDrummerCreate UIViewController class
!#"##$%!"&!"#'!()'
UIViewController class
Code Review
!!"##$%!"&!"#'!()'
!N > Cocoa Touch Classes > UIView subclass Insert filename
iDrummerCreate UIView class
!""##$%!"&!"#'!()'
UIView class
Code Review
!*"##$%!"&!"#'!()'
iDrummerCreate XIB file 1
Right click on ‘Resources’ User Interfaces > View XIB
Insert filename
!+"##$%!"&!"#'!()'
iDrummerCreate XIB file 2
!,"##$%!"&!"#'!()'
iDrummerCreate XIB file 3
!-"##$%!"&!"#'!()'
iDrummerCreate XIB file 4
!."##$%!"&!"#'!()'
Connect to RootViewController
!/"##$%!"&!"#'!()'
iDrummerClass Hierarchy
& NSUserDefaults
!$"##$%!"&!"#'!()'
iDrummerNSUserDefaults - Register
"#"##$%!"&!"#'!()'
iDrummerNSUserDefaults - Restore
"!"##$%!"&!"#'!()'
iDrummerNSUserDefaults - Remember
"""##$%!"&!"#'!()'
iDrummerUITableViewCell
& Override UISlider
"*"##$%!"&!"#'!()'
!N > Cocoa Touch Classes > UITableViewCell subclass Insert filename
iDrummerCreate UITableViewCell class
"+"##$%!"&!"#'!()'
UITableViewCell class
Code Review
","##$%!"&!"#'!()'
iDrummerOverride UISlider
"-"##$%!"&!"#'!()'
iDrummerUIAccelerometer
"."##$%!"&!"#'!()'
iDrummerUIAccelerometerDelegate Protocol
"/"##$%!"&!"#'!()'
UIAccelerometer
Code Review
"$"##$%!"&!"#'!()'
iDrummerOpenAL Service
*#"##$%!"&!"#'!()'
iDrummerCore Audio in iPhone OS
iPhone OS Core Audio architectureMac OS X Core Audio architecture
*!"##$%!"&!"#'!()'
SoundEngine.cpp
Code Review
*""##$%!"&!"#'!()'
iDrummerAnd so force...
**"##$%!"&!"#'!()'
iDrummerEnabling Multiple Touch
*+"##$%!"&!"#'!()'
iDrummerFast Startup with Default.png
320px
480px
Default.png
*,"##$%!"&!"#'!()'
iDrummerScaled transform loading first view
*-"##$%!"&!"#'!()'
iDrummerChange view with UIPageControl
*."##$%!"&!"#'!()'
iDrummerFlipping view with ‘i’ button
*/"##$%!"&!"#'!()'
iDrummerEffect images and sound by UITouch
*$"##$%!"&!"#'!()'
iDrummerHide the status bar of iPhone
Create ‘UIStatusBarHidden’ key and checked value
+#"##$%!"&!"#'!()'
Thanks.
+!"##$%!"&!"#'!()'