Предрелизный контрольный список прежде, чем создать окончательную версию для App Store

Если Вы не реализовали делегата (см. nduplessis), UITableView также предлагает:

- (NSIndexPath *)indexPathForSelectedRow
34
задан Eric Brotto 11 March 2011 в 17:07
поделиться

2 ответа

Вместо переключения на Release я переключаюсь на «Распространение». Это копия Release, но именно так меня научили некоторые документы Apple и iPhoneDeveloperTips .

Важные моменты:

После финальной сборки, но прежде чем вы спешите заархивировать свое приложение, откройте пакет с помощью Finder's Show Package Contents. Из-за некоторой ошибки в MacOS, которая укусила меня в версиях до Snow Leopard (и она может все еще быть там), если вы слишком быстро архивируете (используя пункт меню «Сжатие» или «Архив» в Finder), некоторые ресурсы еще не будут быть выгруженным в файл. Когда вы выполняете Показать содержимое пакета, содержимое обновляется. Вы могли бы заметить эту проблему, если бы размер вашего сжатого приложения составлял от пятой до десятой или менее ожидаемого размера. Вы можете подумать: «Эй, эта утилита zip действительно отлично справляется с сжатием», но это не так. Эта проблема может возникнуть в этот момент, а не во время тестирования, в основном потому, что вы выполняете сборку «очистить все», и все ресурсы и содержимое пакета приложения сначала пустые, а затем заполняются Xcode. И по какой-то причине, даже после того, как Xcode завершил создание файла, содержимое все еще не существует, если вы сжимаете, но оно будет там, если вы посмотрите на него (своего рода обратный Гейзенберг). Остерегайтесь.

Еще одна область, на которую я трачу много времени, - это создание хорошей резервной копии источников после того, как я зафиксировал все последние изменения в SVN, создал новую ветку и пометил файл. Мне также нравится, чтобы номер моей версии совпадал с номером сборки / фиксации SVN, поэтому я всегда знаю, какая версия SVN соответствует моему выпуску. У меня есть эти два номера версий в моем info.plist, и пользователь приложения может их открыть, когда нажмет i для получения информации. Например, текущий info.pist включает:

<key>CFBundleShortVersionString</key>
<string>2.0a1</string>
<key>CFBundleVersion</key>
<string>346</string>

Существуют разные мысли о том, как использовать CFBundleVersion. Это мой путь. Также полезна утилита командной строки agvtool .

После того, как приложение построено, после сжатия, чтобы вы фактически не вносили никаких изменений в сжатую версию, проверьте файл приложения и убедитесь, что он подписан правильным сертификатом распространения, а не вашим специальным сертификатом. Обучение использованию утилиты командной строки codeign полезно для такого рода проверки и отладки. Сделав сначала сжатую копию,

8
ответ дан 27 November 2019 в 16:53
поделиться

Несколько вещей:

Я действительно рекомендую не создавать конфигурацию сборки под названием «Распространение», как указывает Apple, потому что я часто создаю специальные сборки для бета-тестеров. Я создаю две конфигурации сборки, одну под названием Ad Hoc, а другую под названием AppStore, поэтому я не запутался. Единственное различие между ними - наличие файла Entitlements.plist для сборки Ad Hoc. Таким образом, я могу как можно точнее протестировать то, что буду отправлять в Apple.

Большинство разработчиков - оптимисты. Вот почему мы работаем по выходным, чтобы создать приложение, которое, как мы знаем, сделает нас миллионером. Но прежде, чем подавать, будьте пессимистом. Представьте себе все, что может пойти не так, и перепроверьте это.

Не предполагайте ничего. Дон' Не предполагаю, что это крошечное небольшое изменение, которое вы внесли в приложение, не повлияет ни на что другое. Закон Мерфи гласит, что это крошечное изменение приведет к сбою вашего приложения на всех iPod Touch или чем-то подобном. Тестируйте, тестируйте, тестируйте тщательно между окончательным редактированием кода и отправкой в ​​Appstore. Если вам нужно внести небольшое изменение, повторяйте его до тех пор, пока оно не станет идеальным.

Помните, что если приложение не дает сбой для 99,9% ваших пользователей, то 1 из каждых 1000 загрузок будет иметь 1 звезду резкого обзора. .

Я использую статический анализатор Clang, утечки и размещение объектов во время разработки, но я провожу дополнительный запуск этих инструментов перед отправкой на всякий случай.

Если у вас нет старого устройства, приобретите его, потому что 3GS производительность значительно выше, и вы можете пропустить некоторые важные проблемы с производительностью.

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

  • iPod Touch
  • iPhone 3G
  • iPhone 3GS
  • iPhone в режиме полета
  • iPhone с Wi-Fi
  • iPhone с EDGE
  • Вызов телефона при использовании приложения
17
ответ дан 27 November 2019 в 16:53
поделиться
Другие вопросы по тегам:

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