Xcode にスタティック ライブラリ プロジェクトがあり、ビルド フェーズの Copy Headers 部分を利用して、特定のクラスのみを別のプロジェクトからアクセスできるようにし、他のすべてのクラスがスタティック ライブラリ プロジェクトの外部からアクセスできないようにしています。
ビルドしたライブラリ (.a ファイル) にリンクする View Controller プロジェクトを作成しました。Xcodeのヘッダーのコピー機能によって自動生成されたインクルードフォルダーに存在するヘッダーをインポートすると(これは現在パブリックヘッダーファイルであると想定しています)、それをヘッダーAと呼びましょう。レキシカルまたはプリプロセッサの問題というエラーが返されます。ヘッダー A によってインポートされたが、ヘッダーのコピー セクションに追加されていないヘッダー ファイルを見つけることができません。これは、ユーザーにアクセスさせたくないためです (インクルードに追加していないため、プライベート ヘッダーであると想定しています)。ヘッダー B と呼ぶことにします)。
ヘッダー ファイルをインクルード パスにコピーすると、Xcode によりナビゲーションが回避しようとしているコードを表示できるようになります。プライベート クラスにアクセスできる特定のクラスへのアクセスのみを許可する方法はありますか? クラスを Public および Private として宣言する特定の方法はありますか?
私はあなたの助けに感謝します!