Posts

Post marked as solved
5 Replies
what IP traffic are you trying to manipulate? Im not sure if I understand this correctly. what my requirement is to intercept the whole system traffic and dynamically decide whether to discard the traffic or send it to the server. For this transparent app proxy looks best option where I can filter both FQDN and ip address but it provides the data stream whereas we need ip packets. Is there a way we can convert layer 4 packet to layer 3?
Post marked as solved
5 Replies
Is that right? Yes, I want to achieve something similar. You may want to explore other NE provider types, such as a content filter or a transparent proxy. Actually, I need an IP packet for my use case, I looked into a transparent proxy but it provides TCP or UDP steam(data packets) which I believe are layer 4 packets. Also, looked into content filtering using NEFilterPacketProvider but I'm not sure how will I process the packets and write back to the interface. Do you have any suggestions to achieve this using a content filter?
Post not yet marked as solved
10 Replies
@Matt Eaton Any update on FB8903549, FB8883832. How can we track these tickets?
Post not yet marked as solved
4 Replies
@matt, I tried using "URLSessionUploadTask" with background configuration by using method func uploadTask(with request: URLRequest, from bodyData: Data) -> URLSessionUploadTask but it gives error Terminating app due to uncaught exception 'NSGenericException', reason: 'Upload tasks from NSData are not supported in background sessions. Please suggest.
Post not yet marked as solved
4 Replies
Thanks, Matt for your reply.  If you are running a background URLSessionDataTask then this is also not intended to work either. Only URLSessionUploadTask and URLSessionDownloadTask should be used in a background URLSession.  Yes, I'm using the URLSessionDataTask but it's a default configuration, what I thought that It can be work the same way like we generally did for a silent push notification (Invoke app in the background). I also tried to add backgroundhandler block which generally waits for some time before going to suspend state. If you need to upload the status of a network call, then you would need to save this status for either your foreground session when your app is no longer suspended and active, or you could investigate whether a URLSessionDataTask works with a BGAppRefreshTaskRequest. The pitfall with the BGTask side of things is that these tasks are not intended to run frequently and you should expect that there could be long gaps in-between running these tasks. I thought earlier to wait for the foreground state and update the status but the API token might expire during that time. I can check for BGAppRefreshTaskRequest.