

AdMobを導入するためにGoogleMobileAdsフレームワークをプロジェクトに追加しViewControllerに

[code]

    @import GoogleMobileAds;
    
[/code]

と記述したところ Use of '@import' when modules are disabled というエラーが出てしまいます。

調べてみたところ Enable Modules(C and C-Objective-C) を NO から YES
にすればエラーが消えると書いてあったので試してみましたがエラーは消えず。

他に考えられる原因は何でしょうか？アドバイスいただけると助かります。


CC BY-SA 3.0
2016-03-20T02:34:06.417
23288
2023-02-27T08:31:16.240
2016-03-20T04:58:29.960
76
14860
question
objective-c admob
エラー　Use of '@import' when modules are disabled


Objctive-Cなら、  
`@import <GoogleMobileAds>`または`@import
"GoogleMobileAds"`なのではないでしょうか？投稿時の記述ミスでしたら済みません。

それ以外には、左側のファイルインスペクターでプロジェクトを選択、メインビューのビルドセッティングで、Build Phasesをクリック、Link
Binary With Librariesに該当フレームワークが含まれているか確認してみてください。


CC BY-SA 3.0
2016-03-20T16:34:35.813
23305
2016-03-20T16:34:35.813
14745
23288
answer


コメントに示したように現在のObjective-C++では、`@import`でのModuleのimportはサポートされていないようです。

framework中から適切な.hファイルを探し出して、旧来の`#import`でimportしてやれば大丈夫のはずです。[こちらの記事](https://stackoverflow.com/questions/28572343/admob-
sdk-ios-file-not-found)によれば、

[code]

    #import <GoogleMobileAds/GoogleMobileAds.h>
    
[/code]

でimportできるように書かれています。お試しください。


CC BY-SA 3.0
2016-03-21T12:27:32.553
23319
2016-03-21T12:27:32.553
2017-05-23T12:38:56.467
-1
13972
23288
answer


こちらより引用:  
[STEP3: SDKの初期化コードを追加する | KARTE Developer
Portal](https://developers.karte.io/docs/setup-react-native-
sdk-v2#step3-sdk%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B)

AppDelegate クラスが Objective-C++ (.mm) に書かれている場合に `Use of '@import' when C++
modules are disabled, consider using -fmodules and -fcxx-modules`
のエラーが出る場合があります。  
その場合はアプリケーションの Targets -> Build Settings -> Apple Clang - Custom Compiler
Flags > Other C++ Flags に -fcxx-modules フラグを追加してビルドすることでエラーを消すことができます。

設定画面については、以下のスクリーンショットを参照してください。

[![screenshot](https://i.stack.imgur.com/tLFSS.png)](https://i.stack.imgur.com/tLFSS.png)


CC BY-SA 4.0
2023-02-25T10:23:54.297
94001
2023-02-27T08:31:16.240
2023-02-27T08:31:16.240
3060
57268
23288
answer