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

Создание первого приложения

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

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

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

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

Шаг 2 — Выберите приложение для одного просмотра .

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

Шаг 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 Рабочая область

Инспектор файлов находится на панели выбора инспектора, как показано выше, и там можно отключить автоматический макет. Автоматический макет можно использовать, если вы хотите настроить таргетинг только на устройства iOS 6. Кроме того, вы сможете использовать многие новые функции, такие как сберегательная книжка, если поднимете цель развертывания до 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.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.

ViewController.h

#import <UIKit/UIKit.h> 

// Interface for class ViewController
@interface ViewController : UIViewController 

@end

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

  • Класс 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 вызывается в случае предупреждения о памяти.

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки