Kitty Опубликовано 2 октября, 2016 Поделиться Опубликовано 2 октября, 2016 Пустое приложение. Код из документации. Попытка получить фото с камеры: void __fastcall TForm1::TakePhotoFromCameraAction1DidFinishTaking(TBitmap *Image) { Image1->Bitmap->Assign(Image); } При нажатии на кнопку приложение вылетает. Кому нибудь удавалось получить фото в С++ Builder Берлин в iOS? Спасибо. Цитата Ссылка на комментарий
0 Kitty Опубликовано 4 октября, 2016 Автор Поделиться Опубликовано 4 октября, 2016 Здравствуйте. Попробовала Ваш пример. При нажатии на кнопку приложение упало. Стенд: Windows 7 RAD Berlin Up1 -> MacBook Pro OS XEI Capitan 10.11.6 -> iPhone 5 Вот, что я вижу в опциях SDK. Может тут что-то не так? Цитата Ссылка на комментарий
0 master webs Опубликовано 5 октября, 2016 Поделиться Опубликовано 5 октября, 2016 13 часов назад, Kitty сказал: Здравствуйте. Попробовала Ваш пример. При нажатии на кнопку приложение упало. Стенд: Windows 7 RAD Berlin Up1 -> MacBook Pro OS XEI Capitan 10.11.6 -> iPhone 5 Вот, что я вижу в опциях SDK. Может тут что-то не так? попробуйте удалить sdk 8.4 и загрузить 10 Kitty и Равиль Зарипов (ZuBy) 2 Цитата Ссылка на комментарий
0 Kitty Опубликовано 5 октября, 2016 Автор Поделиться Опубликовано 5 октября, 2016 Удалила, перегрузила. Теперь как на картинке. Не помогло. Цитата Ссылка на комментарий
0 Kitty Опубликовано 6 октября, 2016 Автор Поделиться Опубликовано 6 октября, 2016 В целом удалось перевести проект с TBeacon из андроид в iOS. Однако камера, обращение к галереи не работают. Короче не работает все что связано с TActionList. Жуть... Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 6 октября, 2016 Администраторы Поделиться Опубликовано 6 октября, 2016 Только что, Kitty сказал: В целом удалось перевести проект с TBeacon из андроид в iOS. Однако камера, обращение к галереи не работают. Короче не работает все что связано с TActionList. Жуть... Если вручную вызвать получение фотки с камеры работает? Цитата Ссылка на комментарий
0 Kitty Опубликовано 6 октября, 2016 Автор Поделиться Опубликовано 6 октября, 2016 Цитата Если вручную вызвать получение фотки с камеры работает? Простите это как? Я чисто в рамках мануала. Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 6 октября, 2016 Администраторы Поделиться Опубликовано 6 октября, 2016 Taking Pictures Using FireMonkey Interfaces Kitty, Rusland, Pax Beach и 1 другой 4 Цитата Ссылка на комментарий
0 Kitty Опубликовано 6 октября, 2016 Автор Поделиться Опубликовано 6 октября, 2016 Попробовал этот пример. Правда там ошибка: void __fastcall DoMessageListener(const TObject *Sender, TMessage const *M); А надо для компиляции: void __fastcall DoMessageListener(const TObject *Sender, TMessageBase const *M); Однако приложение при нажатии на кнопку снова выпало. Странно... Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 6 октября, 2016 Администраторы Поделиться Опубликовано 6 октября, 2016 Так, ошибку воспроизвести удалось. Буду смотреть. Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 6 октября, 2016 Автор Поделиться Опубликовано 6 октября, 2016 Большое спасибо! Проверти, пожалуйста, также открытие галереии с фотографиями и вызов окна поделиться sharesheet. Это стандартные примеры с одной строчкой кода. Спасибо. Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 7 октября, 2016 Администраторы Поделиться Опубликовано 7 октября, 2016 Так, проблему изучил. Решение очень простое. Начиная с iOS10 приложение, если хочет использовать камеру, библиотеку и другие сторонние сервисы, должно добавлять в манифест специальные ключи. Для камеры и библиотеки эти ключи изображены ниже: Добавьте эти ключи и все будет ок. Подробнее про ключи можно прочитать тут: Cocoa Keys Равиль Зарипов (ZuBy), Pax Beach и Kitty 3 Цитата Ссылка на комментарий
0 Kitty Опубликовано 7 октября, 2016 Автор Поделиться Опубликовано 7 октября, 2016 Большое спасибо, счастье наступило! Цитата Ссылка на комментарий
0 Kitty Опубликовано 26 октября, 2016 Автор Поделиться Опубликовано 26 октября, 2016 (изменено) Ранее обсуждалось тут: http://fire-monkey.ru/topic/3240-ios-ios10-приложение-падает-при-использовании-камеры-в-ios-10/?sortby=date&page=3 С чем может быть связано, что при обращении к камере и галереи, приложение на 64 bit падает. Флаги прописаны везде. Для 32 bit все работает. С++ Builder 10.1 Up.1 Телефон iPhone 5. Спасибо. Изменено 26 октября, 2016 пользователем ZuBy Объединил темы Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 октября, 2016 Модераторы Поделиться Опубликовано 26 октября, 2016 16 минут назад, Kitty сказал: С++ Builder 10.1 Up.1 Телефон iPhone 5. 64 битный процессор с IPhone 5S Цитата Ссылка на комментарий
0 Kitty Опубликовано 26 октября, 2016 Автор Поделиться Опубликовано 26 октября, 2016 Да на iPnone 5 - 32 бит. Но я поставила галочку для совместимости кода и ожидала адекватного поведения приложения.Приложение запускается, все работает, кроме камеры и галереи. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 октября, 2016 Модераторы Поделиться Опубликовано 26 октября, 2016 проверьте конечный info.plist там точно внесены эти ключи? Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 26 октября, 2016 Автор Поделиться Опубликовано 26 октября, 2016 в папке проект\iOSDevice64\Release есть файл проект.info.plist и в нем есть строки из Version Info: <key>NSPhotoLibraryUsageDescription </key> <string>To choose photo</string> <key>NSCameraUsageDescription </key> <string>Get photo</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>iBeacon detection</string> Может этот файл необходимо принудительно добавить в проект через Project Manager ? Спасибо Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 октября, 2016 Модераторы Поделиться Опубликовано 26 октября, 2016 2 минуты назад, Kitty сказал: в папке проект\iOSDevice64\Release есть файл проект.info.plist и в нем есть строки из Version Info: <key>NSPhotoLibraryUsageDescription </key> <string>To choose photo</string> <key>NSCameraUsageDescription </key> <string>Get photo</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>iBeacon detection</string> Может этот файл необходимо принудительно добавить в проект через Project Manager ? Спасибо нет, этот файл итак зашит в файле. ищите проблему в другом Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 26 октября, 2016 Автор Поделиться Опубликовано 26 октября, 2016 На получение фотографии из галереи одна строчка кода: void __fastcall TFormCamera::TakePhotoFromLibraryAction1DidFinishTaking(TBitmap *Image) { Image1->Bitmap->Assign(Image); } На 32 bit работает, а на 64 bit приложение вываливается в тот момент, когда возникает окно разрешить доступ к галереи. На что все таки обратить внимание? Спасибо. Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 (изменено) Правильно ли я поняла, что надо дать ключу другое имя, например для камеры будет Privacy - Camera usage description исходя из этой ссылки: http://stackoverflow.com/questions/39465687/nscamerausagedescription-in-ios-10-0-runtime-crash/39488067#39488067 Цитата I have the same issue, added the NSCameraUsageDescription in info.plist, but still crashes with the same message. Have you managed to solve it? You have to add this below key in info.plist. Privacy - Camera usage description или для RAD проектов это переименование не подходит? Изменено 27 октября, 2016 пользователем Kitty Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 Переименование не к чему не приводит. В 64 bit приложении когда пытаюсь воспользоваться галереей или сделать фото, то приложение не всегда падает, иногда выдает: Error: Invalid class typecast Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 (изменено) Замена TActionList кодом в 64 битном приложении тоже не помогла: http://docwiki.embarcadero.com/RADStudio/XE8/en/Taking_Pictures_Using_FireMonkey_Interfaces чего то проекту 64 bit не хватает... Изменено 27 октября, 2016 пользователем Kitty Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 Последовательность действий (на стенде EL Capitan): 1. Деплоим на телефон 32 битную версию в релизе. 2. При обращении к галерее/фото видим окно с просьбой разрешить обращение к галереи. Соглашаемся. Все работает. 3. Деплоим поверх версию в 64 бита тоже в релизе. При обращении к галерее никаких запросов уже нет и все также четко работает. 4. Полностью удаляем приложение с устройства. 5. Деплоим начисто 64 битную версию. При обращении к галереи приложение сразу падает. Видимо откомпилированный 64 битный код не может вызвать окно запроса с разрешением использовать галерею/фото. Что еще можно попробовать т.к. для публикации в app store требуется именно 64 битная версия приложения? Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 Забыла добавить что тестировалась на двух телефонах iPhone 5 и 5s. Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 октября, 2016 Автор Поделиться Опубликовано 27 октября, 2016 (изменено) Дополнительно выяснилось, что если деплоить в режиме дебаг 64 bit, то все работает. Если деплоить в режиме релиз, то приложение падает при обращении к фото/галереи. Ключи в обоих конфигурациях одинаковые... Изменено 27 октября, 2016 пользователем Kitty Цитата Ссылка на комментарий
Вопрос
Kitty
Пустое приложение. Код из документации. Попытка получить фото с камеры:
void __fastcall TForm1::TakePhotoFromCameraAction1DidFinishTaking(TBitmap *Image) { Image1->Bitmap->Assign(Image); }
При нажатии на кнопку приложение вылетает. Кому нибудь удавалось получить фото в С++ Builder Берлин в iOS? Спасибо.
Ссылка на комментарий
Лучшие авторы в вопросе
10
20
32
7
Популярные дни
3 окт
27
4 окт
20
6 окт
7
26 окт
7
Лучшие авторы в вопросе
Brovin Yaroslav 10 постов
Равиль Зарипов (ZuBy) 20 постов
Kitty 32 постов
Pax Beach 7 постов
Популярные дни
3 окт 2016
27 постов
4 окт 2016
20 постов
6 окт 2016
7 постов
26 окт 2016
7 постов
Популярные посты
Brovin Yaroslav
Taking Pictures Using FireMonkey Interfaces
Pax Beach
Это не из-за платформы. Обсуждали на форуме несколько раз уже эту проблему — проблема в том, что работа с UI и Action идет в разных потоках. Получение снимка через Action Menu я делаю так pro
Равиль Зарипов (ZuBy)
ну желательно обернуть, т.к. это нативная штука. что там творится в недрах не видно. хуже не будет, но и не факт что поможет.
Изображения в теме
78 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.