Xcode 6.3で更新した後、プロジェクトで奇妙なことが見つかりました。
以下のコードは、「モジュール 'AgendaFramework'をビルドできませんでした」という解析の問題を引き起こします。AgendaFrameworkは、ios8のカスタム埋め込みフレームワークです。
@import MyEmbededFramework;
エラーマーカーは次のようになります。
インデックス作成中に問題が発生します。エラーや警告なしで、建物全体を正常に実行できます。ビルド、アーカイブ、デバイスでの実行、展開、App Storeへの提出ができます。
ただし、拡張機能に属するクラスを編集すると、エラーマーカーが表示されます。組み込みフレームワークに明示的にリンクされた拡張機能(ウィジェット)。 (@importステートメントを使用するとき、それを行う必要がないことを知っています。)
この状態では、有効なコンテンツアシスタントを受け取ることができませんでした。
Importステートメントを古いスタイルに置き換えた後、問題はなくなりました。
#import <AgendaFramework/AgendaFramework.h>
この問題を引き起こすプロジェクトと非常によく似たトポロジを持つ他のプロジェクトがいくつかありますが、大丈夫です。この問題の原因となるプロジェクトは1つだけです。すべての詳細ビルド設定を比較しましたが、手がかりが見つかりませんでした。
私は試した:
どんな手がかりも歓迎します。ありがとう!
電源を入れているように見えます: フレームワークモジュールに非モジュールインクルードを許可する 私のためにこの問題を解決しました。
この問題は、。xcodeprojファイルと同じフォルダーにフレームワークを追加する、サブフォルダーなどを追加しないことで解決できる場合があります。
質問のコメントとして指摘しているJonnyの功績。
私のために働いたソリューション:システムスタイルのインポートに対するフレームワークヘッダーファイルの向きの勤勉... #import <CoreXLib/CoreThreads.h>
物語:
私の場合、フレームワークと脆弱なXcodeプロジェクトのパス名を介して、コードイーザー全体の一般的なデザインパターンの一部を再利用できることが明らかになったため、私が構築したフレームワークはいくつかのコードベースの組み合わせから来ました。
フレームワーク「CoreXLib」を構築したとき、Xcodeに典型的なCocoaフレームワークに再編成しました。インポートを次から変更しました:
#import "CoreTypeAliases.h" // project local style
に
#import <CoreXLib/CoreTypeAliases.h> // system or framework style
適切に。レゴフォルダーにパブリックヘッダーを含むCoreXLib.frameworkを使用したいくつかのプロジェクトが機能しました...
残念ながら、公開されていたヘッダーの一部は完全には更新されませんでした。フレームワークのクラスは、ローカルスタイルでうまく構築されています。それを使用するすべてのプロジェクトはこの時点まで機能しましたが、そうではなかったものに遭遇しました...エラーは@jeeeyulによって指摘されました
そのため、このスレッドを見つけて@kwzの解決策を見つけ、それが私の場合は何もしないようにした後、この問題を解明しようとしていたときにコードを磨き上げることにしました。研磨では、#imports
は、Xcodeの検索および置換で必要なように変更されませんでした。いくつかの手詰まりの時間...
all CoreXLibプロジェクトヘッダー(公開ヘッダーだけでなく、自己防衛)のallの参照の修正後、問題に戻りました... 埋め込み ...という問題のあるプロジェクトにCoreXLib.frameworkを新たに準拠させ、問題は解消されました! Allow Non-modular Includes...
フレームワークプロジェクトとフレームワークをリンクしたプロジェクトの両方で、両方とも「いいえ」でした。 「はい」と「いいえ」の両方に反転しても、いくつかのテストで違いはありませんでした。 のみその他の変更は#import "..."
から#import <CoreXLib/...>
変更。
だから時々Apple ????がバグをノックする???????? off ...
あなたはこれを試すことができます、それは私の仕事です。プロジェクトに関するDerivedDataディレクトリを削除します。 ステップバイステップ
今日、これらの手順でこの問題を解決しました:
プロジェクトをビルドしようとすると、問題はすぐに消える可能性があります。