Ответ 1
Разница между статической и динамической библиотекой в основном там, где они живут, статичная библиотека будет жить внутри двоичного файла вашего приложения, а динамическая библиотека будет жить в системе (iPhone), которая запускает ваше приложение. нет большой разницы, насколько трудно. Если вы хотите перейти на динамический маршрут на os x, например, вы можете сначала скомпилировать файл .dylib в отдельный проект. Затем скопируйте свой новый .dylib файл в /usr/lib или аналогичное местоположение, которое является частью вашего системного пути. Затем вам нужно будет скопировать связанные файлы заголовков, которые знают, как разговаривать с вашим новым файлом .dylib в вашей папке /usr/include. На этом этапе вы можете импортировать указанные файлы заголовков в xcode с помощью угловых скобок, например:
#import <my_dylib_header_file.h>
в статическом мире, однако, вы просто перетащите свой файл .dylib в xcode, затем скопируйте связанные файлы заголовков в исходную папку и затем импортируете с помощью кавычек следующим образом:
#import "my_dylib_header_file.h"
Преимущество статического импорта заключается в том, что библиотека становится запекаемой в ваш конечный продукт, в отличие от динамической ссылки, которая потребует установки dylib в системе до того, как двоичный файл сможет нормально работать (подумайте DLL на окнах). Недостатком статического импорта является то, что окончательный двоичный файл больше, так как он содержит больше кода.
Преимущество динамического импорта заключается в том, что двоичный файл меньше, а dylib может быть обновлен без обновления самого двоичного файла.
Однако, исходя из ваших вопросов, я не думаю, что что-то из этого имеет значение для вашего проекта. У вас есть исходный код. Это означает, что создание dylib совершенно не нужно для вашей цели, вы можете рассматривать исходный код как статическую библиотеку, просто добавляя его в свой проект xcode. Если бы я был вами, я бы добавил исходный код spice к моему проекту xcode и забыл о создании dylib. Оттуда я импортировал файлы и делал бы звонки им из swift. Есть много потоков, которые объясняют, как вызовы c-функций или классы objective-c от swift, поэтому я не буду вдаваться в это здесь, вместо этого я отсылаю вас к другому ответу: Swift: Как вызвать функцию C, загруженную из dylib