Post

Replies

Boosts

Views

Activity

Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
The day-to-day development is OK for me. I read the Filtering Network Traffic sample code , I found the following code to install System Extension: OSSystemExtensionRequest *req = [OSSystemExtensionRequest activationRequestForExtension:@"org.uc.UCTunnel.UCPacketTunnel" queue:dispatch_get_main_queue()]; req.delegate = (id<OSSystemExtensionRequestDelegate>)self; [[OSSystemExtensionManager sharedManager] submitRequest:req]; And need the following entitlment: <key>com.apple.developer.system-extension.install</key> <true/> It works ! Thank you for your help~~
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
My plugin packaged the following path: ./UCTunnel.app/Contents/Library/SystemExtensions/org.uc.UCTunnel.UCPacketTunnel.systemextension/Contents/MacOS/org.uc.UCTunnel.UCPacketTunnel And I use the System Network Extension XCode Template with a main.m and PacketTunnelProvider.m int main(int argc, char *argv[]) { @autoreleasepool { [NEProvider startSystemExtensionMode]; } dispatch_main(); } @implementation PacketTunnelProvider - (void)startTunnelWithOptions:(NSDictionary *)options completionHandler:(void (^)(NSError *))completionHandler { // Add code here to start the process of connecting the tunnel. completionHandler(nil); } - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void))completionHandler { // Add code here to start the process of stopping the tunnel. completionHandler(); } - (void)handleAppMessage:(NSData *)messageData completionHandler:(void (^)(NSData *))completionHandler { // Add code here to handle the message. } - (void)sleepWithCompletionHandler:(void (^)(void))completionHandler { // Add code here to get ready to sleep. completionHandler(); } - (void)wake { // Add code here to wake up. } @end
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
The day-to-day development is OK for me. I read the Filtering Network Traffic sample code , I found the following code to install System Extension: OSSystemExtensionRequest *req = [OSSystemExtensionRequest activationRequestForExtension:@"org.uc.UCTunnel.UCPacketTunnel" queue:dispatch_get_main_queue()]; req.delegate = (id<OSSystemExtensionRequestDelegate>)self; [[OSSystemExtensionManager sharedManager] submitRequest:req]; And need the following entitlment: <key>com.apple.developer.system-extension.install</key> <true/> It works ! Thank you for your help~~
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
I found the following exampe: https://developer.apple.com/documentation/NetworkExtension/filtering-network-traffic It seems that, I should request the System Extension Redistributable Capability with my Develope Team ?
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
I used Apple Development sign to another demo which is success work with appex plugin. It seems that I should use OSSystemExtensionManager to start a System Extension with Developer ID ? Could you share any other reference examples for OSSystemExtensionManager?
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
Thanks for your patience. I add some log at main and -(void)load function. However, the no logs and crash reports appear in console.app. I also make a DTS request with Case-ID: 15847816 , and send the demo project and app. Would you be able to review the attachment and offer additional support?
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
My plugin packaged the following path: ./UCTunnel.app/Contents/Library/SystemExtensions/org.uc.UCTunnel.UCPacketTunnel.systemextension/Contents/MacOS/org.uc.UCTunnel.UCPacketTunnel And I use the System Network Extension XCode Template with a main.m and PacketTunnelProvider.m int main(int argc, char *argv[]) { @autoreleasepool { [NEProvider startSystemExtensionMode]; } dispatch_main(); } @implementation PacketTunnelProvider - (void)startTunnelWithOptions:(NSDictionary *)options completionHandler:(void (^)(NSError *))completionHandler { // Add code here to start the process of connecting the tunnel. completionHandler(nil); } - (void)stopTunnelWithReason:(NEProviderStopReason)reason completionHandler:(void (^)(void))completionHandler { // Add code here to start the process of stopping the tunnel. completionHandler(); } - (void)handleAppMessage:(NSData *)messageData completionHandler:(void (^)(NSData *))completionHandler { // Add code here to handle the message. } - (void)sleepWithCompletionHandler:(void (^)(void))completionHandler { // Add code here to get ready to sleep. completionHandler(); } - (void)wake { // Add code here to wake up. } @end
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
This is my extension's entitlements which dump by codesign
Replies
Boosts
Views
Activity
Sep ’25
Reply to Can I Exporting a Developer ID PacketTunnelProvider Plugin?
In console , I found the following logs: default 19:18:04.714864+0800 UCPacketTunnelMac Signature check failed: code failed to satisfy specified code requirement(s)
Replies
Boosts
Views
Activity
Sep ’25