Невозможно использовать общую структуру, созданную Swift, в Objective-C

Это вариант старой проблемы «dyld: библиотека не загружена: @rpath/libswiftCore.dylib». Я почти уверен, что знаю, в чем проблема, но у меня нет идей, как ее исправить.

Я буду ссылаться на проект, над которым работаю, чтобы не загромождать вопрос огромным блоки кода.

Проект генерирует dylib, который можно бросить в другой проект, и абстрагировать огромный блок кода для разработчиков (уровень связи системы клиент/сервер).

Я хочу, чтобы фреймворк был максимально простым в использовании; даже если это означает сделать из него большую жирную свинью. Я просто хочу, чтобы люди могли добавить его в свой проект (Swift или ObjC) и не беспокоиться о том, чтобы экспериментировать с различными вариантами для таких вещей, как симуляторы и устройства.

Я использую вариант старого Wenderlich script, чтобы липировать исполняемые файлы для x86 и ARM вместе.

Обратите внимание на закомментированный раздел. Там будут драггоны.

Работает отлично. В Свифт.

Objective-C, не очень. Это из-за различных фреймворков Swift, которые необходимо перенести в программу Objective-C.

Я включил настройку встроенных фреймворков, и цель покорно предоставила мне все мои фреймворки.

Проблема в том, что у каждой архитектуры есть фреймворки ТОЛЬКО для этой архитектуры. Это не «толстые» фреймворки, поэтому мой «толстый» фреймворк, созданный вручную, действительно довольно тощий, потому что он будет работать только на определенных архитектурах.

Мой вопрос заключается в том, есть ли способ гарантировать, что фреймворки Swift, которые я встраиваю, могут быть сделаны «толстыми», или мне просто нужно сдаться и упаковать различные варианты фреймворка для программистов на Objective-C.

Любые идеи?


person Chris Marshall    schedule 19.01.2017    source источник


Ответы (1)


Я отказываюсь от этого придурка.

Ты не можешь уйти отсюда.

Эта библиотека будет только для Swift.

person Chris Marshall    schedule 20.01.2017
comment
Существуют всевозможные проблемы с совместным использованием этих библиотек, созданных Swift. Они также не любят, когда их архивируют. Я подозреваю, что CocoaPods решит эти проблемы. - person Chris Marshall; 22.01.2017
comment
Я скажу, что у моих старых статических библиотек Objective-C никогда не было таких проблем, но вы не можете создавать статические библиотеки на Swift, и я решил написать это на Swift. - person Chris Marshall; 22.01.2017