Главная » iPhone » Создание и установка приложений iPhone

1

Теперь, когда установлен пакет инструментов, пришло время узнать, как им пользоваться. Существуют два основных способа создания исполняемых файлов: командная строка и таке-файл.

Приводимые в этой книге примеры достаточно просты, поэтому они могут быть созданы с помощью командной строки. Пакет инструментов совместим со стандартными аргументами компилятора и должен быть вам знаком, если вы когда-либо пользовались gcc. Прежде чем попытаться воспользоваться кросс-компилятором, убедитесь в том, что среди ваших путей имеется /too 1 cha i n/pre/b i n:

$ export PATH=$PATH:/toolchain/pre/bin

Анатомия типичного компилятора командной строки следующая:

$ arm-apple-darwin9-gcc -о MyExample MyExample.m -lobjc ‘Ь -framework CoreFoundation -framework Foundation ^ -march=armv6 -mcpu=armll76jzf-s

Здесь:

? arm-apple-darwin9-gcc — само название кросс-компилятора. Оно располагается в /toolchain/pre/bin, поэтому убедитесь в том, что эта папка добавлена в ваши пути;

?   -о MyExample — сообщает компилятору выводить скомпилированный исполняемый фай в файл с названием MyExample;

?   MyExample.ш—имена исходных файлов, включенных в программу, разделяемых пробелами. Расширения m сообщает компилятору о том, что исходники написаны на Objective-C;

?   -lobjc— указывает компилятору скомпоновать библиотеки сообщений Objective-C, необходимые всем приложениям iPhone, в пакет инструментов. Помимо всего прочего, эта библиотека склеивает вызовы функций С- стиля с сообщениями Objective-C.

?   -framework CoreFoundation -framework Foundation— компоновка двух основных оболочек в приложение. В зависимости от того, какие компоненты операционной системы, используются в коде, разные оболочки предоставляют различные уровни функциональности. В этой книге вы познакомитесь со множеством различных оболочек;

?   -march=armv6 -mcpu=armll76jzf-s— задает корректную архитектуру и тип процессора исполняемого файла.

Командной строки будет более чем достаточно для большинства небольших приложений и примеров, но для больших приложений имеет смысл писать таке-файл (makefile). Маке-файл — это простой текстовый файл, который выступает в роли декларации при построении приложений. Он используется программой make, являющейся портативной утилитой построения, поставляемой с множеством наборов средств разработки. Программа make отвечает за вызов компилятора (и компоновщика) и передачу им необходимых флагов и параметров. Маке-файлы являются логическими способами спланировать структуру приложения. Кроме того, они позволяют разработчику легко наводить порядок среди объектных файлов в каталоге, создавать пакеты приложений, а также выполнять целый ряд других задач, весьма полезных при создании приложений.

Предыдущий пример командной строки может быть переписан в таке-файл так, как показано далее. Маке-файл назван Makefile и помещен в исходный каталог:

СС = /toolchain/pre/bin/arm-apple-darwin9-gcc

LD – $(СС)

LDFLAGS = -lobjc ^

-framework CoreFoundation -framework Foundation СFLAGS = -march=armv6 -mcpu=armll76j zf-a

all:       MyExample

MyExample: MyExample.о

$(LD) $(LDFLAGS) -о $@ $л

%.о:                 %.m

$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o

%.o:         %.c

$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o

%.o:         %.cpp

$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

Внимание!

Все отступы являются в действительности табуляциями. Табуляции необходимо использовать для корректной работы таке-файла.

Как только таке-файл создан, исполняемый файл приложения может быть создан с помощью всего одной простой команды:

$ make

Кроме создания приложения можно добавить функциональность для копирования исполняемого файла приложения в созданный вами скелет программной папки:

package:

cp -р MyExample ./MyExample. арр/.

Добавив это в таке-файл, вы сможете запустить make package для автоматического задания вашего каталога .арр.

Другой весьма распространенный вариант использования таке-файлов — это очистка каталога, чтобы его можно было отправить кому-либо другому. Вы даже можете указать таке-файлу удалить исполняемый файл, который был скопирован в программную папку:

clean:

rm -f *.о *.gch

rm -f ./MyExample.app/MyExample

Установка приложения

После того как приложение будет создано, оно может быть установлено путем копирования всего программного каталога в папку /Applications на iPhone. С помощью сервера SSH, который вы настроили в главе 1, это можно сделать через WiFi:

$ scp -г MyExample.арр root@iphone:/Applications

Чтобы iPhone обнаружил приложение, должен быть выключен и перезагружен либо сам iPhone, либо же на самом iPhone должно быть перезапущено приложение SpringBoard. Войдите в iPhone с помощью SSH и для перезапуска SpringBoard выполните следующую команду:

$ killall SpringBoard

После этого вы увидите ваше приложение в SpringBoard.

Если ваш iPhone управляется встроенным программным обеспечением версии 2.0 или старше, то для того, чтобы ваше приложение запускалось, вам необходимо выдать ему цифровую подпись. Это может быть сделано прямо на iPhone путем установки инструмента идентификации связей (link-identity). Это делается с помощью Cydia, или же, если у вас запущен SSH, то вы можете использовать инструмент apt-get из командной строки:

#  apt-get install ldid

После того как вы установите ldid, подпишите ваше приложение с помощью следующей команды:

#  ldid -S /Applications/MyExample.app/MyExample

Теперь вы можете коснуться значка приложения в SpringBoard, чтобы запустить его.

Источник: Здзиарски Дж. iPhone. Разработка приложений с открытым кодом: Пер„с англ. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2009. — 368 е.: ил.

По теме:

  • Комментарии

1 комментарий

  1. Rocketman says:

    “таке-файл” – убило :DD