iPhone: минимальная ОС, цель развертывания и база / активный SDK

Старая функция PHP «mysql_list_fields ()» устарела. Итак, сегодня лучшим способом получить имена полей является запрос «SHOW COLUMNS FROM table_name [LIKE 'name']". Итак, вот небольшой пример:

$fields = array();
$res=mysql_query("SHOW COLUMNS FROM mytable");
while ($x = mysql_fetch_assoc($res)){
  $fields[] = $x['Field'];
}
foreach ($fields as $f) { echo "<br>Field name: ".$f; }
10
задан Michael Waterfall 17 December 2009 в 09:40
поделиться

2 ответа

Хорошо, я сумел разобраться в этом после долгих чтений!

По сути, Active SDK - это просто временная перезагрузка Base SDK. По умолчанию, когда базовый SDK изменяется, он автоматически изменяет цель установки на ту же операционную систему, что и SDK. Поэтому, когда я хотел создать приложение под SDK 3.1.2, но запустить его под 3.0 ОС, я изменил Active SDK на 3.1.2, но это автоматически изменило минимальный уровень ОС (цель установки). Я увидел это, посмотрев на файл Info.plist в содержимом пакета в моем .app файле.

Поэтому лучше всего установить базовый SDK на самый последний SDK (на данный момент 3.1.2), а затем вручную установить цель установки на 3.0 OS. Если эти 2 отличаются, то они больше не будут автоматически изменяться.

Однако это означает, что ваше приложение может быть установлено на устройство 3.0, которое может иметь 3.0, 3.1 или 3.1.2 SDK. Поэтому любые каркасы, методы или свойства, которые вы используете и которые доступны только в SDK более 3.0, придется использовать условно.

Когда вы будете собирать приложение, убедитесь, что Active Target установлена так же, как и базовый SDK, например, Device 3.1.2. Но не забудьте скомпилировать приложение под Device 3.0, Device 3.1 и Device 3.1.2 просто для проверки предупреждений компилятора. Это гарантирует, что у вас нет кода, обращающегося к методам/фреймворкам, которых нет ни в одном SDK вплоть до вашей цели развертывания.

Надеюсь, это поможет любому, кто находится в моем положении и не смог найти простого объяснения того, как все это работает.

Руководство по Совместимости SDK SDK было очень полезным и информативным. Однако для того, чтобы мне было комфортно с концепцией и тем, как все работает, мне потребовалось всего лишь немного больше времени на размышления. Этот образ из руководства полезен:

alt text
(источник: apple.com)

25
ответ дан 3 December 2019 в 16:29
поделиться

Перейдите в Project Info-> Build и посмотрите на свойство IPHONEOS_DEPLOYMENT_TARGET На самом деле я использую SDK 3.1.2 и создаю приложение, которое хорошо работает на всех ОС выше 2.2.1

0
ответ дан 3 December 2019 в 16:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: