Hi Team,
I have a Network Extension application and UI frontend for it.
The UI frontend talks to the Network Extension using XPC, as provided by NEMachServiceName.
On M2 machine,
The application and XPC connection works fine on clean installation.
But, when the application is upgraded, the XPC connection keeps failing.
Upgrade steps:
PreInstall script kills the running processes, both UI and Network Extension
Let installation continue
PostInstall script to launch the application after installation complete.
Following code is successful to the point of resume from UI application
NSXPCInterface *exportedInterface = [NSXPCInterface interfaceWithProtocol:@protocol(IPCUIObject)];
newConnection.exportedInterface = exportedInterface;
newConnection.exportedObject = delegate;
NSXPCInterface *remoteObjectInterface = [NSXPCInterface interfaceWithProtocol:@protocol(IPCExtObject)];
newConnection.remoteObjectInterface = remoteObjectInterface;
self.currentConnection = newConnection;
[newConnection resume];
But it fails to get the object
id<IPCExtObject> providerProxy = [self.currentConnection remoteObjectProxyWithErrorHandler:^(NSError *registerError) {
}];
Please note, this only fails for M2. For M1, this exact code is running fine.
Additionally, if I uninstall the application by dropping it in Trash and then installing the newer version, then too, the application works fine.
Post
Replies
Boosts
Views
Activity
Hi Team,
We are registering Network Extension on application launch. The application shows this dialog [Dialog attached].
The failing case
User press OK and hence, dismissing the user approval
User click on Apps UI -> Register
Register call the same API again i.e.
let activationRequest = OSSystemExtensionRequest.activationRequest(forExtensionWithIdentifier: identifier, queue: .main)
4. This time, the dialog is not launched for the user. Whereas, we have observed, it does launch the dialog again on some of the machines.
5. User reboot the machine
6. Click App -> Register. Stil the same case, the dialog is not launched for user.
When I check the status using systemextensionsctl list
* [TeamId] com.company.extensionname (1.0.100/1.0.100) ExtensioName [activated waiting for user]
How can I force the launch of this dialog in API, so that, user can be guided to act upon it.
Hi Team,
We are using NEAppProxyProvider.
For easy deployment using MDM like Intune\Jamf, we are able to find sample of System Extensions mobile config and use those.
But, there are no sample mobile configs available for AppProxy Provider. Cannot even find one in Apple Configurator.