shtrih-m / fr_drv_ng

релизы и поддержка драйвера fr_drv_ng
35 stars 5 forks source link

framework with bitcode for ios #272

Open trufanov-w opened 10 months ago

trufanov-w commented 10 months ago

Добрый день. У нас кроссплатформенный проект на QT 5.15 и мы используем ваши библиотеки. Сейчас есть задача обновить библиотеки, но при сборке приложения в testflight я получаю ошибку, что в библиотеках classic_fr_drv_ng и cppbase_fr_drv_ng нет bitcode. Можете ли вы собрать библиотеки для ios с флагом ENABLED_BITCODE, а так же добавить в библиотеки Bundle identifier в Info.plist

swex commented 10 months ago

Здравствуйте! Не силён в mac специфичных флагах, подскажите как именно включить то что вам необходимо:

  1. О каких сборках речь? Под iOS или под x86_64 darwin? Мы используем cmake для сборки под все платформы:
  2. Для bitcode, кажется, все что нужно это собирать с флагом -DENABLE_BITCODE? В сборках под iOS у нас есть опция:
    set(XCODE_ATTRIBUTE_ENABLE_BITCODE YES)

    есть уже 2 issue где ребята вроде как всё решили на своей стороне: https://github.com/shtrih-m/fr_drv_ng/issues/79 и https://github.com/shtrih-m/fr_drv_ng/issues/214 может и вам поможет?

trufanov-w commented 10 months ago
1. О каких сборках речь? Под iOS или под x86_64 darwin?
   Мы используем cmake для сборки под все платформы:

Мы используем iOS

2. Для bitcode, кажется, все что нужно это собирать с флагом `-DENABLE_BITCODE`? В сборках под iOS у нас есть опция:

В Xcode нужно в разеделе Build Settings установить в строке Enabled bitcode YES 64298891-f0ae2a00-cf2b-11e9-8354-13742a5535e3

есть уже 2 issue где ребята вроде как всё решили на своей стороне: #79 и #214 может и вам поможет?

#79 Это мы и просили, нужно обновить эту библиотеку #214 Это работает если сразу запускать на устройство. Если выкладывать в TestFlight то уже не работает.

swex commented 10 months ago

просьба проверить релиз https://github.com/shtrih-m/fr_drv_ng/releases/tag/1.6.0-19-g75d85c5 вроде как добавлен bitcode и bundle identifier

trufanov-w commented 9 months ago

Проверил. При попытке выгрузить в TestFlight получаю вот такое сообщение bitcode bundle could not be generated because '/Users/XXX/Frameworks/classic_fr_drv_ng.framework/classic_fr_drv_ng' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/Users/XXX/Frameworks/classic_fr_drv_ng.framework/classic_fr_drv_ng' for architecture arm64 Как будто нет биткода и не та архитектура, нужна  arm64

swex commented 9 months ago

нуу не знаю. проверял через

$ otool -l classic_fr_drv_ng|grep -i llvm
  segname __LLVM
   segname __LLVM

значит сегмент __LLVM есть, а это и есть сегмент с bitcode. На сколько я понимаю понятие архитектура к биткоду неприменимо т.к. bitcode это промежуточное представление вроде AST, которое без привязки к архитектуре.