Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline a1xb  
#1 Оставлено : 21 апреля 2020 г. 1:56:23(UTC)
a1xb

Статус: Участник

Группы: Участники
Зарегистрирован: 21.04.2020(UTC)
Сообщений: 18
Откуда: Ivanovo

Сказал(а) «Спасибо»: 4 раз
Помогите, пожалуйста, решить проблему со сборкой flutter проекта под iOS
Во flutter есть приложение-прослойка между нативной частью на obj c или swift и кроссплатформенной на dart, по сути, это простое нативное приложение с обработчиками вызовов из кроссплатформенного модуля. Не суть, суть в том, что при добавлении в нативное приложение фреймворка версии 4.0 R5 и выполнения по списку из Readme файла всего, что там написано, получаю ошибки при сборке:
Цитата:
Undefined symbols for architecture x86_64:
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&)", referenced from:
vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in CPROCSP
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::setbuf(char*, long)", referenced from:
vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in CPROCSP
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sync()", referenced from:
vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in CPROCSP

и так 93 штуки.
Платформы указал как написано $(ARCHS_STANDARD), т.е. armv7 и arm64
"C++ Standard Library" - "libc++ (LLVM C++ Stanard Library)" тоже указал. Пробежался параллельно по примеру CreateFile и разницы не нашел, но сборка тем не менее падает. В чем может быть проблема?

Добавил проект для воспроизведения. На машине должен быть установлен flutter
ios проект в папке ios https://cloud.mail.ru/public/1Qyf/zMccT2eLd

Отредактировано пользователем 21 апреля 2020 г. 11:07:28(UTC)  | Причина: Не указана

Offline a1xb  
#2 Оставлено : 21 апреля 2020 г. 22:01:53(UTC)
a1xb

Статус: Участник

Группы: Участники
Зарегистрирован: 21.04.2020(UTC)
Сообщений: 18
Откуда: Ivanovo

Сказал(а) «Спасибо»: 4 раз
Решил попробовать изолировать проблему. Создал чистый проект в xCode и по инструкции добавил в него CPROCSP.framework 4.0 R5 и получил все те же самые 93 ошибки.
Помогите разобраться, пожалуйста, уже стуки бьюсь и не пойму как продвинуться дальше. Грешил на flutter и его скрипты, но нет, на чистом нативном проекте всё тоже самое.
Проект, на котором тестировал, в него уже все зависимости включены и все шаги по инструкции пройдены --->>> https://cloud.mail.ru/public/CWxH/ssmPfSbyg
Версия xCode самая последняя (Version 11.4.1 (11E503a))
Offline Александр Лавник  
#3 Оставлено : 23 апреля 2020 г. 16:12:57(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: a1xb Перейти к цитате
Решил попробовать изолировать проблему. Создал чистый проект в xCode и по инструкции добавил в него CPROCSP.framework 4.0 R5 и получил все те же самые 93 ошибки.
Помогите разобраться, пожалуйста, уже стуки бьюсь и не пойму как продвинуться дальше. Грешил на flutter и его скрипты, но нет, на чистом нативном проекте всё тоже самое.
Проект, на котором тестировал, в него уже все зависимости включены и все шаги по инструкции пройдены --->>> https://cloud.mail.ru/public/CWxH/ssmPfSbyg
Версия xCode самая последняя (Version 11.4.1 (11E503a))

Здравствуйте.

Сравните настройки Вашего проекта с проектом тестового приложения CreateFile из состава дистрибутива фреймворка КриптоПро CSP для iOS.

Тестовое приложение настроено правильно, можете проверить корректность его сборки.
Техническую поддержку оказываем тут
Наша база знаний
Offline a1xb  
#4 Оставлено : 23 апреля 2020 г. 16:19:25(UTC)
a1xb

Статус: Участник

Группы: Участники
Зарегистрирован: 21.04.2020(UTC)
Сообщений: 18
Откуда: Ivanovo

Сказал(а) «Спасибо»: 4 раз
Автор: Александр Лавник Перейти к цитате
Автор: a1xb Перейти к цитате
Решил попробовать изолировать проблему. Создал чистый проект в xCode и по инструкции добавил в него CPROCSP.framework 4.0 R5 и получил все те же самые 93 ошибки.
Помогите разобраться, пожалуйста, уже стуки бьюсь и не пойму как продвинуться дальше. Грешил на flutter и его скрипты, но нет, на чистом нативном проекте всё тоже самое.
Проект, на котором тестировал, в него уже все зависимости включены и все шаги по инструкции пройдены --->>> https://cloud.mail.ru/public/CWxH/ssmPfSbyg
Версия xCode самая последняя (Version 11.4.1 (11E503a))

Здравствуйте.

Сравните настройки Вашего проекта с проектом тестового приложения CreateFile из состава дистрибутива фреймворка КриптоПро CSP для iOS.

Тестовое приложение настроено правильно, можете проверить корректность его сборки.


Спасибо за ответ, это было первое, что я сделал, как только столкнулся с проблемой, визуально отличий я не нашел. В любом случае, проблему я решил - добавил в линковку библиотеку libc++ и всё заработало.

Сейчас ищу документацию по использованию фреймворка на iOS. Есть примеры с загрузкой и установской сертификата из файла и последующей подписью файла с его помощью?

Отредактировано пользователем 23 апреля 2020 г. 16:20:05(UTC)  | Причина: Не указана

Online Андрей Русев  
#5 Оставлено : 23 апреля 2020 г. 16:55:37(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,260

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 442 раз в 322 постах
Про libc++ написано в п.9 в ReadMe.txt.
Пример использования - это CreateFile, там как раз CMS-подпись. Подпись (всегда) осуществляется закрытым ключом, хранящимся в контейнере. Сертификат этого ключа должен быть установлен в личное хранилище со ссылкой на закрытый ключ. Получение такой пары "контейнер + сертификат" на iOS непростая задача. Поэтому для встраивания в приложения мы предоставляем панель (PaneViewController), на которой можно выпустить сертификат на (тестовом) УЦ. В любом случае лучше начать с изучения, как работает CreateFile.
Официальная техподдержка. Официальная база знаний.
Offline a1xb  
#6 Оставлено : 23 апреля 2020 г. 17:14:17(UTC)
a1xb

Статус: Участник

Группы: Участники
Зарегистрирован: 21.04.2020(UTC)
Сообщений: 18
Откуда: Ivanovo

Сказал(а) «Спасибо»: 4 раз
Автор: Андрей Русев Перейти к цитате
Про libc++ написано в п.9 в ReadMe.txt.
Пример использования - это CreateFile, там как раз CMS-подпись. Подпись (всегда) осуществляется закрытым ключом, хранящимся в контейнере. Сертификат этого ключа должен быть установлен в личное хранилище со ссылкой на закрытый ключ. Получение такой пары "контейнер + сертификат" на iOS непростая задача. Поэтому для встраивания в приложения мы предоставляем панель (PaneViewController), на которой можно выпустить сертификат на (тестовом) УЦ. В любом случае лучше начать с изучения, как работает CreateFile.

п.9 разве не про компилятор? Имеено он задается в свойствах проекта, как говорится в инстуркции. Он и так по умолчанию при создании проекта в текущей версии xcode ставится на в libc++
Я же добавил именно линковку с libc++.tbd в "Link Binary With Libraries". В CreateFile такого не было. В любом случае, уже не важно, главное что собирается и работает, сейчас надо разобраться как моим сертификатом подписывать файлы. За наводку про PaneViewController спасибо, посмотрю в его сторону.


RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.