Я пытался следовать некоторым примерам, чтобы создать действия для openwhisk. К сожалению, большинство примеров написано на JS, поэтому пришлось переписать их на Swift. Это работало довольно хорошо, пока я не захотел написать асинхронные действия.
Первая проблема, с которой я столкнулся, это НОД. Реализация Openwhisks Swift работает на Linux, поэтому для использования GCD необходимо импортировать библиотеку libdispatch. Конечно, я не могу изменять модули, которые openwhisk загружает во время выполнения Swift. В конце концов я наткнулся на песочницу IBM Bluemix, где узнал, что есть модуль Dispatch, который должен предоставлять доступ к функциям, подобным GCD. Однако, хотя я могу создавать очереди, время отправки, закрытие и т. д., я не мог понять, как это на самом деле отправить. dispatch_async, dispatch_after и т. д. — все это неизвестные символы.
Хотя я все еще не могу решить первую проблему, я борюсь с Whisk API. В JS есть команды whic.async() и whip.done(). В Свифте нет.
С уважением, Виктор