gpt4 book ai didi

ios - 无法保存 NETunnelProviderManager 的配置

转载 作者:行者123 更新时间:2023-12-02 03:23:28 28 4
gpt4 key购买 nike

我收到错误:

错误域=NEVPNErrorDomain代码=5“权限被拒绝”

当我尝试保存 NETunnelProviderManager 上的配置时。这是我的代码:

NETunnelProviderManager * man = [[NETunnelProviderManager alloc] init];
NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init];

[protocol setServerAddress:@"aaa.bbb.ccc.ddd"]; // not actual value
[protocol setUsername:@"testuser"];

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];

NSData *data = [[NSData alloc] init];
[dictionary setObject:@"UUID" forKey:(id)kSecAttrService];
[dictionary setObject:data forKey:(id)kSecValueData];
[dictionary setObject:(__bridge id)kSecAttrAccessibleAlways forKey:(id)kSecAttrAccessible];
[dictionary setObject:(__bridge id)kSecClassGenericPassword forKey:(id)kSecClass];
[dictionary setObject:(__bridge id)kCFBooleanTrue forKey:(id)kSecReturnPersistentRef];

CFTypeRef passwordRef = nil;

OSStatus delStatus = SecItemDelete((__bridge CFDictionaryRef)dictionary);
OSStatus status = SecItemAdd((__bridge CFDictionaryRef)dictionary, &passwordRef);

[protocol setPasswordReference:(__bridge NSData * _Nullable)(passwordRef)];

man.protocolConfiguration = protocol;
man.localizedDescription = @"My VPN";
man.onDemandEnabled = NO;
man.enabled = YES;

[man saveToPreferencesWithCompletionHandler:^(NSError *err) {
NSLog(@"saved preferences: error = %@", err);
}];

我在“功能”中启用了个人 VPN,并且在应用程序和网络扩展中都有 .entitlements 文件。

最佳答案

听起来您的应用无法(没有权限)读取或写入网络扩展首选项。

在developer.apple.com上检查您的应用程序的ID,它是否使用网络扩展和个人VPN。在您的 Xcode 项目目标中,不要使用自动配置文件处理。而是在“配置配置文件”部分手动创建它们。希望这有帮助!

关于ios - 无法保存 NETunnelProviderManager 的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41957328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com