web-dev-qa-db-ja.com

Xcode6-不明なタイプ名 'NSString' /予期される識別子または '('

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の解析の問題 は私には機能しませんでした。

これらのエラーを修正することをどのように推奨しますか?

9
GangstaGraham

問題は、プロジェクトに.cファイルがいくつかあることでした。どうやら、Xcode6は.cファイルが好きではないようです。

.cファイルの拡張子を.mに変更しましたが、Xcode6は再び満足しています。

19
GangstaGraham

このエラーは、Objective-CコードをインポートするPrefixHeaderファイルと、プロジェクト内のいくつかのプレーンCファイルがある場合に発生する可能性があります。これは、CファイルがObjective-Cをインポートしようとするためです。

修正するには、Objective-cのインポートを次のようにラップします。

#ifdef __OBJC__
#import <OOObjectiveCClass.h>
#endif
18
olynoise

プレフィックスヘッダーファイルのパスが[ビルド設定]タブに正しく配置されているかどうかを確認します。次のリンクで完全な回答を参照してください。

この投稿を確認してください

6
Omar Rehman

Xcode 8.3.3を使用していますが、この問題も発生します。ファイルを選択し、Xcodeの右側のパネルの[IDとタイプ]部分で[タイプ]から[Objective-C++]を選択することでこの問題を解決します。

1
sailor