利用NetworkExtension庫配置VPN,networkextensionvpn

來源:互聯網
上載者:User

利用NetworkExtension庫配置VPN,networkextensionvpn

VPN簡單說就是串連區域網路的一個通道。Ios8之後蘋果增加了一個VPN的介面NEVPNManager,它可以方便的添加VPN串連。

首先在你的Xcode內,TARGETS->Capabilities->開啟persion VPN

在項目中添加NetWorkExtension庫

 

引入標頭檔<NetworkExtension/NEVPNManager.h>以後

//建立管理對象

NEVPNManager *vpnManager = [NEVPNManager sharedManager];

從設定裡面載入VPN

  //給VPN配置資訊

        [manager loadFromPreferencesWithCompletionHandler:^(NSError * _Nullable error) {

            NEVPNProtocolIPSec *set =(NEVPNProtocolIPSec*) self.manager.protocolConfiguration;

            if(!set)

            {

                set = [[NEVPNProtocolIPSec alloc]init];

            }

            set.username = @"username";//VPN使用者名稱

            set.passwordReference = [@"password" dataUsingEncoding:NSUTF8StringEncoding];//VPN密碼

            set.serverAddress = @"ip";//ip地址

            set.sharedSecretReference = [@"SecretReference"  dataUsingEncoding:NSUTF8StringEncoding];

//            NEVPNIKEAuthenticationMethodCertificate:使用認證和私密金鑰作為身分識別驗證憑據。   

//            NEVPNIKEAuthenticationMethodSharedSecret:使用共用密鑰的身分識別驗證憑據

            set.authenticationMethod = NEVPNIKEAuthenticationMethodSharedSecret;

            set.useExtendedAuthentication = YES;//這是一個標誌指示如果擴充驗證將協商

            set.disconnectOnSleep = NO;//這個布爾表示是否VPN串連時,必須斷開裝置睡覺

            self.manager.protocolConfiguration = set;

            self.manager.localizedDescription = @"hrjd";//VPN的描述

            [self.manager setOnDemandEnabled:YES];

            [self.manager saveToPreferencesWithCompletionHandler:^(NSError * _Nullable error) {

              

                NSError * error1 ;

//串連VPN

                [manager.connection startVPNTunnelAndReturnError:&error1];

                if (error) {

                    NSLog(@"VPN串連失敗");

                }else{

                    NSLog(@"VPN串連成功");

                }

               

            }];

           

        }];

 

[vpnManager.connection stopVPNTunnel];

//斷開VPN

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.