iOS 入門教學
88
簡單學會 iOS 開發 Tuesday, August 13, 13
-
Upload
steven-shen -
Category
Technology
-
view
10.032 -
download
2
description
我離開前公司前,對三個 Android 工程師做的 iOS 入門教學投影片
Transcript of iOS 入門教學
- iOS Tuesday, August 13, 13
- TOI Android Java/C++ iOS6 Tuesday, August 13, 13
- developer.apple.com apple ID XCode Bundle ID Provision Prole XCode Testight Stackoverow XCode developer.apple.com iTunes Connect (ITC) Tuesday, August 13, 13
- ADN:Apple Developer Network developer.apple.com CerticationBundle ID Provisioning Tuesday, August 13, 13
- XCode (git) (Simulator) Provisionapp Tuesday, August 13, 13
- Objective-C 20 C++ C C C+ + / C Apple GC iOS GC ARC Tuesday, August 13, 13
- Objective-C private protected java interface (virtual class) package namespace Tuesday, August 13, 13
- .h .m .h .m .xib Interface Builder .storyboard storyboard Tuesday, August 13, 13
- Tuesday, August 13, 13
- + - Tuesday, August 13, 13
- (send message) 1 2 Tuesday, August 13, 13
- nil : nil NSNull YES / NO / True / False self : self.age = 20; [self callMyFather]; id : Tuesday, August 13, 13
- @Hello World; NSString Hello World c string @[@Hello, @World]; NSArray @{@key: @(123)} NSDictionary @(23) @(YES), @(NO) @(32.23) NSNumber Tuesday, August 13, 13
- NSString *str1 =@Hello; NSString *str2 = @World; if ([str1 isEqaulWithString:str2]) {} Tuesday, August 13, 13
- NSDictionary *dict = @{@key: @value}; NSLog(@Value is %@, dict[@key]); dict.keys; dict.values; NSMutableDictionary *dict = [NSMutableDictionary dictWithDictionary:@{@key: @value}]; dict[@key2] = @Value2; Tuesday, August 13, 13
- NSArray NSArray * array = [NSArray arrayWithObjects: @hello, @world, nil]; [array objectAtIndex:12]; NSArray * array = @[@hello, @world]; array[12]; NSDictionary NSDictionary *dict = [NSDictionary dictionaryWithObjects: @value1, @value2, nil forKeys: @key1, @key2, nil]; [dict objectForKey:@key2]; NSDictionary *dict = @{@key1: @value1, @key2: @value2}; dict[@key2]; NSNumber NSNumber *intNum = [NSNumber numberWithInt:12]; NSNumber *boolNum = [NSNumber numberWithBool: NO]; NSNumber *intNum = @(12); NSNumber *boolNum = @(YES); Tuesday, August 13, 13
- ARC Auto Reference Counting Obj-C Reference Count Reference Count == 0 Before ARC: [obj retain]; [obj release]; After ARC: [obj retain]; [obj release] Compile time Runtime Tuesday, August 13, 13
- ARC Before ARC: @property (retain) UITableView *tableView; After ARC: @property (strong) UITableView *tableView @property (weak) UITableView *tableView; @property (assign) UIInteger age; Tuesday, August 13, 13
- Auto Synthesis XCode 4.4 property @synthesize property setter getter @property (strong) UITableView *tbView; -(UITableView*)tbView; // getter -(void)setTbView:(UITableView *tbView); // setter _tbView; // Tuesday, August 13, 13
- Block iOS4 Block () closure block retain Block stack heap Callback Tuesday, August 13, 13
- Block Block Block Callback Tuesday, August 13, 13
- Block property copy http://blog.refractalize.org/post/10476042560/copy-vs-retain-for- objective-c-blocks onOpenHandler Tuesday, August 13, 13
- Multi-threads fork thread Queue thread NSFoundation: NSOperationQueue GCD (Grand Central Dispatch) Concurrent / Serial Main thread UI update Tuesday, August 13, 13
- NSOperationQueue Queue size (Concurrent / Serial) NSOperation Cancel Operation Tuesday, August 13, 13
- NSBlockOperation NSOperation block Tuesday, August 13, 13
- GCD Grand Central Dispatch ( ) CPU dispatch task dispatch_async / dispatch_sync dispatch_get_main_queue() Tuesday, August 13, 13
- GCD UI Main Thread background thread UI dispatch_async(dispatch_get_main_queue() ....) Tuesday, August 13, 13
- Cocoa Framework Apple SDK Framework Library API UI multithread Cocoa Framework iOS Cocoa OpenSource 3rdParty Library Tuesday, August 13, 13
- cocoapods : http://cocoapods.org/ Podle pod install xcode FavClient- iOS.xcworkspace Tuesday, August 13, 13
- IDE Tuesday, August 13, 13
- Editor Debug ConsoleSymbols Tabs (Command + t) Breakpoints Editor Tuesday, August 13, 13
- Source Control Tuesday, August 13, 13
- Tuesday, August 13, 13
- Instrument - Debug and Performance Tuning Tuesday, August 13, 13
- peak ! Tuesday, August 13, 13
- iOS UI Tuesday, August 13, 13
- MVC: Model /View / Controller View UIView Controller UI UIViewController Tuesday, August 13, 13
- iOS Cocoa Framwork Views Tuesday, August 13, 13
- Controllers UIViewController UINavigationController UITableViewController UITapBarController Tuesday, August 13, 13
- ViewController New Cocoa-Touch le Subclass UIViewController Create XIB le Tuesday, August 13, 13
- ViewController loadView viewDidLoad viewWillAppear viewDidAppear viewWillDisappear viewDidDisappear dealloc Tuesday, August 13, 13
- ViewController viewDidLoad function view viewDidAppear Tuesday, August 13, 13
- ViewController ViewController -(void)presentViewController:(UIViewController*)viewController animated: (BOOL)ag completion:(void (^)(void))completion; transition styles: Cover vertical, Flipping, Cross Dissolve, Partial Curl Dismiss ViewController: -(void)dismissViewControllerAnimated:(BOOL)ag completion:(void (^) (void))completion Tuesday, August 13, 13
- Navigation Controller Navigation Bar View Controller 1 View Controller 2 View Controller 3 Tuesday, August 13, 13
- Navigation Controller rootViewController (initWithRootViewController) pushViewController:animated: popViewControllerAnimated: popToRootViewControllerAnimated: Tuesday, August 13, 13
- Controller View Controller Xcode Interface Interface Builder Controller UI Controller loadView Interface Builder UI Tuesday, August 13, 13
- Interface Builder Apple Xcode UI XML xib iOS UI Control Interface builder Tuesday, August 13, 13
- Interface Builder IB UI UI Xcode UI IBOutlet IBAction IBOutlet UI IBAction Tuesday, August 13, 13
- IBOutlet IBAction Tuesday, August 13, 13
- Interface Builder connection inspector Reference Outlet Files Owner IBOutlet Button hook Touch Up Inside event Connection inspector Touch Up inside Files Owner IBAction Tuesday, August 13, 13
- Xcode Interface Builder UI Tuesday, August 13, 13
- storyboard iOS5 ViewController storyboard UI storyboard storyboard Tuesday, August 13, 13
- storyboard storyboard Interface Builder ... Tuesday, August 13, 13
- TableView View Model delegate / datasource Tuesday, August 13, 13
- View - (void) viewDidLoad { [super viewDidLoad]; CGRect newFrame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); UITableView *tableView = [[UITableView alloc] initWithFrame:newFrame style:UITableViewStylePlain]; tableView.delegate = self; tableView.dataSource = self; [self.view addSubview: tableView]; } Tuesday, August 13, 13
- Tuesday, August 13, 13
- app View Controllers NavigationController TableView Tuesday, August 13, 13
- Localization Tuesday, August 13, 13
- NSLocalizedString(@Message to show, @Comment); Build Localizable.strings Tuesday, August 13, 13
- NSLocalizedString(@Message to show, @Comment); Build Localizable.strings Tuesday, August 13, 13
- NSLocalizedString(@Message to show, @Comment); Build Localizable.strings Tuesday, August 13, 13
- NSLocalizedString(@Message to show, @Comment); Build Localizable.strings Tuesday, August 13, 13
- xib xib ( maintain ) 3rd party modulehttps:// github.com/angelolloqui/AGi18n Tuesday, August 13, 13
- App Name Icon Tuesday, August 13, 13
- App Name InfoPlist.name app name Tuesday, August 13, 13
- App Icon 57x57( retina) 114x114(retina)1024x1024 icon project ( copy project ) project > Summary icon ( retina retina) App Icons Tuesday, August 13, 13
- TestFlight Tuesday, August 13, 13
- Build Number terminal project iOSFavUploader/ agvtool bump git add . ; git commit -m bump Tuesday, August 13, 13
- Testight Apple app app 100 () beta build Testight beta build XCode 5.0 Tuesday, August 13, 13
- 1. ADN (developer.apple.com) 2. beta UDID (UDID (http://howto.cnet.com/8301-11310_39-57506702-285/how-to-nd-your-ios-devices-udid/) 3. Device UDID 4. Provision Prole Provisioning Prole 5. Provisioning Prole Tuesday, August 13, 13
- 1. XCode: Product > Archive 2. XCode clean build app 3. Organizer Distribute 4. Save for Enterprise or Ad-Hoc Deployment 5. Provisioning Prole 6. ipa Archive App Binary Tuesday, August 13, 13
- Testight 1. + Upload Build 2. ipa Change logs 3. ( testight ) 4. testight build install Tuesday, August 13, 13
- App Store Tuesday, August 13, 13
- App Binary 1) ADN (developer.apple.com) 2) Production Certicate 3) App Store Distribution Provisioning Prole 4) Certicate Prole Tuesday, August 13, 13
- iTunes Connect iTunes Connect iTunes app submission marketing https://itunesconnect.apple.com/ WebObjects/iTunesConnect.woa iTunes Connect app Tuesday, August 13, 13
- iTC App Tuesday, August 13, 13
- 1 2 Tuesday, August 13, 13
- 3 Tuesday, August 13, 13
- App Description, keywords, icons, screenshots(), (App Reviewer app) Tuesday, August 13, 13
- Tuesday, August 13, 13
- 1) XCode: Product > Archive 2) XCode clean build app 3) Organizer Distribute 4) Submit to App Store 5) Provisioning Prole 6) app binary 7) iTunes Connect Archive App Binary Tuesday, August 13, 13
- Tuesday, August 13, 13
- ?! app Rights and Pricing Deselect app store Save Tuesday, August 13, 13
- Sales and Trends , tracking 3rd-party ( cocoapods ): Google Analytics Flurry (http://www.urry.com) Tuesday, August 13, 13
- Crash Report app crash Crashlytics crash report Crashlytics twitter crash report Tuesday, August 13, 13
- Tuesday, August 13, 13
- Stanford CS193p https://itunes.apple.com/us/course/coding- together-developing/id593208016 : http://www.raywenderlich.com/tutorials WWDC : https://developer.apple.com/wwdc/videos/ https://developer.apple.com/videos/wwdc/2012/ Tuesday, August 13, 13
- Cocoa Design Patterns: http://www.amazon.com/Cocoa-Design-Patterns- Erik-Buck/dp/0321535022/ref=sr_1_1? ie=UTF8&qid=1376278359&sr=8-1&keywords=cocoa+design+patterns iOS Programming - The Big Nerd Ranch Guides: http://www.amazon.com/ iOS-Programming-Ranch-Edition-Guides/dp/0321821521/ref=sr_1_3? ie=UTF8&qid=1376278374&sr=8-3&keywords=cocoa+design+patterns Tuesday, August 13, 13