App Store: My BASE
Версия 2.1.0
What’s new? Even better user experience, fixes for a few bugs.
What’s more, you can now also check your top-up history and usage details (with extensive filtering and sorting options).
Оценки и отзывы
2.1 из 5
Оценок: 7
Permanent updating
Can you guys stop updating this app every two days, please? Every time I want to check my balance, it ask me to update it first without options to skip it.
So many bugs, so many new features. Seriously?
Разработчик BASE Company указал, что в соответствии с политикой конфиденциальности приложения данные могут обрабатываться так, как описано ниже. Подробные сведения доступны в политике конфиденциальности разработчика.
Данные, используемые для отслеживания информации
Следующие данные могут использоваться для отслеживания информации о пользователе в приложениях и на сайтах, принадлежащих другим компаниям.
- Идентификаторы
- Данные об использовании
- Диагностика
Связанные с пользователем данные
Может вестись сбор следующих данных, которые связаны с личностью пользователя.
- Контактные данные
- Идентификаторы
- Данные об использовании
- Диагностика
Не связанные с пользователем данные
Может вестись сбор следующих данных, которые не связаны с личностью пользователя.
- Данные об использовании
Конфиденциальные данные могут использоваться по-разному в зависимости от вашего возраста, используемых возможностей или других факторов. Подробнее
Поддерживается
Семейный доступ
С помощью семейного доступа приложением смогут пользоваться до шести участников «Семьи».
Другие приложения этого разработчика
Курс основы разработки iOS приложения — iOS Base
Об авторе
Николай Михайлов — основатель iCodeSchool.
Добро пожаловать в iCodeSchool!
В iOS разработке я уже около 5 лет. Свой путь в программировании начал с web. Изначально мое внимание привлек простенький html файл, посмотрел что такое css, а дальше закрутилось: Верстка простых сайтов, лендинги, PHP, JS, самописные crm, научился работать с серверами на Linux и тд.
Всему я учился из книг, документации, статей в интернете и иногда видеокурсов.
Начинал как и многие в то время с Objective-C, но со временем на фрилансе стали попадаться проекты на Swift и плавно перешел на этот современный язык, и вовсе перестал писать на Objective-C, полностью сосредоточившись на Swift.
На сегодняшний день я принял участие в написании более чем 30 приложений, от небольших проектов до масштабных социальных сетей, занимаюсь разработкой для иностранных заказчиков из Европы, США, Австралии.
IP домофоны BAS-IP. Первые IP домофонные системы в России
Британская компания BAS-IP предлагает широкий выбор современных устройств для того, чтобы сделать ваш дом по-настоящему умным и безопасным. В этом вам помогут система умный дом, оборудование для подключения домашней автоматики, IP домофон, вызывная панель и прочие устройства, такие как беспроводные выключатели, конверторы, датчики, специальные приложения для мобильных устройств и ПК. Благодаря технологическому прогрессу, все больше и больше людей отказываются от старых нефункциональных аналоговых систем домофонии и переходят на новейшую IP технику. На сайте представлено огромное количество разнообразных моделей, Вам нужно лишь определиться какой Вы хотите купить IP домофон: простой или многофункциональный. Вы можете ознакомиться с характеристиками, сравнить цены и выбрать современный айпи sip видеодомофон с поддержкой IP камер, а также все дополнительное оборудование, чтобы создать полноценную контрольно-охранную систему.IP домофоны в России – это достаточно новое ответвление в домофонии, которое способно обеспечить выполнение не только базовых задач принятия вызова с панели и открытие замка, а и множество новых функций, которые значительно упростят вашу жизнь. Такие устройства передают данные в цифровом виде, используя локальную сеть или же сеть Интернет, что значительно повышает качество и ускоряет их работу.
На сайте также представлена большая линейка устройств и дополнительных аксессуаров для умного дома, с помощью которых вы сможете управлять воротами, лифтом, светом, шторами и другой домашней автоматикой, используя ваш смартфон и находясь даже за пределами своей квартиры или другого здания. Вызывные панели BAS-IP – это уникальное сочетание богатого функционала, красивого внешнего вида и широкого круга возможностей. В наличии есть как индивидуальные панели, для установки в офисах или частных домах, так и многоквартирные с оригинальным дизайном и отдельной кнопкой вызова консьержа, что не совсем свойственно обычным многоабонентским панелям.
Торговым центрам и другим предприятиям полезным будет установка своей собственной системы голосового и звукового оповещения, состоящей из монитора консьержа и установленных в необходимых местах, станций вызова с возможностью обратной связи, оборудованных IP встроенной камерой, чтобы оператор мог не только слышать, а и видеть человека.
Все устройства полностью оригинальные и имеют заводскую гарантию сервисного центра. Если вы еще не определились с выбором той или иной модели, или у вас есть какие-нибудь вопросы, обратитесь к нашим специалистам с помощью формы обратной связи, и они быстро помогут вам подобрать наиболее подходящий вариант.
Среди глобальных законченных проектов, оборудованных системами BAS-IP, можно выделить жилые и торгово-развлекательные комплексы, элитные апартаменты и поселки закрытого типа, коттеджные городки и клубные дом. Познакомиться с ними поближе вы сможете, перейдя в раздел «Реализованные проекты».
BAS-IP – это первые IP домофонные системы в России и других странах СНГ. Мы выделяемся качеством сборки, уникальным дизайном, постоянным расширением и усовершенствованием линейки устройств.
Активация IB Key с помощью QR-кода (iPhone)
Возможно, при входе в «Портал клиентов» Вы видели QR-код. В данной статье мы объясним, как активировать аутентификатор в IBKR Mobile (IB Key) при помощи этого кода.
1) Войдите в «Портал клиентов». Вам высветится баннер с предложением активировать IB Key, отсканировав представленный QR-код:
Изображение 1
2) Запустите приложение камеры на вашем смартфоне.
Изображение
3) Наведите камеру телефона на QR-код. Вам не нужно делать снимок, код считается автоматически после фокусировки. Если Ваш телефон не распознает QR-код, попробуйте поднести или отодвинуть камеру от QR-кода для улучшения фокусировки. Если телефону не удалось распознать QR-код, см. раздел Возможные проблемы и способы их устранения внизу статьи.
Изображение 3
4) При успешном считывании QR-кода Вы увидите баннер вверху экрана Вашего устройства.
- Если Вас просят открыть сайт IBKR в браузере Вашего смартфона (как на изображении 4.1), переходите к шагу 5.
- Если Вас просят открыть приложение IBKR Mobile (как на изображении 4.2), сразу переходите к шагу 8)
Изображение 4.1 Изображение 4.2
5) Вверху экрана нажмите на баннер, предлагающий открыть сайт IBKR. Вы будете перенаправлены в «Магазин приложений» (App Store).
Изображение 5
6) Нажмите на значок скачивания GET , чтобы установить IBKR Mobile на Ваш смартфон
Изображение 6
7) Когда установка завершится, НЕ запускайте IBKR Mobile. Откройте приложение камеры и наведите ее на QR-код, отображаемый в «Портале клиентов».
Изображение 7
8) Вверху экрана нажмите на баннер, предлагающий открыть приложение IBKR Mobile.
Изображение 8
9) Если потребуется, разрешите уведомления от IBKR Mobile.
Изображение 9
10) Вас попросят предоставить элемент идентификации, который Вы используете для разблокировки Вашего смартфона (лицо, отпечаток пальца или код).
Изображение 10
11) Вы увидите сообщение об успешной активации IB Key. Нажмите «Готово» для завершения процедуры
Изображение 11
Возможные проблемы и способы их устранения
- Мой телефон не считывает QR-код. Что делать?
Убедитесь, что Вы включили функцию «Сканирование QR-кодов» в настройках камеры телефона.
Изображение 12
- На телефоне открывается фронтальная камера. Как переключиться на заднюю камеру?
Как правило, на экране есть специальная кнопка переключения камеры.
Изображение 13
- При попытке активации IB Key появляется сообщение «Произошла ошибка. Попробуйте еще раз.»
Изображение 14
Данное сообщение об ошибке может означать, что Вы пытаетесь подключить уже активированный IB Key. Попробуйте еще раз войти в «Портал клиентов». Если после ввода учетных данных Вы получили уведомление на телефон и смогли выполнить авторизацию, то Ваш IB Key уже активирован, и Вам не нужно следовать инструкциям этой статьи.
Сообщение об ошибке также может означать, что отображаемый в «Портале клиентов» QR-код уже использовался для попытки активации, и его срок действия истек. В этом случае выйдите и затем снова войдите в «Портал клиентов», чтобы получить новый QR-код.
Справка:
- Статья KB2260: как активировать и выполнить аутентификацию в IBKR Mobile.
- Статья KB2748: инструкции по восстановлению аутентификации с помощью IBKR Mobile.
- Статья KB3236: как включить уведомления для приложения IBKR Mobile.
- Статья KB3234: что делать, если не приходят уведомления от IBKR Mobile.
- Статья KB3073: как перенести аутентификацию с помощью IB Key / IBKR Mobile на новый смартфон.
cpp / io / ios base — cppreference.com
Класс ios_base
— это многоцелевой класс, который служит базовым классом для всех классов потоков ввода-вывода. Он поддерживает несколько типов данных:
1) информация о состоянии: флаги состояния потока
2) управляющая информация: флаги, которые управляют форматированием как входных, так и выходных последовательностей, а также встроенной локали
3) частное хранилище: индексированная расширяемая структура данных, которая допускает как длинные, так и пустые * члены, которые могут быть реализованы как два массива произвольной длины или один массив двухэлементных структур или другой контейнер.
4) обратные вызовы: произвольное количество пользовательских функций, вызываемых из imbue (), copyfmt () и ~ ios_base ()
Типичная реализация содержит константы-члены, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, показанным ниже, переменные-члены для поддержания текущей точности, ширины и флагов форматирования, маску исключения, состояние ошибки буфера, контейнер с изменяемым размером, содержащий обратные вызовы , текущий установленный языковой стандарт, частное хранилище и статическая целочисленная переменная для xalloc ().
[править] Функции-члены
создает объект (защищенная функция-член) [править] | |
разрушает объект (виртуальная общедоступная функция-член) [править] | |
Форматирование | |
управляет флагами формата (общедоступная функция-член) [править] | |
устанавливает специальный флаг формата (общедоступная функция-член) [править] | |
очищает определенный флаг формата (общедоступная функция-член) [править] | |
управляет десятичной точностью операций с плавающей запятой. (общедоступная функция-член) [править] | |
управляет шириной поля (общедоступная функция-член) [править] | |
Местонахождение | |
устанавливает языковой стандарт (общедоступная функция-член) [править] | |
возвращает текущий языковой стандарт (общедоступная функция-член) [править] | |
Внутренний расширяемый массив | |
возвращает уникальное целое число для всей программы, которое можно безопасно использовать в качестве индекса для pword () и iword (). (общедоступная статическая функция-член) [править] | |
при необходимости изменяет размер частного хранилища и обеспечивает доступ к длинному элементу по заданному индексу (общедоступная функция-член) [править] | |
при необходимости изменяет размер частного хранилища и получает доступ к элементу void * по заданному индексу (общедоступная функция-член) [править] | |
Разное | |
регистрирует функцию обратного вызова события (общедоступная функция-член) [править] | |
устанавливает, совместимы ли библиотеки ввода-вывода C ++ и C. (общедоступная статическая функция-член) [править] | |
Классы элементов | |
исключение потока (открытый класс члена) [править] | |
инициализирует стандартные объекты потока (открытый класс-член) [править] |
Типы элементов и константы | |
Тип | Пояснение |
поток открытого типа Также определены следующие константы: (typedef) [править] | |
тип флагов форматирования Также определены следующие константы: (typedef) [править] | |
состояние типа потока Также определены следующие константы: (typedef) [править] | |
поиск типа направления Также определены следующие константы: (typedef) [править] | |
определяет тип события (перечисление) [править] | |
callback-функция типа (typedef) [править] |
| (до C ++ 17) |
cpp / io / ios base — cppreference.
com Класс ios_base
— это многоцелевой класс, который служит базовым классом для всех классов потоков ввода-вывода. Он поддерживает несколько типов данных:
1) информация о состоянии: флаги состояния потока
2) управляющая информация: флаги, которые управляют форматированием как входных, так и выходных последовательностей, а также встроенной локали
3) частное хранилище: индексированная расширяемая структура данных, которая допускает как длинные, так и пустые * члены, которые могут быть реализованы как два массива произвольной длины или один массив двухэлементных структур или другой контейнер.
4) обратные вызовы: произвольное количество пользовательских функций, вызываемых из imbue (), copyfmt () и ~ ios_base ()
Типичная реализация содержит константы-члены, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, показанным ниже, переменные-члены для поддержания текущей точности, ширины и флагов форматирования, маску исключения, состояние ошибки буфера, контейнер с изменяемым размером, содержащий обратные вызовы , текущий установленный языковой стандарт, частное хранилище и статическая целочисленная переменная для xalloc ().
[править] Функции-члены
создает объект (защищенная функция-член) [править] | |
разрушает объект (виртуальная общедоступная функция-член) [править] | |
Форматирование | |
управляет флагами формата (общедоступная функция-член) [править] | |
устанавливает специальный флаг формата (общедоступная функция-член) [править] | |
очищает определенный флаг формата (общедоступная функция-член) [править] | |
управляет десятичной точностью операций с плавающей запятой. (общедоступная функция-член) [править] | |
управляет шириной поля (общедоступная функция-член) [править] | |
Местонахождение | |
устанавливает языковой стандарт (общедоступная функция-член) [править] | |
возвращает текущий языковой стандарт (общедоступная функция-член) [править] | |
Внутренний расширяемый массив | |
возвращает уникальное целое число для всей программы, которое можно безопасно использовать в качестве индекса для pword () и iword (). (общедоступная статическая функция-член) [править] | |
при необходимости изменяет размер частного хранилища и обеспечивает доступ к длинному элементу по заданному индексу (общедоступная функция-член) [править] | |
при необходимости изменяет размер частного хранилища и получает доступ к элементу void * по заданному индексу (общедоступная функция-член) [править] | |
Разное | |
регистрирует функцию обратного вызова события (общедоступная функция-член) [править] | |
устанавливает, совместимы ли библиотеки ввода-вывода C ++ и C. (общедоступная статическая функция-член) [править] | |
Классы элементов | |
исключение потока (открытый класс члена) [править] | |
инициализирует стандартные объекты потока (открытый класс-член) [править] |
Типы элементов и константы | |
Тип | Пояснение |
поток открытого типа Также определены следующие константы: (typedef) [править] | |
тип флагов форматирования Также определены следующие константы: (typedef) [править] | |
состояние типа потока Также определены следующие константы: (typedef) [править] | |
поиск типа направления Также определены следующие константы: (typedef) [править] | |
определяет тип события (перечисление) [править] | |
callback-функция типа (typedef) [править] |
| (до C ++ 17) |
cpp / io / ios base — cppreference.
com Класс ios_base
— это многоцелевой класс, который служит базовым классом для всех классов потоков ввода-вывода. Он поддерживает несколько типов данных:
1) информация о состоянии: флаги состояния потока
2) управляющая информация: флаги, которые управляют форматированием как входных, так и выходных последовательностей, а также встроенной локали
3) частное хранилище: индексированная расширяемая структура данных, которая допускает как длинные, так и пустые * члены, которые могут быть реализованы как два массива произвольной длины или один массив двухэлементных структур или другой контейнер.
4) обратные вызовы: произвольное количество пользовательских функций, вызываемых из imbue (), copyfmt () и ~ ios_base ()
Типичная реализация содержит константы-члены, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, показанным ниже, переменные-члены для поддержания текущей точности, ширины и флагов форматирования, маску исключения, состояние ошибки буфера, контейнер с изменяемым размером, содержащий обратные вызовы , текущий установленный языковой стандарт, частное хранилище и статическая целочисленная переменная для xalloc ().
[править] Функции-члены
создает объект (защищенная функция-член) [править] | |
разрушает объект (виртуальная общедоступная функция-член) [править] | |
Форматирование | |
управляет флагами формата (общедоступная функция-член) [править] | |
устанавливает специальный флаг формата (общедоступная функция-член) [править] | |
очищает определенный флаг формата (общедоступная функция-член) [править] | |
управляет десятичной точностью операций с плавающей запятой. (общедоступная функция-член) [править] | |
управляет шириной поля (общедоступная функция-член) [править] | |
Местонахождение | |
устанавливает языковой стандарт (общедоступная функция-член) [править] | |
возвращает текущий языковой стандарт (общедоступная функция-член) [править] | |
Внутренний расширяемый массив | |
возвращает уникальное целое число для всей программы, которое можно безопасно использовать в качестве индекса для pword () и iword (). (общедоступная статическая функция-член) [править] | |
при необходимости изменяет размер частного хранилища и обеспечивает доступ к длинному элементу по заданному индексу (общедоступная функция-член) [править] | |
при необходимости изменяет размер частного хранилища и получает доступ к элементу void * по заданному индексу (общедоступная функция-член) [править] | |
Разное | |
регистрирует функцию обратного вызова события (общедоступная функция-член) [править] | |
устанавливает, совместимы ли библиотеки ввода-вывода C ++ и C. (общедоступная статическая функция-член) [править] | |
Классы элементов | |
исключение потока (открытый класс члена) [править] | |
инициализирует стандартные объекты потока (открытый класс-член) [править] |
Типы элементов и константы | |
Тип | Пояснение |
поток открытого типа Также определены следующие константы: (typedef) [править] | |
тип флагов форматирования Также определены следующие константы: (typedef) [править] | |
состояние типа потока Также определены следующие константы: (typedef) [править] | |
поиск типа направления Также определены следующие константы: (typedef) [править] | |
определяет тип события (перечисление) [править] | |
callback-функция типа (typedef) [править] |
| (до C ++ 17) |
cpp / io / ios base — cppreference.
com Класс ios_base
— это многоцелевой класс, который служит базовым классом для всех классов потоков ввода-вывода. Он поддерживает несколько типов данных:
1) информация о состоянии: флаги состояния потока
2) управляющая информация: флаги, которые управляют форматированием как входных, так и выходных последовательностей, а также встроенной локали
3) частное хранилище: индексированная расширяемая структура данных, которая допускает как длинные, так и пустые * члены, которые могут быть реализованы как два массива произвольной длины или один массив двухэлементных структур или другой контейнер.
4) обратные вызовы: произвольное количество пользовательских функций, вызываемых из imbue (), copyfmt () и ~ ios_base ()
Типичная реализация содержит константы-члены, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, показанным ниже, переменные-члены для поддержания текущей точности, ширины и флагов форматирования, маску исключения, состояние ошибки буфера, контейнер с изменяемым размером, содержащий обратные вызовы , текущий установленный языковой стандарт, частное хранилище и статическая целочисленная переменная для xalloc ().
[править] Функции-члены
создает объект (защищенная функция-член) [править] | |
разрушает объект (виртуальная общедоступная функция-член) [править] | |
Форматирование | |
управляет флагами формата (общедоступная функция-член) [править] | |
устанавливает специальный флаг формата (общедоступная функция-член) [править] | |
очищает определенный флаг формата (общедоступная функция-член) [править] | |
управляет десятичной точностью операций с плавающей запятой. (общедоступная функция-член) [править] | |
управляет шириной поля (общедоступная функция-член) [править] | |
Местонахождение | |
устанавливает языковой стандарт (общедоступная функция-член) [править] | |
возвращает текущий языковой стандарт (общедоступная функция-член) [править] | |
Внутренний расширяемый массив | |
возвращает уникальное целое число для всей программы, которое можно безопасно использовать в качестве индекса для pword () и iword (). (общедоступная статическая функция-член) [править] | |
при необходимости изменяет размер частного хранилища и обеспечивает доступ к длинному элементу по заданному индексу (общедоступная функция-член) [править] | |
при необходимости изменяет размер частного хранилища и получает доступ к элементу void * по заданному индексу (общедоступная функция-член) [править] | |
Разное | |
регистрирует функцию обратного вызова события (общедоступная функция-член) [править] | |
устанавливает, совместимы ли библиотеки ввода-вывода C ++ и C. (общедоступная статическая функция-член) [править] | |
Классы элементов | |
исключение потока (открытый класс члена) [править] | |
инициализирует стандартные объекты потока (открытый класс-член) [править] |
Типы элементов и константы | |
Тип | Пояснение |
поток открытого типа Также определены следующие константы: (typedef) [править] | |
тип флагов форматирования Также определены следующие константы: (typedef) [править] | |
состояние типа потока Также определены следующие константы: (typedef) [править] | |
поиск типа направления Также определены следующие константы: (typedef) [править] | |
определяет тип события (перечисление) [править] | |
callback-функция типа (typedef) [править] |
| (до C ++ 17) |
rootstrap / ios-base: шаблон для новых проектов iOS с использованием Swift 5.
Предоставляет несколько функций.iOS base — это шаблонный проект, созданный Rootstrap для новых проектов, использующих Swift 5. Основная цель — помочь любым новым проектам начать разработку функций, предоставляя несколько функций.
Характеристики
В этот шаблон входит:
Основной
- Полный класс службы API для удобного взаимодействия со службами REST .
- Примеры создания учетной записи и Интеграция с Facebook .
- Полезные классы для управления данными пользователя и сеанса .
- Безопасный способ хранения ключей для сторонних интеграций .
- Общая реализация навигации между контроллерами представления.
- Удобные помощники и расширения , чтобы сделать процесс кодирования быстрее и проще.
Расширения
Этот шаблон приложения также содержит другие ветки с конкретными функциями, которые могут быть вам полезны:
Чтобы использовать их, просто загрузите ветку и локально переустановите ее на master / develop из исходного клона iOS . Важно : См. Шаги ниже, чтобы узнать, как установить эту функцию.
Как использовать
- Клонировать репо.
- Установите нужные расширения из их веток.
- Запустите
./init
из недавно созданной папки. - Инициализируйте новое репозиторий git и добавьте свой удаленный URL.
- Готово!
Для управления сохранением пользователей и сеансов после первоначального входа / входа мы сохраняем эту информацию во встроенных UserDefaults. Параметры, которые мы сохраняем, связаны с использованием Devise Token Auth для аутентификации на стороне сервера.Достаточно сказать, что это можно изменить, чтобы оно соответствовало выбранной вами аутентификации сервера.
капсул
Основной
- Alamofire для простого и элегантного подключения к API.
- IQKeyboardManagerSwift для автоматической прокрутки к текущему вводу в длинных представлениях. Примечание: этот модуль не полностью работает на iOS 11. Вот проблема, с которой мы столкнулись, и ее решение.
- R.swift для строго типизированных и автоматически заполняемых ресурсов, сегментов и многого другого.
Утилиты
Мы разработали другие библиотеки, которые могут быть полезны, и вы можете интегрировать их с менеджером зависимостей по вашему выбору.
- PagedLists: Пользовательские классы
UITableView
иUICollectionView
для простой обработки разбивки на страницы. - RSFontSizes: позволяет гибко управлять разными размерами шрифтов для каждого размера экрана устройства.
- RSFormView: a Библиотека, которая помогает вам создавать полностью настраиваемые формы для ввода данных за несколько минут.
- SwiftGradients: Полезные расширения для классов
UIViews
иCALayer
для добавления красивых цветовых градиентов.
Тестирование
Дополнительно
Дополнительная конфигурация
- В
info.plist
в массиве типов URL найдитеfbXXXXXXXXXXX
и замените его на строку «fb» + идентификатор вашего приложения. то есть:fb435272928934
. - Измените значение
FacebookAppID
на тот же AppID, который вы заменили выше. - Измените значение
FacebookDisplayName
для имени приложения на Facebook. - Готово 🙂
Код Стандарты качества
Чтобы соответствовать требуемым стандартам качества кода, в этом проекте используется SwiftLint. на этапе сборки и сообщает о предупреждениях / ошибках напрямую через XCode. Текущая конфигурация правил SwiftLint основана на руководствах по стилю Rootstrap Swift и синхронизируется с файл конфигурации CodeCliemate.
ПРИМЕЧАНИЕ. Убедитесь, что у вас установлен SwiftLint версии 0.35.0 или выше, чтобы избежать заведомо ложных срабатываний некоторых правил.
Рекомендации по безопасности
Ключи сторонних производителей
Мы настоятельно рекомендуем добавить все закрытые ключи в файл .plist
, который останется локально и не будет сохранен в репозитории вашего проекта. Пример файла уже предоставлен, это последние шаги по его настройке:
- Переименуйте файл
ThirdPartyKeys.example.plist
в своем проекте, чтобы он называлсяThirdPartyKeys.plist
. Чтобы добавить набор ключей, просто добавьте словарь с именем, которое вы хотите присвоить ключу, и добавьте соответствующие ключи Debug , Staging и Release в качестве элементов. - Удалите ссылку
ThirdPartyKeys.plist
из XCode, но не удаляйте файл. Таким образом, вы сохраните файл локально (он уже находится в списке . gitignore) в каталоге проекта. Примечание: НЕ перемещайте файл из текущего местоположения, сценарий использует каталог $ (PROJECT_DIR). - Перейдите к Продукт -> Схема -> Отредактируйте схему . Затем выберите Предварительные действия для этапа сборки и убедитесь, что для параметра
Provided build
установлено значение вашей текущей цели. Повторите этот шаг для сценария пост-действий. - Готово 🙂
Автоматическая сборка и развертывание с использованием Fastlane
Мы используем Fastlane для автоматизации подписания, сборки и развертывания кода.
Установка нового проекта
Перед созданием проекта в первый раз необходимо выполнить несколько шагов.
- Установить последние инструменты командной строки Xcode
- Установите последнюю версию Fastlane
# Использование RubyGems
sudo gem установить fastlane -NV
# В качестве альтернативы использовать Homebrew
варить установить скоростную полосу
- Создайте необходимые идентификаторы приложений на портале разработчиков Apple и в App Store Connect Это можно сделать на самом портале или с помощью фастлейна .
Fastlane Produce -u {apple_id} --app-name {app_name} --team-id {team_id} --app-identifier {app_id}
Создайте частный пустой репозиторий для хранения сертификатов подписи, например.
[email protected]: rootstrap / {app_name} -certificates.git
Создание файла соответствия с соответствием на скоростной полосе
выберите git
в качестве режима хранения и укажите URL сертификатов git repo
- необязательно Если в учетной записи разработчика есть старые / недействительные сертификаты, которые не используются совместно, рекомендуется использовать действие
nuke
для очистки существующих сертификатов ( используйте с осторожностью ):
Fastlane Match разработка ядерного оружия
распределение ядерных боеприпасов
- необязательно Если вы хотите повторно использовать существующие сертификаты распространения, их можно импортировать в репозиторий сертификатов, используя сопоставление с действием
import
:
импорт матча на скоростной полосе \
--username {{username}} \
--git_url {{сертификаты_git_url}} \
--team_id {{team_id}} \
--type appstore \
--app_identifier com. {{company}}. {{app_name}} \
* Fastlane запросит расположение файлов `.cer` и` .p12`
* Fastlane потребует установки парольной фразы для шифрования файлов в git
- Создание идентификаторов пакетов приложений
fastlane match appstore -u {{username}} --team-id {{team_id}} -a com. {{Company}}. {{App_name}}
- Проверьте
fastlane / Appfile
иfastlane / Fastfile
; установить и / или проверить требуемые значения и переменные среды перед использованием:
Использование скоростной полосы
Дорожкам для каждой цели развертывания предоставляется базовое поведение, которое можно изменять при необходимости:
У каждой цели есть три варианта:
debug_ *
,archive_ *
иrelease_ *
.- Линия отладки
- Архив
Линия
дополнительно построит приложение с указанным профилем и сертификатом, сохраняя. ipa
в локальной папке для загрузки. - Переулок
выпуска
:- Проверить статус репо (он должен быть чистым, без ожидающих изменений)
- Увеличьте номер сборки.
- Пометьте новый выпуск и отправьте его в заданную ветку (по умолчанию dev и staging отправляют на разработку, а производство на мастер, но это можно настроить).
- Создайте приложение, подписанное сертификатом App Store
- Сгенерируйте журнал изменений из разницы в фиксации между этой новой версией и предыдущей.
- Загрузите в testflight и дождитесь его обработки.
- Линия отладки
Кроме того, полоса
test_develop
может использоваться заданием CI только для запуска модульного теста с симуляторами (указывается переменнойустройств
в Fastfile)
Лицензия
iOS-Base доступен по лицензии MIT.См. Файл LICENSE для получения дополнительной информации.
ПРИМЕЧАНИЕ: Удалите бесплатный файл LICENSE для частных проектов или замените его соответствующей лицензией.
кредитов
iOS Base поддерживается Rootstrap с помощью наших участников.
My BASE в App Store
Разработчик, компания BASE, указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Дополнительную информацию см. В политике конфиденциальности разработчика.
Данные, используемые для отслеживания вас
Следующие данные могут использоваться для отслеживания вас в приложениях и на веб-сайтах, принадлежащих другим компаниям:
- Идентификаторы
- Данные об использовании
- Диагностика
Данные, связанные с вами
Следующие данные могут быть собраны и связаны с вашей личностью:
- Контактная информация
- Идентификаторы
- Данные об использовании
- Диагностика
Данные, не связанные с вами
Следующие данные могут быть собраны, но они не связаны с вашей личностью:
Политика конфиденциальности может различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше
App Store — Поддержка — Apple Developer
Настройка учетной записи
Перед отправкой приложения на рассмотрение вам необходимо предоставить налоговую и банковскую информацию, просмотреть контракты и настроить свою учетную запись и пользователей в App Store Connect.
Подготовка и отправка приложений
Получите пошаговые инструкции по настройке кода и данных, тестированию на устройствах и отправке приложений для распространения.
Обзор приложения
Мы проверяем все приложения, представленные в App Store, чтобы определить, являются ли они надежными, работают должным образом и не содержат оскорбительных материалов.Мы проверяем каждое представленное приложение на основе набора технических критериев, критериев содержания и дизайна. Прочтите следующие инструкции для получения более подробной информации.
Управление приложениями
Получите информацию об управлении своими приложениями, включая редактирование метаданных, отправку обновлений, загрузку журналов сбоев и просмотр отчетов о продажах и финансовых отчетах.
маркетинговых приложений
Загрузите иллюстрации для использования в маркетинговых коммуникациях и прочтите правила маркетинга, чтобы узнать подробнее об использовании значков App Store и изображений продуктов Apple, а также о передовых методах маркетинга в App Store.
Технические примечания и часто задаваемые вопросы
Форумы разработчиков
Публикуйте темы о разработке и получайте ответы от инженеров Apple и других разработчиков.
Свяжитесь с нами
App Store Connect и обзор приложений
Выберите категорию, которая лучше всего описывает ваш вопрос.
Вопросы интеллектуальной собственности
Если вы считаете, что приложение в App Store нарушает ваши права на интеллектуальную собственность, вы можете подать претензию по следующей ссылке, и Apple Legal свяжет вас с поставщиком спорного приложения:
Проблемы с именем приложения
Если вы считаете, что приложение мешает вам использовать имя приложения, на использование которого у вас есть права, вы можете подать претензию по следующей ссылке.При необходимости Apple Legal перешлет вашу контактную информацию и претензию разработчику блокирующего приложения, чтобы они могли связаться с вами напрямую.
Удаление приложений и апелляции
Apple иногда получает уведомления, требующие от нас удалить контент из App Store. Мы также можем удалять контент по причинам, изложенным в Рекомендациях по проверке приложений или в любом из наших соглашений с вами. Apple уведомит вас, когда, где и почему приложение будет снято с продажи, за исключением ситуаций, когда уведомление будет бесполезным или неэффективным, может вызвать потенциальную опасность серьезного физического увечья, может поставить под угрозу способность Apple обнаруживать нарушения разработчика или в случаях, связанных с нарушениями в отношении спама, фишинга и изображений с использованием детей.По возможности, приложения, удаленные из App Store, будут удалены только в странах и территориях, в которых возникла проблема, и останутся доступными там, где это не коснется.