Я думаю, что ваше решение достаточно и является общепринятым.Одним из альтернативных вариантов может быть размещение всех заголовочных файлов в директории-зонтике, которая может описывать интерфейс для использования зависимых библиотек, и указание этого в вашем пути включения.Я вижу, что это похоже на / usr / include.Другой альтернативой, которую я никогда лично не пробовал, но, думаю, сработало бы создание ссылок на все заголовки thirdPartyLibrary из MyProject , чтобы они казались членами MyProject .Вы могли бы сделать это, перетащив их из какого-либо места в MyProject , а затем отменив выбор флажка, который говорит, что нужно скопировать их в каталог верхнего уровня проекта.С одной стороны, это кажется мне выполнимым, потому что вы явно заявляете, что ваш проект зависит от этих конкретных классов, но он не несет прямой ответственности за их компиляцию.
Одна из вещей, которую следует опасатьсяпри решении этой проблемы это зависит от конкретных особенностей реализации XCode для автоматического поиска библиотек.В то же время это может показаться безобидным, но рабочие процессы, которые он использует для создания проектов, могут изменяться с помощью обновлений и могут привести к поломке вашего проекта тонкими и запутанными способами.Если бы они не были четко определены в какой-либо документации, я бы воспринял любой эффект как случайность и не стоит использовать в своем проекте, когда вы можете применить желаемое поведение другими способами.В конце вам, возможно, придется определить соглашение, которому вы будете следовать, или найти соглашение, которое вы принимаете от кого-то другого.Поступая так, вы можете быть уверены, что если ваше решение задокументировано и воспроизводимо, любой разработчик (в том числе и вы сами в будущем) может его взять и продолжить, не споткнувшись о нем, и что оно выдержит испытание временем.