74358


Networkframeworkの以下のクラスをObjective-Cで試そうとしています。

<https://developer.apple.com/documentation/networkextension/neapppushmanager?language=objc>

Test.h

[code]

    #ifndef Test_h
    #define Test_h
    
    #import <Foundation/Foundation.h>
    @import NetworkExtension※１
    #import <NetworkExtension/NEAppPushManager.h>※２
    
    @interface Test : NSObject
    @end
    
    #endif /* Test_h */
    
[/code]

Test.m

[code]

    #import "Test.h"
    
    @implementation Test
    
    - (id) init {
        if (self = [super init]) {
            
            if (@available(iOS 14.0, *)) {
                [NEAppPushManager loadAllFromPreferencesWithCompletionHandler:^(NSArray<NEAppPushManager *> * _Nullable managers, NSError * _Nullable error) {
                    if (error) {
                        NSLog(@"Load Error: %@", error.description);
                    }
                    
                    NEAppPushManager *manager;
                    if (managers.count > 0) {
                        manager = managers[0];
                    }else {
                        manager = [[NEAppPushManager alloc] init];
                    }
                    
                    //... your code here...
                }];
            } else {
                // Fallback on earlier versions
            }
            
                
            
        }
        return self;
    }
    @end
    
[/code]

※２としていたのですが、  
`「Please import the NetworkExtension module instead of this file
directly.」`というエラーが発生したため、  
NetworkExtensionのモジュールを直接インポートするような内容であったため※１に変更したところ、  
`「Use of '@import' when modules are disabled」`のエラーが出ております。  
上記について、Build Settings->Apple Clang - Language - ModulesのEnable Modules(C and
Objective-C)の設定がNoとなっていたのでYesに変更したのですが、上記エラーが解消されません。

何か他に変更がいるのでしょうか？  
そもそも※１のエラーの解釈が間違っていますでしょうか？

Xcode：12.4


CC BY-SA 4.0
2021-03-02T05:24:52.453
74356
2021-03-02T08:09:29.110
44177
question
objective-c xcode12
Objective-Cの「Please import the NetworkExtension module instead of this file directly.」エラーについて


自己解決しました！

[code]

    #import <Foundation/Foundation.h>
    #import <NetworkExtension/NetworkExtension.h>
    
[/code]

上記のimportでコンパイルできました。


CC BY-SA 4.0
2021-03-02T08:09:29.110
74358
2021-03-02T08:09:29.110
44177
74356
answer