Как статья серии, это 19-я часть, которая объясняет процесс сборки и отправки приложений для платформ Android и iOS.
Многие разработчики Flutter могут иметь опыт разработки только для одной платформы и не знать процессов сборки и отправки для другой платформы. Также некоторые фронтенд-разработчики могут не иметь опыта в отправке приложений на проверку, поэтому данная статья поможет им понять этот процесс и избежать лишних трудностей.
На самом деле процесс сборки и проверки для Android довольно прост. Для создания APK можно использовать следующую команду:
flutter build apk --target-platform android-arm64
flutter build apk --target-platform android-arm64 -t lib/main_prod.dart
Опция --target-platform
указывает на целевые архитектурные модули (ABI) для сборки. В настоящее время как Google Play, так и китайские платформы требуют, чтобы приложения поддерживали arm64-v8a
. Поэтому обычно выбирают эту архитектуру для уменьшения размера APK.
Опция -t
позволяет указывать конкретный файл main.dart
, который будет использоваться для сборки. Это может быть не указано.
Кроме того, важно настроить конфигурацию подписи APK в файле android/app/src/build.gradle
. Конфигурация подписи должна быть указана в разделе signingConfigs
.```groovy
android {
...
signingConfigs {
release {
keyAlias "xxxx"
keyPassword "xxxx"
storeFile file("../keystores/xxxxx.jks")
storePassword "xxxx"
}
}
}
Наконец, если ваш APK содержит другие типы архитектурных модулей, такие как `armeabi-v7a`, вам следует добавить фильтры ABI в файл `android/app/src/build.gradle` в разделе `android { buildTypes { } }`.
```groovy
android {
...
defaultConfig {
ndk {
// Указываем необходимые ABI
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
}
}
Это гарантирует, что каждый ABI имеет полный набор модулей, что предотвращает возможные ошибки при запуске приложения.
buildTypes {
release {
signingConfig signingConfigs.release
ndk {
// Установка поддерживаемых SO-библиотек архитектур
abiFilters 'arm64-v8a'
}
}
debug {
signingConfig signingConfigs.release
ndk {
// Установка поддерживаемых SO-библиотек архитектур
abiFilters 'arm64-v8a', 'x86', 'x86_64'
}
}
}
После завершения сборки APK он по умолчанию будет находиться в следующей директории:
Иногда APK может быть распознан как потенциально опасное приложение из-за отсутствия регистрации или имени приложения (
app_name
).
Фактическая проверка приложений на китайских рынках не является сложной задачей, хотя она может выглядеть запутанной из-за множества различных платформ и условий. Основные требования обычно включают:
targetSdkVersion
28 (Android 9.0);arm64-v8a
;Затем следует ряд специфических требований каждой платформы, таких как требование платформы 360 к применению усиленной защиты вашего APK, а также требование некоторых платформ, таких как QQ Store, предоставлять информацию о авторском праве приложения. Эти требования могут быть трудными для выполнения.
Конечно, некоторые платформы можно игнорировать, однако если ваше приложение не будет загружено на QQ Store, то вы не сможете использовать функционал "скачивание и открытие приложения после сканирования QR-кода".Кроме того, на платформе Huawei требуется наличие возможности удаления аккаунта пользователя согласно постановлению Министерства промышленности и информационных технологий КНР о проведении работы по борьбе с нарушением прав потребителей приложениями.
Как видно, процесс проверки и требования для Android не являются слишком сложными, хотя некоторые условия могут быть затрудняющими. Конкретные требования для публикации зависят от ваших нужд.
Процесс сборки и проверки для iOS несколько более сложен. Для сборки iOS вам необходимы учетная запись разработчика, уникальный идентификатор приложения (Bundle Identifier
), профили конфигураций, сертификаты и другая информация. Уверены ли вы, что все эти данные у вас есть?
При входе на сайт https://developer.apple.com, в разделе Account
-> Certificates, IDs & Profiles
, вы можете найти информацию о вашем приложении. В разделе App Store Connect
можно перейти по адресу https://appstoreconnect.apple.com.
Затем в разделе Мои приложения
следует следовать инструкциям для создания приложения и заполнения информации согласно требованиям вашего бизнеса. Здесь стоит обратить внимание на несколько ключевых моментов.- 1. В информации о приложении в App Store есть поле для ввода сайта с политикой конфиденциальности, которое является обязательным. Обычно это просто HTML-страница. Подробнее см. пример: https://guoshuyu.cn/home/index/privacy.html
Важно отметить, что скриншоты должны содержать достаточно информации, чтобы продемонстрировать основные возможности приложения, иначе они могут быть отклонены. Также предоставляются соответствующие размеры экранов и модели устройств.
3. В информации о версии приложения обязательно указывается сайт технической поддержки. Подробнее см.: https://guoshuyu.cn/home/index/tech.html. Если этот пункт не будет выполнен, это может привести к отказу в одобрении.
4. Если ваше приложение требует авторизации пользователя, вам также потребуются тестовые учетные записи и пароли для пользователей.
Для упаковки Flutter iOS сначала выполните команду flutter build ios
. Эта команда создаст файлы framework для режима выпуска. После этого можно продолжить процесс в Xcode.
Как показано на следующем рисунке, убедитесь, что выбран правильный эмулятор (не выбирать эмулятор), затем перейдите в меню Product -> Archive для начала процесса упаковки.
После успешной сборки можно будет увидеть следующий интерфейс. Найдите последнюю сборку и выберите Distribute App
, чтобы продолжить; также проекты, которые были собраны ранее, можно найти в меню Window > Organizer
.
Затем выберите загрузку App Store Connect
для подготовки к публикации.
Если вы хотите экспортировать тестовый IPA, выберите
Development
. В этом случае UDID и другие данные должны быть указаны в конфигурационном файле сборки.
Далее вам предлагается выбрать загрузку (Upload
) или экспорт (Export
). Экспорт позволяет сначала экспортировать IPA, а затем загружать его локально с помощью инструмента Transporter
; загрузка выполняется сразу после сборки.
На следующем экране рекомендуется не отмечать галочки (не спрашивайте, спросите — это Bing), нажмите Next
, затем выберите автоматическую проверку подписи, и после успешной проверки нажмите кнопку загрузки.
После успешной загрузки через некоторое время вы сможете увидеть вашу версию в разделах Activity
и TestFlight
. Вы можете получить электронное письмо со следующим содержанием:
Например, сообщение ITMS-90683
указывает на отсутствие ключа NSContactsUsageDescription
в файле plist
, что требует объяснения пользователям необходимости доступа к контактам.
Подобные сообщения могут возникнуть при использовании других типов разрешений. Если в вашем приложении используются определённые разрешения, они должны быть указаны в соответствующих ключах файла plist
.Также может появиться предупреждение относительно Push Notification Entitlement
. Это говорит о том, что ваше приложение не настроено для отправки уведомлений. Если данная функциональность не используется, проверьте её наличие в настройках разработчика. Если она активна, потребуется настройка службы уведомлений внутри вашего приложения. Для iOS также требуется настройка сертификата уведомлений, который обычно бывает двух видов: для разработки и для производства. Если уведомления не используются, предупреждение можно игнорировать.
Не забудьте правильно настроить размеры страницы запуска и логотипа приложения, так как неправильно настроенные параметры могут вызвать предупреждения, влияющие на процесс обзора. После выбора нужной версии сборки в информации о версии можно отправить на проверку. Обычно проверка проходит через статусы Ожидание проверки > В процессе проверки > Результат проверки, этот процесс обычно занимает от 24 до 48 часов. Однако если проверка происходит во время праздников, таких как Рождество, Apple может замедлить проверку из-за выходных. Кроме того, слишком много отказов также может замедлить скорость проверки.
Как показано на следующем рисунке, ниже приведены некоторые рекомендации по проверке:
iOS позволяет не публиковать приложение в магазине, а предоставлять пользователям возможность установить его через доверенный сертификат на устройстве. Однако получить такой аккаунт сейчас очень сложно, и приложения такого типа требуют ежегодного переупаковывания для обновления.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )