Учебники

iOS — первое приложение для iPhone

Теперь мы собираемся создать простое приложение с одним представлением (пустое приложение), которое будет работать на симуляторе iOS.

Шаги следующие.

Шаг 1 — Откройте Xcode и выберите Создать новый проект Xcode .

Страница приветствия XCode

Шаг 2 — Выберите приложение Single View .

Создать проект

Шаг 3 — введите название продукта, т. Е. Название приложения, название организации, а затем идентификатор компании.

Новый проект Создать параметры

Шаг 4. Убедитесь, что выбран параметр « Использовать автоматический подсчет ссылок» , чтобы автоматически высвобождать ресурсы, выделенные после выхода из области видимости. Нажмите кнопку «Далее.

Шаг 5 — Выберите каталог для проекта и выберите создать.

Создать проект Выбрать папку

Шаг 6 — Вы увидите экран следующим образом —

Страница проекта XCode

На приведенном выше экране вы сможете выбрать поддерживаемые ориентации, настройки сборки и выпуска. Существует цель развертывания в полевых условиях, версия устройства, с которой мы хотим поддерживать, давайте выберем 4.3, что является минимально допустимой целью развертывания в настоящее время. Пока они не обязательны, и давайте сосредоточимся на запуске приложения.

Шаг 7 — Теперь выберите симулятор iPhone в раскрывающемся списке рядом с кнопкой «Выполнить» и выберите «Выполнить».

Шаг 8 — Вот и все; Вы успешно запустили свое первое приложение. Вы получите вывод следующим образом —

Теперь давайте изменим цвет фона, чтобы начать работу с конструктором интерфейса. Выберите ViewController.xib. Выберите фоновый вариант с правой стороны, измените цвет и запустите.

Интерфейсный Разработчик

В вышеупомянутом проекте по умолчанию цель развертывания была бы установлена ​​на iOS 6.0, и автоматическая разметка будет включена. Чтобы убедиться, что наше приложение работает на устройствах с iOS 4.3 и более поздних версий, мы уже изменили цель развертывания в начале создания этого приложения, но не отключили автоматическую разметку.

Чтобы отключить автоматическое размещение, нам нужно снять флажок автоматического размещения в файловом инспекторе каждого пера, то есть файлов xib. Различные разделы IDE проекта XCode приведены на следующем рисунке (Предоставлено: Apple Xcode 4 Пользовательская документация).

Xcode 4 Workspace

Инспектор файлов находится в панели выбора инспекторов, как показано выше, и автоматическую компоновку можно отключить там. Автоматический макет можно использовать, если вы хотите настроить таргетинг только на устройства iOS 6. Кроме того, вы сможете использовать множество новых функций, таких как Passbook, если поднимете цель развертывания до iOS 6. А пока давайте придерживаться iOS 4.3 в качестве цели развертывания.

Код первого iOS-приложения

Вы найдете пять разных файлов, которые были бы созданы для вашего приложения. Они перечислены следующим образом —

  • AppDelegate.h
  • AppDelegate.m
  • ViewController.h
  • ViewController.m
  • ViewController.xib

AppDelegate.h

// Header File that provides all UI related items. 
#import <UIKit/UIKit.h> 

// Forward declaration (Used when class will be defined /imported in future)
@class ViewController;  

// Interface for Appdelegate
@interface AppDelegate : UIResponder <UIApplicationDelegate>

// Property window 
@property (strong, nonatomic) UIWindow *window; 

// Property Viewcontroller

@property (strong, nonatomic) ViewController *viewController;
//this marks end of interface 
@end  

Важные элементы в коде

  • AppDelegate наследуется от UIResponder, который обрабатывает события iOS.

  • Реализует методы делегата UIApplicationDelegate, который предоставляет ключевые события приложения, такие как завершение запуска, завершение и т. Д.

  • Объект UIWindow для управления и координации различных видов на экране устройства iOS. Это как базовый вид, поверх которого загружаются все остальные виды. Обычно есть только одно окно для приложения.

  • UIViewController для управления потоком экрана.

AppDelegate наследуется от UIResponder, который обрабатывает события iOS.

Реализует методы делегата UIApplicationDelegate, который предоставляет ключевые события приложения, такие как завершение запуска, завершение и т. Д.

Объект UIWindow для управления и координации различных видов на экране устройства iOS. Это как базовый вид, поверх которого загружаются все остальные виды. Обычно есть только одно окно для приложения.

UIViewController для управления потоком экрана.

AppDelegate.m

// Imports the class Appdelegate's interface
import "AppDelegate.h" 

// Imports the viewcontroller to be loaded
#import "ViewController.h" 

// Class definition starts here
@implementation AppDelegate 


// Method to intimate us that the application launched successfully
- (BOOL)application🙁UIApplication *)application 
didFinishLaunchingWithOptions🙁NSDictionary *)launchOptions {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   
   // Override point for customization after application launch.
   self.viewController = [[ViewController alloc]
   initWithNibName:@"ViewController" bundle:nil];
   self.window.rootViewController = self.viewController;
   [self.window makeKeyAndVisible];
   return YES;
}

- (void)applicationWillResignActive🙁UIApplication *)application {
   /* Use this method to release shared resources, save user data,
   invalidate timers, and store enough application state information
   to restore your application to its current state in case it is 
   terminated later. If your application supports background 
   execution, this method is called instead of
   applicationWillTerminate: when the user quits.*/
}

- (void)applicationWillEnterForeground🙁UIApplication *)application {
   /* Called as part of the transition from the background to the 
   inactive state. Here you can undo many of the changes made on 
   entering the background.*/
}

- (void)applicationDidBecomeActive🙁UIApplication *)application {
   /* Restart any tasks that were paused (or not yet started) while 
   the application was inactive. If the application was previously in 
   the background, optionally refresh the user interface.*/
}

- (void)applicationWillTerminate🙁UIApplication *)application {
   /* Called when the application is about to terminate. Save data if 
   appropriate. See also applicationDidEnterBackground:. */
}

- (void)applicationWillTerminate🙁UIApplication *)application {
   /* Called when the application is about to terminate. Save data if appropriate.
   See also applicationDidEnterBackground:. */
}
@end

Важные элементы в коде

  • UIApplication делегаты определены здесь. Все методы, определенные выше, являются делегатами приложения пользовательского интерфейса и не содержат пользовательских методов.

  • Объект UIWindow выделен для хранения выделенного приложения.

  • UIViewController выделяется как начальный контроллер представления окна.

  • Чтобы сделать окно видимым, вызывается метод makeKeyAndVisible.

UIApplication делегаты определены здесь. Все методы, определенные выше, являются делегатами приложения пользовательского интерфейса и не содержат пользовательских методов.

Объект UIWindow выделен для хранения выделенного приложения.

UIViewController выделяется как начальный контроллер представления окна.

Чтобы сделать окно видимым, вызывается метод makeKeyAndVisible.

ViewController.h

#import <UIKit/UIKit.h> 

// Interface for class ViewController
@interface ViewController : UIViewController 

@end

Важные элементы в коде

  • Класс ViewController наследует UIViewController, который предоставляет фундаментальную модель управления представлениями для приложений iOS.

Класс ViewController наследует UIViewController, который предоставляет фундаментальную модель управления представлениями для приложений iOS.

ViewController.m

#import "ViewController.h"

// Category, an extension of ViewController class
@interface ViewController ()

@end

@implementation ViewController  

- (void)viewDidLoad {
   [super viewDidLoad];
   // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   // Dispose of any resources that can be recreated.
}
@end

Важные пункты в коде

Два реализованных здесь метода определены в базовом классе UIViewController.

Выполните первоначальную настройку в viewDidLoad, который вызывается после загрузки представления.

Метод didReceiveMemoryWarning вызывается в случае предупреждения памяти.