Инструкция: как скомпилировать мобильное приложение
под директора с iOS :)



Допустим, Вы сделали директору крутое мобильное приложение, этакую “Панель отчетов Новорощенского Трубного Завода”, та-да! :))

Все, что осталось сделать – “закинуть” приложение на телефон директора.

Но здесь начинаются проблемы – директора любят продукцию Apple. За что? Непонятно, но так уж повелось…

Поэтому придется делать сборку своей нетленки под iOS. И хорошо, если под рукой есть лишний рабочий Мак – можно недельку поэкспериментировать с ним и гуглом.

Но будем честными – мало у кого из 1С-ников пылится на столе MacBook. Вообще более 95 % 1С-ников работают на Windows, и это нормально.

Поэтому сегодня мы покажем, как сделать сборку приложения под iOS, не имея собственного Мака.

Почему мы вообще рассматриваем эту тему?

Во-первых, этот процесс сборки под iOS особо не документирован, мало кто с этим экспериментировал всерьез

Во-вторых, есть ряд подводных камней, над которыми можно долго биться в одиночку

В-третьих, нужно признать, что 1С-ники не самые продвинутые пользователи Макинтошей.

Итак, начинаем:

Это “страшное” слово PuTTY :)

Это «страшное» слово PuTTY :)

PuTTY – клиент, который позволяет подключаться к *nix системам. Он используется для подключения к Mac компьютеру и дальнейшей сетевой сборки.

В видео рассмотрим установку и настройку PuTTY.

Как подключиться к Mac удаленно?

Как подключиться к Mac удаленно?

Обычно 1С-ники не работают на Macintosh, и даже чтобы переключить раскладку клавиатуры, приходится “гуглить”.

Если же речь идет о настройке сетевых параметров или сертификатов, то начинается депрессия и “ласковые” фразы в адрес Тима Кука :)

В этом видео мы расскажем, как пройти по тернистому пути, и разберем нюансы подключения к Mac компьютеру по сети:

  • Настройка сети
  • Работа с сертификатами
  • Настройка других обязательных параметров.

Компиляция мобильных приложений под iOS: ошибки и способы их решения

Мы покажем, как, не имея собственного Мака, сделать компиляцию под iOS – например, подключившись к компьютеру директора по сети.

Компиляция мобильных приложений под iOS: ошибки и способы их решения

Этот урок особенно актуален для тех, кто в первый раз видит Mac OS – мы рассмотрим все потенциальные ошибки, с которыми может столкнуться 1С-ник, и разберем способы их решения.

Приятного просмотра! :)

Полный курс по мобильной платформе 1С 8.3

Если Вы хотите не просто знать отдельные “фишки”, но и уметь разрабатывать полноценные мобильные приложения на 1С и интегрировать их со “стационарными” решениями – рекомендуем пройти полный курс.

Поддержка – 2 месяца. Объем курса – 13 учебных часов.

Не откладывайте свое обучение!

54 комментариев к “Инструкция: как скомпилировать мобильное приложение
под директора с iOS :)

  1. Евгений сказал:

    Приветствую!

    Тоже столкнулся с проблемой сборки. Приложение не хочет собираться не из сборщика 1С, не из xcode.
    В xcode ошибка “missing required architecture i386”.

    Мобильная платформа 8.3.11.57
    Сборщик 2.0.6.10
    На виртуалке MAC OS Sierra 10.12.6 xcode 9.2

    Получилось у кого с этим разобраться?

  2. Иван сказал:

    Добрый день!

    Не удается собрать мобильное приложение для iOS.
    Имеется платный аккаунт разработчика iOS.
    Изначально в журнале сборки выходит такая проблема:

    === BUILD TARGET 1cem OF PROJECT 1cem WITH CONFIGURATION Release ===
    Check dependencies
    Code Signing Error: No profiles for ‘com.companyName.appName’ were found: Xcode couldn’t find any iOS App Development provisioning profiles matching ‘com.companyName.appName’. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
    Code Signing Error: Code signing is required for product type ‘Application’ in SDK ‘iOS 11.2’

    Переношу архив с проектом на MAC.
    В проекте снимаю флажок “Automatically manage signing”, после этого в разделах Signing (для Debug и Release)
    выбираю Provisioning Profile (подгруженый с Dev AppleID), Заполняется команда разработки (Team) и сертификат подписи

    Ошибка с подписью пропадет, но компиляция не проходит со следующей ошибкой:

    clang: warning: libstdc++ is deprecated; move to libc++ [-Wdeprecated]
    ld: warning: ignoring file /Users/john/Desktop/com.companyName.appName/1cem.o, missing required architecture i386 in file /Users/john/Desktop/com.companyName.appName/1cem.o (2 slices)
    ld: entry point (_main) undefined. for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Не сталкивались с такой проблемой?

    Версии софта:
    Версия Mac OSX – 10.12.6 (Sierra)
    Версия Xcode – 9.2 (такая же и у Command Line Tools)
    Версия сборщика моб. приложений – 2.0.6.11
    Версия моб. платформы – 8.3.10.84
    Версия обычной платформы – 8.3.10.2252

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      На счет профиля – профили надо получать в сборщик из мака,а не загружать вручную. Если вы его получили, то он есть на маке, и проблемы не должно быть.
      На счет второй проблемы – у вас какая стоит цель компиляции по версии iOS? Ее можно посмотреть в настройках, попробуйте поставить iOS 7, в крайнем случае – вы можете вручную добавить этот пакет, он так и называется в настройках пакета в самом xCode.
      Ну и попробуйте тоже самое сделать с 8.3.11. Если не разберетесь, пишите, попробуй скринов наделать, а то у меня просто xCode 7 стоит, надо будет обновиться :)

      • Владимир сказал:

        Что значит профили надо получать в сборщик из мака? Вы про профиль обеспечения? При его добавлении в сборщик требуется указать локальный файл. Как его получить из мака?

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          xCode подтягиавет сертификат с инета, а 1С – подтягивает их из мака, там когда вы выбираете сертификат – 1С подключается к маку и ищет их там, соответственно – надо вначале их подгрузить на маке.

          • Владимир сказал:

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

            • Дмитрий Шерстобитов (мастер-тренер) сказал:

              Да, я уже запутался :)
              Давайте так – попробуйте тоже самое сделать на 8.3.12+
              У меня подозрение – что проблема исчезнет.

  3. Reewall сказал:

    Дядьки, нужна хелпа. Сделал свое приложение под 11 версию, все работает четко, пришлось перечитать тонны материала, залил в аппстор, но уперся в косяк. Клиенты арабы и наименование товаров у них на арабском. Столкнулся с тем что на андроидах отображение арабского идет корректно, а вот на айфонах нет. По словам клиента Буквы вытянуты и между буквами пробел. При чем когда пытаешься отредактировать поле, все становится как надо. В общем думал может через хкод можно поправить данный косяк. Не могу найти где хранится код, в каком виде он там хранится. В теории понимаю что в файле 1cem.o но открыть просмотреть его не могу. Что подскажете?

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Хаё. Ну ты же не думаешь что 1С вот так вот прям бац, и стала компанией с исходным открытым кодом своих продуктов.
      А даже если бы он и был, то код там явно не на object C, так что шли привет в 1С, желательно со скринами и видео, и путь ребята отрабатывают свой хлеб.

      • Reewall сказал:

        а ссылочку можно куда писать, чтобы было замечено?

        P.S. нашел, написал, ждемс

  4. Erd сказал:

    Добрый день!
    У меня возникает такая же ошибка:
    Signing for “1cem” requires a development team. Select a development team in the project editor.
    Подскажите пожалуйста последние точно работающие платформы 1С и Xcode. Уже попробовал все самые последние платформы 1С: “8.3.10.51”, и тестовую “8.3.10.62” ставил, и пробовал старую “8.3.9.91”. Одновременно и Xcode менял “8.3.3”, “8.2.1”, “8.2”, а ошибка не меняется.
    Версии сборщика пробовал “2.0.5.25” и “2.0.5.26”-из тестовой платформы.
    Из самого Xcoda приложение на телефон установилось, но хочется получить это приложение ввиде отдельного файлика из сборщика 1С

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Ну на это выделен целый модуль в курсе.
      Вы перенесли профили провизий в мобильный сборщик?

      • Erd сказал:

        Делал все по курсу:
        – получившийся проект перенес на Мак
        – открыл его через Xcode
        – но тут уже отличается Xcode и я установил “Automatically manage signing”, выбрал Team: Name(Personal Team). Появился Provision Profile: “Xcode Managed Profile” и заполнилось поле Signified Certificate. Вроде должно работать, но хочет…
        Сегодня попробовал получившийся Provision Profile перенести в сборщик 1С, но ошибка не изменилась(

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          Надо вначале создать приложение, его сертификаты, профиль, потом профиль скачать в xcode, потом он должен автоматом перенестить в 1с, когда там открываете добавить профили.
          И конечно же – никаких кириллиц нигде не должно быть.

          • Erd сказал:

            Дмитрий, спасибо за ответы!
            В итоге хочу понять, возможно ли сейчас в принципе собрать мобильное приложение для iOS без платного аккаунта разработчика? Ну т.е. получить файл с расширением ipa – как это было сделано в курсе?

            • Дмитрий Шерстобитов (мастер-тренер) сказал:

              Только для текущего устройства, к которому подключен тот же аккаунт разработчика. Т.е. для всех – нельзя.

      • Дмитрий сказал:

        у меня тоже самое:
        Check dependencies
        Code Signing Error: Signing for “1cem” requires a development team. Select a development team in the project editor.
        Code Signing Error: Code signing is required for product type ‘Application’ in SDK ‘iOS 11.1’

        Профили провизий подкинул. И разработчика и дистрибьютера пробовал – одно и то же. И сертификаты разработчика подкинул.
        У меня нормальный платный Account.

        Что не так?
        При сборке на Mac еще ошибку дает по x86_64

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          Вы через свой мак установите вначале платформу для разработчиков, чтобы подхватить все нужные сертификаты и профили, а потом еще раз попробуйте.

          • Дмитрий сказал:

            Хм… а можно немножко поподробнее, что я не установил?
            На маке стоит Xcode 9.1.
            Операционка macOS Sierra 10.12.6
            комплекты SDK iOS 11.1, iOS simulator 11.1, macOS 10.13.

            На виндовом компе Windows 7 sp.1 x64,
            1C 8.3.10.25.80
            Мобильная платформа Версия 8.3.10.57, Версия 8.3.9.74, Версия 8.3.10.69.
            Сборщик моб. приложений: 2.0.6.8

            Компы связаны по UltraVNC и хорошо видят друг друга и обмениваются файлами.

            Сертификаты и провизии с мака на ос перенес и вкинул в сборщик, причем по три штуки: для разработчика, дистрибутора и из Xcode.

            Пробовал собрать с разными сертификатами, провизиями и на разных моб.платформах. Не получилось.

            Я даже готов вам выслать файл конфы что бы сами попробовали.

            Спасибо за поддержку.

            • Дмитрий сказал:

              При сборке на маке (из “Проект для сборки мобильного приложения с помощью Xcode” выскакивает предупреждение

              “the file “1cem” couldn’t be opened because you don’t have permission to view it”.

              Уже сутки ищу решение проблемы. Все предлагаемые в нэте методы результата не дают.

              Я знаю, что истина где то рядом, но вот только где…

              • Дмитрий Шерстобитов (мастер-тренер) сказал:

                Не хватает вводных данных.
                Платформа для разработчиков ставится без проблем, правильно?
                Телефон подвязан как телефон разработчика, верно? Т.е. вы его видите в консоле разработчика.
                Вручную попробуйте вызвать все команды которые шлет 1с при сборке, и найдите точно – на каком месте оно отваливается.

                • Дмитрий сказал:

                  Все, Дмитрий, в последних обновлениях и платформы iOS и iTunes произошло много изменений. Я пообщался с Apple.
                  В iOS 11 много нюансов, которые 1С еще не предусмотрела, поэтому у кого нет времени разбираться, пока эту платформу лучше не использовать. Я ушел гораздо глубже уже и практически разместил приложение в AppStore, но там тоже есть нововведения. Еще пару дней и расскажу сам как бороться с ними, пока 1С не выпустит новый релиз мобильной платформы.
                  Спасибо за поддержку.

                  • Дмитрий Шерстобитов (мастер-тренер) сказал:

                    Тогда лучше оформите это в виде статьи на нашем сайте :) Был бы очень признателен.

            • Дмитрий Шерстобитов (мастер-тренер) сказал:

              Вы мне сейчас предлагаете в одном комментарии изложить суть нескольких часов видеоматериалов. Это не реально.
              Я даже не знаю что и как вы до этого делали, причин может море, вплоть до того, что вы просто не указали утилиты коммандной строки в настройке xcode, или у вас логин/пароль мака содержит что-то, кроме латиницы и цифр.
              Провизии надо получать из мака, а не просто переносить. Если все верно, то при выборе провизии должно идти подключение к маку, и оттуда все подхватываться.

          • Дмитрий сказал:

            ЗЫ: При подключении Iphone 5s к маку благополучно собирает, устанавливает и работает на ура. Но стоит отключить – начинаются проблемы.

            “Мобильное приложение для симулятора ОС iOS” так же работает великолепно.

  5. Александр сказал:

    добрый день.
    удалось ли как побороть ошибку?
    Signing for «1cem» requires a development team. Select a development team in the project editor. Code signing is required for product type ‘Application’ in SDK ‘iOS 10.2’

    XCode 8.3.3 / XCode 8.2 (пробовал разные версии)
    платформа 1с 8.3.9.2233
    мобильная платформа 8.3.10.51
    версия сборщика 2.0.5.24

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      сертификат подключен? Он ругается на то, что не может найти профили на приложение.

      Signing for «1cem» requires a development team

      • Александр сказал:

        у меня в XCode ошибка
        при подписи приложения, что нет зарегистрированных устройств.
        вопрос. нужно ли подключать реально устройство к акаунту или можно как-то виртуальное, которое используется для отладки.

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          В 8.3.10 добавили работу с виртуальными устройствами. Но у меня ничего не получилось с ними, но я пробовал на первых тестовых релизах.
          А вообще да- нужно реально устройство разработчика, иначе на что вы пытаетесь скомпилировать? iOS не Android. Там вы или сразу устанавливаете на устройство приложение, или создаете ipa для устройств разработчика, или создаете релиз. Но эти опции доступны при покупке лицензии.

          • Александр сказал:

            Результаты ночного тестирования.
            Все делалось на:
            XCode 8.3.3
            платформа 1с 8.3.9.2233
            мобильная платформа 8.3.10.57 (релиз для тестирования)
            версия сборщика 2.0.5.26 (релиз для тестирования)

            собираются 3 типа приложений.
            1. Мобильное приложение для ОС iOS
            Не собирается падает на ошибке:
            Signing for “1cem” requires a development team. Select a development team in the project editor.
            Code signing is required for product type ‘Application’ in SDK ‘iOS 10.3’
            2. Мобильное приложение для симулятора ОС iOS
            Если забросить папку на Mac OS, и открыть файлик «1cem.xcodeproj» в XCode, то можно запустить приложение на виртуальном устройстве для тестирования. И оно будет работать.

            3. Проект для сборки мобильного приложения с помощью Xcode
            Если забросить папку на Mac OS, и открыть файлик «1cem.xcodeproj» в XCode, то в нем несколько ошибок.
            1. Нельзя подписать приложение так как нет девайсов в акаунте разработчика, а добавить их можно только заплатив 99$.
            2. Нельзя запустить на виртуальном устройстве так как падает при компиляции на ошибке
            linker command failed with exit code 1 (use -v to see invocation)
            поиск и решение проблемы не дал результатов.

            Пришел к выводу. Хочешь собирать приложение плати. Хочешь тестировать запускай на виртуальном и тестируй. Будет ли работать приложение для симулятора на реальном устройстве проверить не могу, так как нет реального…

            • Дмитрий Шерстобитов (мастер-тренер) сказал:

              Все верно. В этом вся суть эппла.Но раньше они вообще ничего не позволяли сделать, сейчас вы должны заплатить лицензию только если вы хотите публиковать приложение. А если вы разрабатываете, то просто берете реально устройство, ставите через xcode платформу разработчиков и пишите код себе спокойно. А раньше даже за это вы были вынужденны платить.

  6. Олег сказал:

    Добрый день!
    А какая версия Xcode последняя?
    У меня стоит 8.2.1 – та же самая ошибка возникает.
    Версии 1С и версия сборщика самые последние. Такая же ошибка:

    Check dependencies
    Signing for “1cem” requires a development team. Select a development team in the project editor.
    Code signing is required for product type ‘Application’ in SDK ‘iOS 10.2’

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Signing for «1cem» requires a development team. Select a development team in the project editor
      Судя по этой сроке – вы не выбрали учетку для публикации и генерации профиля. Скиньте скрин где указан ID пакета, версия и т.д. из xcode

      • Олег сказал:

        Дмитрий, добрый день!
        Скрин прикрепить не могу. Здесь не нашёл такой возможности.
        Если взять проект из сборщика и загрузить его в XCODE, указываю в разделе Development Team учетную запись, если Вы это имели ввиду.Но при следующей компиляции проекта в сборщике, он не сохраняется, возможно ошибка в этом. Только не пойму где можно сохранить.
        Хочется всё же из сборщика сразу собирать мобильное приложение IOS.

        • Дмитрий Шерстобитов (мастер-тренер) сказал:

          А 1С кстати вы каких версий используете? Мобильная, стационарная и версия сборщика.

          • Олег сказал:

            версия платформы 8.3.10.1981
            версия моб. платформы 8.3.8.70
            версия сборщика 2.0.3.31

              • Олег сказал:

                Не помогло. Появилось “Мобильное приложение для симулятора ОС IOS”(собрано).

                Само же мобильное приложение не собрано, по точно такой же причине.

                • Дмитрий Шерстобитов (мастер-тренер) сказал:

                  нужны скрины окон. с настройками сборки и конфиг приложения

              • Олег сказал:

                Дмитрий, скажите, пожалуйста, может проблема в том, что ОС Mac находится на виртуальной машине?

                • Дмитрий Шерстобитов (мастер-тренер) сказал:

                  Там сейчас новый баг с xCode tools 8.3, 1с еще не умеет под него собирать, а там поменялись ключи сборки и параметры сборки ipa файлов.
                  Так что или попробуйте понизить версию xCode tools до 8.2, или ждите обновления от 1с.
                  Только вначале убедитесь что у вас таки 8.3 утилиты, зайдите в настройки xCode.
                  На счет виртуальной – честно предупреждали, что советов давать никто не будет, тут слишком много тонкостей, начиная с релиза и типа ВМ, и заказнчивая еще кучей всего. Ну и плюс это нарушение лицензий :)

                • Олег сказал:

                  Дмитрий, добрый день!

                  Спасибо за помощь. В итоге, у меня все получилось ).

                  Ответьте, пожалуйста, если Вас не затруднит на такой вопрос, понимаю, что он выходит за рамки данной переписки. Руководство предложила сделать блокировку приложения при выключении экрана. Форму блокировки я сделал со вводом пин-кода.

                  Не могу найти процедуру, которая ловит выключение экрана. Или таковой нет?

                  Заранее спасибо.

                  • Дмитрий Шерстобитов (мастер-тренер) сказал:

                    Таковой нет. Но мы писали для этой цели внешнюю компоненту. Так что сделать такое реально.

                  • Дмитрий Шерстобитов (мастер-тренер) сказал:

                    Нет, это уже именно ВК, которая встраивается в 1С

    • Илья Низамов сказал:

      Вам удалось решить проблему? У меня та же проблема.
      Check dependencies
      Signing for “1cem” requires a development team. Select a development team in the project editor.
      Code signing is required for product type ‘Application’ in SDK ‘iOS 10.2’

      XCode 8.2.1
      платформа 8.3.9.2033
      мобильная 8.3.9.86

      На MAC собирается нормально

      • Дмитрий Шерстобитов (мастер-тренер) сказал:

        Тогда надо идти отладкой, не зря же все эти этапы были разобраны в курсе :)
        С другой стороны – иногда и сам эппл что-то придумывает.

  7. Дмитрий сказал:

    У меня такая ошибка возникла.Провизию исправил и сертификат переместил.Судя по тексту ошибки в проекте нужно выбрать подпись, что я и сделал.И на самом Маке всё нормально собирается.Сама 1с видимо что-то не договаривает.

    Build settings from command line:
    CODE_SIGN_IDENTITY = Mac Developer: sabretoothed.sqr@gmail.com (TKWMPUHFW8)

    === BUILD TARGET 1cem OF PROJECT 1cem WITH CONFIGURATION Release ===

    Check dependencies
    Signing for “1cem” requires a development team. Select a development team in the project editor.
    Code signing is required for product type ‘Application’ in SDK ‘iOS 10.2’

    ** ARCHIVE FAILED **

    The following build commands failed:
    Check dependencies
    (1 failure)
    — xcodebuild: WARNING: -exportArchive without -exportOptionsPlist is deprecated
    ** EXPORT FAILED **

    error: archive not found at path ‘/Users/Apple/94dc882f-9436-4267-b446-4aa21be180ca/1cmappwiz/1cem.xcarchive’
    unable to identify 94dc882f-9436-4267-b446-4aa21be180ca/1cmappwiz.ipa: no such file or directory

    • Дмитрий Шерстобитов (мастер-тренер) сказал:

      Signing for «1cem» requires a development team. Select a development team in the project editor.
      Code signing is required for product type ‘Application’ in SDK ‘iOS 10.2’

      Вот эти строки смущают, на самом маке вы говорите собирает тот же проект без впроблем? Какую версию 1с и сборщика используете?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Мы используем файлы cookies, чтобы сделать сайт удобнее.
Продолжая просмотр сайта, Вы соглашаетесь с их использованием.
Подробнее