Post

Replies

Boosts

Views

Activity

Network Link Conditioner using a Network Extension
Currently, I've been able to completely block requests using a Content Filter Network extension. Right now, I'm looking to build a Network Link Conditioner that applies to an individual app only. The Network Link Conditioner allows selecting profiles with specific settings: Downlink Packages Dropped Bandwidth Delay Uplink Bandwidth Packets dropped Delay My question Is it possible to reproduce this behavior using a Network Extension and if so, which type of network extension should I use?
2
0
383
Jun ’24
iPhone Mirroring API
I'm super excited about the announcement of iPhone Mirroring on macOS. Will there be a way to communicate with a connected device throughout an API? E.g., will we developers get a way to write automation or interact with the connected device via code?
6
0
950
Jun ’24
NWPathMonitor mocking for Simulator using Network Extension
Is it possible to mock the behavior of NWPathMonitor for a specific app? The scenario I want to support I've created an app called RocketSim, a developer tool for Xcode's Simulator. I've already created Airplane mode, which disables networking calls from URLSession from a specific bundle identifier app installed on the Simulator. Now, I want to support blocking NWPathMonitor as well. I believe the Simulator uses macOS's NWPathMonitor and does not use any specific HTTP request or similar to determine the reachability state. Is there a way I can make NWPathMonitor return unsatisfied when my 'airplane mode' is turned on? Potentially using a Network Extension?
1
0
538
Mar ’24
Understanding PHPickerConfiguration.AssetRepresentationMode.current
The documentation for this API mentions: The system uses the current representation and avoids transcoding, if possible. What are the scenarios in which transcoding takes place? The reason for asking is that we've had a user reaching out saying they selected a video file from their Photos app, which resulted in a decrease in size from ~110MB to 35MB. We find it unlikely it's transcoding-related, but we want to gain more insights into the possible scenarios.
3
1
844
Aug ’23
Network Extension receives stop command right after start
Right after starting my Network Extension I see logs about it being stopped. This is unexpected, since I don't request a stop myself. See: Logs Secondly: I'm trying to build a Network Provider to stop any requests coming from a specific app. Am I correct I can do that using the NEFilterDataProvider without any filters configured? override func startFilter(completionHandler: @escaping (Error?) -> Void) { log.log(level: .debug, "startFilter NEW3") completionHandler(nil) }
2
0
604
Mar ’23
Network Extension Development Flow
I've been following these instructions and managed to get a development flow running: https://developer.apple.com/forums/thread/725805 However, my extension changes are only applied as follows: Change the code Remove the extension using OSSystemExtensionRequest.deactivationRequest Restart Mac If I don't do that, it seems that the old version of my extension keeps running. I confirmed this based on OSLogs that I added. In other words: how can I ensure during development my latest code gets executed?
2
0
478
Mar ’23
xcrun simctl io recordvideo fails when executed from Mac App
The execution of the command `xcrun simctl io recordVideo ...` works great from the terminal but fails somehow from the Mac app I'm building:DN - Local Port: 41227\nCouldn\'t create an asset writer for writing video frames: allocationErrorError starting video recorder: Error Domain=simctl.SimulatorError Code=2 \"We could not allocate necessary AV objects to perform the recording.\"I've tried setting permissions like screen recording, Developer Tools but without luck. Also, Sandbox enabled/disabled didn't make a difference.Any idea?
0
0
1.1k
Apr ’20