Вы можете использовать условную компиляцию.
Добавьте -DHAS_APP_DELEGATE
(или как бы вы хотели это называть) в настройку сборки "Другие флаги C" для цели, у которой есть AppDelegate.
Затем вы можете условно скомпилировать ваш код ObjC.
#ifdef HAS_APP_DELEGATE
// Call to framework that depends on AppDelegate
#else
// Do something else instead
#endif
Вы можете игнорировать ветвь else, если вы просто хотите пропустить вызов к фреймворку.Вы также можете использовать #ifdef
при импорте, чтобы импортировать каркас только тогда, когда его можно использовать.
Вот вопрос, который может содержать и другие подходы: Условная проверка компиляции для каркаса перед импортом