Существующий проект iOS 6.x и iOS 7 с XCode 5.x

У меня есть существующий проект iOS 6.x, который я разработал с использованием XCode 4.x и iOS 6.x, и у меня не было возможности попасть в магазин приложений. Я хотел бы, чтобы он работал с iOS 7, а также поддерживал устройства iOS 6.x. Я открыл проект в XCode 5.0.2, и он работает нормально. Единственное изменение, которое, как мне кажется, мне нужно сделать, это то, что UITableView выглядит неправильно, поскольку линии границы отключены. Я создаю представление таблицы через код.

Кроме того, я не использую раскадровки, а использую NIB для iPhone и iPad.

Итак, каков рекомендуемый подход?

Создайте новый проект бренда в XCode 5, создайте пользовательский интерфейс и импортируйте код для методов ИЛИ откройте проект iOS 6.x в XCode 5 и продолжите мои обновления кода? Я также хотел поддерживать OS 6.x. Нужно ли загружать iOS 6.x SDK и тестировать его вместе с iOS 7 в XCode 5?

Мой 4S взломан и работает на iOS 6.1.2 и использует джейлкодер для прямой работы на 4S.

Пожалуйста, порекомендуйте.


person user1739627    schedule 21.12.2013    source источник


Ответы (1)


Нет необходимости начинать новый проект. Просто откройте его в Xcode, и он будет обновлен. Убедитесь, что вы компилируете последний базовый пакет SDK, позволяя при этом установить минимальную цель развертывания, которая вам нужна (iOS6/iOS6.1). Вы можете использовать новый вид помощника предварительного просмотра в конструкторе интерфейсов, чтобы смоделировать, как он будет выглядеть в iOS6 и iOS7. Вы можете установить дельты в построителе интерфейса, чтобы установить разные значения между iOS7 и iOS6.

Вы можете загрузить симулятор iOS6.1 из настроек Xcode 5.

person Leo Natan    schedule 21.12.2013
comment
Спасибо. Я читал статьи, в которых говорилось, что мне нужно загрузить iOS 6 SDK и скопировать в определенную папку XCode 7, чтобы получить поддержку iOS 6.x. Он все еще действителен? - person user1739627; 21.12.2013
comment
@user1739627 user1739627 Нет. Вам нужно сделать все это, если вы хотите скомпилировать iOS6 SDK. Вы не должны этого делать. Вы должны скомпилировать iOS7 SDK и установить минимальную цель развертывания на iOS6. Это позволит вам использовать самые последние и лучшие версии, сохраняя при этом обратную совместимость с iOS6. - person Leo Natan; 21.12.2013
comment
Спасибо, Лео. Вы многое для меня прояснили. Кроме того, не могли бы вы ответить на мой первоначальный вопрос: stackoverflow.com/questions/20670585/. Я до сих пор не до конца понял ответы, хотя и принял их. - person user1739627; 21.12.2013
comment
@user1739627 user1739627 Скоро посмотрю. - person Leo Natan; 21.12.2013
comment
@ user1739627 В чем вам нужна помощь? - person Leo Natan; 21.12.2013
comment
Скажем, у меня есть кнопка размером с iPhone/iPod 3,5 дюйма. Должен ли я использовать Auto Layout для высоты, ширины и размещения кнопки, когда я вижу его на 4-дюймовом iPhone/iPod? Теперь, взяв ту же кнопку и скопировав ее в iPad NIB, во-первых, нужно ли мне сначала увеличить размер кнопки из-за большего размера экрана iPad, а затем использовать Auto Layout для поддержки как iPad Mini, так и Айпад?. Я не использую раскадровки, а использую NIB. Итак, путаница в том, что мне делать с размером кнопки для разных размеров экрана (iPhone / iPhone 3,5 и 4 дюйма) и iPad (Mini и 9,7 дюйма). - person user1739627; 22.12.2013
comment
Вы пока не можете войти в чат, поэтому я напишу здесь. Если вы правильно спроектируете представления, вам не нужно увеличивать размер кнопок. Фактически, большинство отдельных элементов в iPhone и iPad имеют одинаковый размер. Большие экраны iPad имеют более крупные пиксели, поэтому элементы кажутся больше, но имеют одинаковый размер в пикселях/пунктах. iPad mini имеет тот же PPI, что и iPhone, поэтому элементы отображаются одинакового размера. - person Leo Natan; 22.12.2013
comment
Я больше запутался сейчас. Я видел игру Cut the Rope на iPhone и iPad, а также делал скриншоты игры на iPod и iPad и, кажется, считаю, что кнопки на iPad определенно больше, чем на iPod. Я экспериментировал сам, просто копируя UIButton с экрана iPhone на NIB iPad и обнаружил, что он выглядит маленьким в зависимости от размера экрана iPad. - person user1739627; 22.12.2013
comment
Вы создаете игру? Я имел в виду системный контроль. Например, откройте Почту на iPhone и iPad. Сделайте скриншот обоих и посмотрите на них на одном мониторе. Убедитесь, что их элементы управления имеют одинаковый размер. У iPad просто больше кнопок и больше места между ними. - person Leo Natan; 22.12.2013
comment
Это не игра. Это больше похоже на головоломку. Я понимаю, что вы говорите. Но, согласно моему тестированию, размер UIButton на iPhone кажется меньше и крошечнее, когда я скопировал ту же самую кнопку с iPhone NIB на iPad NIB, и если я сделаю скопированную кнопку на экране iPad немного больше с помощью IB, тогда она выглядит хорошо по сравнению с размером экрана iPad. Это одна проблема, которую я не понимаю. Можно ли оставить его в том же размере, или если его увеличить, Apple откажется от него? - person user1739627; 22.12.2013
comment
Вам не нужно беспокоиться об отказах от Apple. Вы должны беспокоиться о том, что ваш пользовательский интерфейс выглядит хорошо и его можно использовать. Но если у вас есть два разных файла NIB, почему вы беспокоитесь о размерах? Просто установите их так, чтобы они правильно вписывались в каждый NIB, и все готово. - person Leo Natan; 22.12.2013
comment
Это означает, что мне просто нужно беспокоиться о размерах конкретных устройств — iPhone/iPod 3,5 и 4 дюйма и iPad (7,9 mini и 9,7). Итак, для них, если я правильно понимаю, использование Auto Layout является лучшим вариантом? - person user1739627; 22.12.2013
comment
AutoLayout начиная с Xcode 5 действительно хорош. Я бы порекомендовал вам научиться пользоваться этим, да. Взгляните на видеоролики WWDC 2013, посвященные авторазметке. - person Leo Natan; 22.12.2013
comment
У вас есть прямая ссылка на это? - person user1739627; 22.12.2013
comment
developer.apple.com/wwdc/videos Кстати, мы тоже не по теме длинная. Если этот ответ помог вам, пожалуйста, примите его. - person Leo Natan; 22.12.2013