2010-02-21 3 views
6

Мой вопрос: у меня есть приложение, предназначенное для iPhone, и я решил развить код, другими словами, я разработаю две версии приложения на этой начальной стадии, одну для iPhone и другую для iPad.iPhone и Ipad - как я разблокирую код?

Мой вопрос заключается в следующем: как мне развить код? Я хотел бы продолжить использовать один проект для обеих версий, но, очевидно, мне придется писать разделы кода для iPhone и других разделов исключительно для iPad и, конечно же, иметь много общих частей для обоих выпусков.

Как это сделать, не создавая беспорядок на коде?

Каковы наилучшие методы? Спасибо за любую помощь.

ответ

2

Проблема с несколькими целями является то, что он может вступить в конфликт с модель распределения.

Из того, что я понимаю, приложения для iPad и iPhone будут распространяться в виде одного двоичного кода. Приложение решает, показывать ли пользовательский интерфейс iPad или iPod во время выполнения.

Это означает, что если вы не хотите, чтобы отделить приложения в магазине, «Foo» & «Foo IPad Edition», что вы не можете использовать несколько целей, и что вы каким-то образом будет иметь работать с одним кодом база.

Я ненавижу это, потому что в приложении может быть много условных вещей. Если iPad сделает это, в противном случае сделайте это. Если iPhone покажет этот контроллер, в противном случае отобразите другое. Я не думаю, что это приведет к хорошему коду.

Так что я сейчас думаю о том, чтобы сделать что-то посередине: я создам в основном две базы кода и где-то в самом начале приложения, я решит перейти на полный код iPad или iPhone.

+0

В документах Apple не говорится, что приложение должно быть распространено как один двоичный файл. Напротив. Это предполагает, что решение должно быть принято разработчиком. Я думаю, что в будущем появятся новые устройства, поэтому все будет хуже, если добавить третью категорию устройств. – SpaceDog

+0

Да, вы правы. Это выбор разработчика. –

3

Вы можете настроить свой проект XCode использовать несколько целей, то вы можете назначить некоторый файл исходного кода для одной цели или к другому или как

+0

два вопроса: 1) как это сделать 2) как насчет частей кодов. Могу ли я назначить части кодов одной цели или другой? (скомпилировал этот IF ipad или что если iphone) ... как это делается? Благодарю. – SpaceDog

1

Я не разработчик iPhone, но из того, что St3fan указывает (что он должен быть распространен как один бинарный файл), это похоже на классический случай для фабричного шаблона. Любая вещь, которая отличается, реализована двумя разными способами (с общим интерфейсом), и завод плюет на другую реализацию, исходя из того, что она находится на iPhone или iPad. Общий код не нуждается в изменении, поэтому он может оставаться как есть.

1

Я отвечаю на ваши очки: 1) «как я делаю это задание» вы должны создать новый объект из меню Project в моем случае я использую два различных цели для iPhone игры (обычной и свободная (облегченная) версия)

so I created a second Target of Type Application 
    this will add a Target to the Groups & Files panel 
    and will create a new Info.plist file 

    in the Group&File you can show more columns (by right clicking) 
    on "Group&Files"), here you have to show the "Target Memebership column" 
    for each file you can decide if it is part of a target by pressing the 
    corresponding check box 

2) «что о части кодов» я не знаю, если текущая бета SDK используется для разработки приложений IPad содержит некоторую #define можно проверить во время компиляции в в каждом случае вы можете установить определенное значение #define на целевом уровне и проверить th сделать некоторые условной компиляции

вы можете найти очень подробную информацию о создании приложений с несколькими целями в dedcated яблочного документации вы можете DONWLOAD его из iPhone Dev Center вы должны прочитать это руководство «Управление Xcode Project Руководство "

+0

спасибо !!!!!!!!! – SpaceDog