Xcode 6でプロジェクトを実行していると、多くの奇妙なエラーが発生します。
Parse Issue - Unknown type name 'NSString'
Format argument not an NSString
Could not build module Foundation
Could not build module QuartzCore
これらのエラーはすべて、CAMediaTiming.h、NSObjCRuntime.h、NSZone.h、NSObject.h、CALayer.hなどのAppleのヘッダーファイルで発生します。
残念ながら、ここでの回答: ios-NSObjCRuntime、NSZone、およびNSObjectの解析の問題 は私には機能しませんでした。
これらのエラーを修正することをどのように推奨しますか?
問題は、プロジェクトに.c
ファイルがいくつかあることでした。どうやら、Xcode6は.c
ファイルが好きではないようです。
.c
ファイルの拡張子を.m
に変更しましたが、Xcode6は再び満足しています。
このエラーは、Objective-CコードをインポートするPrefixHeaderファイルと、プロジェクト内のいくつかのプレーンCファイルがある場合に発生する可能性があります。これは、CファイルがObjective-Cをインポートしようとするためです。
修正するには、Objective-cのインポートを次のようにラップします。
#ifdef __OBJC__
#import <OOObjectiveCClass.h>
#endif
プレフィックスヘッダーファイルのパスが[ビルド設定]タブに正しく配置されているかどうかを確認します。次のリンクで完全な回答を参照してください。
Xcode 8.3.3を使用していますが、この問題も発生します。ファイルを選択し、Xcodeの右側のパネルの[IDとタイプ]部分で[タイプ]から[Objective-C++]を選択することでこの問題を解決します。