Что такое флаги компоновщика и где можно узнать о них больше?
В настоящее время я работаю над новым проектом Swift в Xcode 8.3.3. Вчера после добавления UMMobclick.framework
, который предоставляет сервис анализа для приложения и заканчивает другие мелочи, как говорит документ, возникла ошибка компоновщика:
No such file or directory: 'Security'
Часть журнала ошибок вокруг 'Security'
ключевое слово цитируется ниже:
-framework ObjcExceptionBridging -framework XCGLogger -framework Alamofire -framework FMDB -framework Kingfisher -framework MBProgressHUD -framework MJRefresh -framework ObjcExceptionBridging -framework XCGLogger -ObjC -Objc -all_load -force_load -framework Security -licucore -lsqlite3
Я понятия не имел, что не так. Поэтому я удалил Security.framework
от Build Phases
и построить снова. Взрыв! No such file or directory: 'licucore'
, Потратив несколько часов, я натолкнулся на отличную идею. Кажется, что фреймворк или lib после множества флагов -ObjC -Objc -all_load -force_load
как правило, не найден Поэтому я убрал все флаги. Сборка может пройти, но разбилась при запуске. Исключение des ниже:
-[xxx.AppDelegate addFoObserverSelector:template:type:callback Block:]: unrecognized selector sent to instance 0x175484f0
Поэтому я добавляю флаг компоновщика один за другим. Каждый раз после добавления флага я запускаю проект. Наконец, после -Objc
а также -all_load
было добавлено, это сработало. Нет ошибок, нет сбоев.
Аааа, слишком много разговоров.
Мой вопрос в том, что делают эти надоедливые флаги. И где я могу узнать о них больше? Чтобы избежать будущих неприятностей.