Я создал новый проект xCode (swiftUI) и следовал инструкциям по установке Indy iOS SDK. Ссылка: https://github.com/hyperledger/indy-sdk/blob/master/wrappers/ios/README.md
Модуль установлен правильно, и я могу вызывать различные функции, предлагаемые SDK.
Хочу последовательно выполнить следующие операции:
- Создать кошелек
- Открыть кошелек
Я попытался вложить две операции:
let error = indy_create_wallet(0, walletConfig, credentials, {(commandHandle, err) in
print("Create wallet error: ", err)
let error = indy_open_wallet(1, self.walletConfig, self.credentials, {(commandHandle2, err2, handle) in
print("Open wallet error: ", err2)
})
})
Но в этом случае я получаю сообщение об ошибке: указатель на функцию C не может быть сформирован из замыкания, которое захватывает контекст.
Я попытался использовать DispatchGroup, но снова получаю ту же ошибку, что и при вызове метода leave () для объекта внутри обратного вызова.
К сожалению, я не могу использовать оболочку libindy-objc, потому что она несовместима с используемой мной версией swift.
Есть ли у кого-нибудь идеи о том, как я могу управлять этими обратными вызовами для последовательного выполнения операции создания и открытия кошелька? Спасибо!