Ask to Buy not working with Network extension

We are working on an app that uses network extension(https://developer.apple.com/documentation/networkextension) with content filter. Our app filters both browser and socket flows. The NEFilterProviderConfiguration has both ‘filterBrowsers’ and ‘filterSockets’ set to true as given below.

 NEFilterManager.shared().loadFromPreferences { error in
        
        if let error {
            NSLog("Preferences load error: \(error.localizedDescription)")
            return
        }
        
        let newFilterConfig = NEFilterProviderConfiguration()
        newFilterConfig.filterBrowsers = true
        newFilterConfig.filterSockets = true
        NEFilterManager.shared().providerConfiguration = newFilterConfig
                       
        //enabling content filter
        NEFilterManager.shared().isEnabled = true
        
        //saving the preference
        NEFilterManager.shared().saveToPreferences { error in
            if let error {
                NSLog("Preference save error: \(error.localizedDescription)")
                return
            }               
        }
    }

In the context of Family Sharing, we have established a group comprising one parent and two children, aged 4 and 15, and have enabled the 'Ask to Buy' feature for both children. When attempting to install an app from the App Store on a device linked to one of the child's iCloud accounts, a pop-up appears, guiding us to initiate the app installation request. However, upon initiating the request from the child's device, we expected the app installation notification to appear on the Apple device associated with the parent's iCloud account. Unfortunately, the notification is not received on the parent's device.

It's worth noting that app installation request notifications are displayed on the parent's device if we set the 'filterSockets' parameter of the NEFilterProviderConfiguration to false.

NEFilterDataProvider

All the flows received in the ‘NEFilterDataProvider’ are allowed.

override func handleNewFlow(_ flow: NEFilterFlow) -> NEFilterNewFlowVerdict {
    return .allow()
}

Child Device details: iPad (8th generation), iPadOS 16.7

All the flows received in the NEFilterDataProvider are allowed.

That’s a great diagnostic. If you create a trivial NE filter that allows all the flows and you still see the problem, that’s something that NE engineering needs to investigate. Please file a bug. Ideally that’d include:

  • A copy of trivial NE filter project.

  • A sysdiagnose log taking shortly after reproducing the problem.

Once you’re done, post your bug number here, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

We've already submitted a bug report, but we haven't received a response yet. Bug ID: FB13196544

We've already submitted a bug report … FB13196544

Thanks! Given that your bug was filed just a few days ago, there’s not much to report on that front.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

@eskimo We kindly request an update regarding the progress of our earlier bug report and if possible, a rough estimate of when it is expected to be resolved. Your help in this regard is greatly appreciated.

I can’t say much beyond what you can already see in Feedback Assistant:

  • Your bug hasn’t been resolved.

  • I can’t speculate as to when it will be.

Sorry.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Ask to Buy not working with Network extension
 
 
Q