Multiline
The 90% unavailable part is what has me concerned. Usually if you were running into a bug this would fail 100% of the time. Is there any more information or logs that you can share when you run into a connection issue with NEVPNManager? BlockQuote - After many tests, it was found that 90% of the expressions were not accurate. It should be 100% unable to access the Internet.
The newly discovered situation is that when I use NEVPNManager to connect to the VPN on a 4G network, I cannot access the Internet. I turn on the WiFi at this time, and then turn off the WiFi, after which the VPN can access the Internet.
After turning WiFi on and then turning off WiFi, the following log will be triggered. The previous NEVPNManager logs are the same, no matter if I turn on vpn in my app or turn on vpn in system settings.
nesessionmanager log - https://developer.apple.com/forums/content/attachment/a22d9951-eec8-4e34-94e2-c7860576710c
Post
Replies
Boosts
Views
Activity
@meaton I recently updated the iOS system to 14.0.1. After connecting to vpn, the network is available.
Apple fixed this issue?
@meaton
Reproduce the issue. Note the timestamp. Trigger an iOS sysdiagnose.
Once you have the sysdiagnose there is a file in this archive called system_logs.logarchive. Using your timestamp checkout the logs in this file. The routing table should be visible here when a network interface change is made. - Unfortunately, this issue still exists in iOS 14.0.1 system I followed the documentation - https://download.developer.apple.com/iOS/iOS_Logs/sysdiagnose_Logging_Instructions.pdf and failed to trigger Sysdiagnose
I think that when the VPN is connected, the iPhone’s network is interrupted and then reconnected when the VPN tunnel is successfully established, and iOS14 may not interrupt the network connection.
After testing, I found that if after the first VPN connection, if the network is found to be interrupted, then turn on the airplane mode, and then immediately turn off the airplane mode, which is equivalent to the user manually disconnecting and reconnecting, then the VPN network is immediately available.
I think that when the VPN is connected, the iPhone’s network is interrupted and then reconnected when the VPN tunnel is successfully established, and iOS14 may not interrupt the network connection.
After testing, I found that if after the first VPN connection, if the network is found to be interrupted, then turn on the airplane mode, and then immediately turn off the airplane mode, which is equivalent to the user manually disconnecting and reconnecting, then the VPN network is immediately available.
In the personal VPN of iOS14.2Beta, I will be prompted to enter the vpn password every time I log in. I have always saved the vpn password in the keychain. I have not had this issue in iOS14.0.1 and previous versions.
iPhoneX
IPsec personal vpn
iOS 14.0/14.0.1
Network Extension
NEVPNManager+NEVPNProtocolIPSec
In iOS14.0.1, occasionally personal VPN is unavailable, but it is available in most cases.
In iOS14.0, VPN is unavailable in most cases
@meaton
I have downloaded and installed Profiles, can I only view the log through sysdiagnose? Can I view it directly in the console in real time?
@ChristophBr
Bug seems to be fixed in 14.2 Beta 2! iPad Pro Beta 2
personal vpn
Network Extension
NEVPNManager+NEVPNProtocolIPSec
I start personal vpn, but the system prompts me to enter the vpn password. This phenomenon did not appear in previous system versions.
Is there a bug in the keychain?
Did you have this issue?
You should retest with the just-released Xcode 12.2b3. There’s some evidence in your crash report that suggests that this bug is fixed there (r. 67673901). Thank you for your sharing.
I have used a custom script to notarize and succeeded, I will try to use Xcode 12.2b3 later.
After testing, I found that when my system language is set to English, files such as .txt, .sh can be shared, but when I set the system language to Chinese, they cannot be shared
<key>NSExtensionActivationSupportsAttachmentsWithMinCount</key>
<integer>1</integer>
<key>NSExtensionActivationSupportsText</key>
<false/>
Delete these configurations first, and restart the computer, it will be displayed in the sharing menu.
I find legacy build system will be deprecated. But when I switch to new build system and run, xcode just stuck. Cpu cost mount to 100% and even higher. Any one has idea how to solve this? Did you solve it?
objc (void)load
{
Method originAddObserverMethod = class_getInstanceMethod(self, @selector(presentViewController:animated:completion:));
Method swizzledAddObserverMethod = class_getInstanceMethod(self, @selector(xp_presentViewController:animated:completion:));
method_exchangeImplementations(originAddObserverMethod, swizzledAddObserverMethod);
}
I found the code that caused the bug!
This is because it is compatible with iOS13!
objc
viewControllerToPresent.modalPresentationStyle = UIModalPresentationFullScreen;