2017-03-01 2 views
0

は最近、私はXcodeのがこのエラーを取得開始しました:Xcodeのエラー:セマンティック号、プロパティ 'classNameが' オブジェクトの種類には見られない 'GKEntity *'

Error Screenshot

これが 'className' のプロパティがNSObjectのに属します。 Here is the official documentation.

なぜこれが起こっているとどのように私は、(このプロパティを使用して回避せずに)このを解決するのですか?


奇妙なことは、まったく同じコードがMacOSの両方にとiOSの対象に数日前にうまく働いていたということです。それから、ビルドが正常に完了した後にこのエラーが表示され始めましたが、今はiOSターゲットがビルドされていません...

私は(1)私のderivedDataフォルダを何度もパージしました私はMacOSでXcodeのバージョン8.2.1を使用しています)そのすべて正しい順序で、(2)システムを再起動する、(3)のXcodeを再起動して、クリーンなチェックアウトをやって、ない成功...

10.12.3、私の展開ターゲットはiOSでは10.2、macOSでは10.12です。

+0

gameKitをプロジェクトとファイルの先頭にインポートしましたか? –

+0

なぜ以前はうまくいったのか分かりませんが、iOSでは動作しません。あなたがMacOS上でのみ利用可能なドキュメントを見れば、 –

+0

私は* GamePlayKit *をインポートしましたが、@ JamesPあなたは正しいです、私は気づいていません。 Derp! – ZanYzer

答えて

1

としては、classNameプロパティ上記のコメントで@JamesPが指摘し、解決策を見つけたが、明らかに、MacOSの10.0+ではなく、iOSの上でのみ存在する文書化されています私は気づきませんでした...

これは私の問題は、開発時に私の実装のターゲット設定をmacOSからmacOSとiOSに変更したことに起因することを意味します。

私は

NSStringFromClass([entity class]) 

@Russelからの回答でentity.classNameを交換することになったのObjective-Cを使用しているのでスウィフトでこれを解決する方法を示しています。

1

私はの理由を見つけることができませんなぜこのプロパティは削除されましたが、それは!

私はGet class name of object as string in Swift

String(describing: type(of: self)) 
+0

この外観は十分に簡単です、ありがとう! – ZanYzer

関連する問題