сгенерировать файл .xcframework с помощью gomobile

#ios #xcode #go #gomobile

#iOS #xcode #Вперед #gomobile

Вопрос:

Возможно ли сгенерировать файл .xcframework с помощью gomobile?

Я создал файл .framework с помощью gomobile с помощью следующей команды:

привязка к gomobile -целевой ios -o ../frameworks/MyFramework.framework

После этого я попытался создать файл .xcframework с помощью этой команды

xcodebuild -создать-xcframework -фреймворк «MyFramework.framework» — вывести «MyFramework.xcframework»

Но он показывает ошибку:

ошибка: двоичные файлы с несколькими платформами не поддерживаются ‘/Users/nicco/MyFramework/MyFramework.framework/MyFramework’

Похоже, проблема в процессе генерации фреймворка gomobile.

Итак, я вижу 2 решения:

  1. Сгенерировать файл .xcframework с помощью gomobile.
  2. Измените процесс сборки .framework, чтобы можно было конвертировать сгенерированный файл .framework в .xcframework

Как это сделать?

Ответ №1:

это может помочь сгенерировать и xcframework

вам необходимо сгенерировать фреймворк для каждой архитектуры

 mkdir arm64
gomobile bind -ldflags="-w -s" -target=ios/arm64 -o ./arm64/Openpgp.framework github.com/jerson/openpgp-mobile/openpgp

mkdir amd64
gomobile bind -ldflags="-w -s" -target=ios/amd64 -o ./amd64/Openpgp.framework github.com/jerson/openpgp-mobile/openpgp
  

а затем просто объедините с помощью команды xcode

 xcodebuild -create-xcframework 
    -framework ./arm64/Openpgp.framework 
    -framework ./amd64/Openpgp.framework 
    -output Openpgp.xcframework
  

и это все, надеюсь, это поможет