Post

Replies

Boosts

Views

Activity

Reply to The Unwanted Communication Reporting extension sends response over the network connection only ONCE after installing. Is it a bug?
Same issue as @alex_at_twofive25_dot_com and @CharlesTWM Testing with iOS 16.5 failed, but iOS 14.8.1 was successful. The following are the differences I observed in the device logs. iOS 14.8.1 com.apple.IdentityLookup.MessageFilter Connection 13: connected successfully com.apple.IdentityLookup.MessageFilter Connection 13: TLS handshake complete com.apple.IdentityLookup.MessageFilter Connection 13: ready C(Y) E(Y) com.apple.IdentityLookup.MessageFilter Task <BD3610F1-17C9-408B-8BD9-36760810BC60>.<1> now using Connection 13 com.apple.IdentityLookup.MessageFilter Connection 13: received viability advisory(Y) com.apple.IdentityLookup.MessageFilter Task <BD3610F1-17C9-408B-8BD9-36760810BC60>.<1> sent request, body S 810 com.apple.IdentityLookup.MessageFilter Task <BD3610F1-17C9-408B-8BD9-36760810BC60>.<1> received response, status 200 content K com.apple.IdentityLookup.MessageFilter Task <BD3610F1-17C9-408B-8BD9-36760810BC60>.<1> done using Connection 13 iOS 16.5 (print log only at first time and receiving external server response) com.apple.IdentityLookup.MessageFilter Connection 1: connected successfully com.apple.IdentityLookup.MessageFilter got event: Connection invalid com.apple.IdentityLookup.MessageFilter Connection 1: TLS handshake complete com.apple.IdentityLookup.MessageFilter Connection 1: ready C(Y) E(Y) com.apple.IdentityLookup.MessageFilter [C1] event: client:connection_reused @0.160s com.apple.IdentityLookup.MessageFilter Task <8025DB62-2606-44F7-9502-1E68FCA8A5B0>.<1> now using Connection 1 com.apple.IdentityLookup.MessageFilter Connection 1: received viability advisory(Y) com.apple.IdentityLookup.MessageFilter Task <8025DB62-2606-44F7-9502-1E68FCA8A5B0>.<1> sent request, body S 1766 com.apple.IdentityLookup.MessageFilter Task <8025DB62-2606-44F7-9502-1E68FCA8A5B0>.<1> received response, status 200 content K com.apple.IdentityLookup.MessageFilter user sessions enabled, targeting 501 com.apple.IdentityLookup.MessageFilter cleaning up unpooled xpc conn to trustd 0xc2290faa0 com.apple.IdentityLookup.MessageFilter got event: Connection invalid com.apple.IdentityLookup.MessageFilter Initializing connection com.apple.IdentityLookup.MessageFilter Task <8025DB62-2606-44F7-9502-1E68FCA8A5B0>.<1> done using Connection 1 iOS 14.8.1 print following log in the end, but iOS 16.5 doesn't com.apple.IdentityLookup.MessageFilter Connection 13: done How can I identify the root cause of the error message: "got event: Connection invalid"?
Jul ’23
Reply to The Unwanted Communication Reporting extension sends response over the network connection only ONCE after installing. Is it a bug?
We have found the reason for the issue where API requests can only be sent once on iOS 15 and above! This is related to the support for HTTP/3 and QUIC starting from iOS 15. We found that when the server's response header includes "alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000", it restricts the request to be sent only once. Therefore, after disabling QUIC on our API server - Google Cloud Run, the API can be sent multiple times. I would like to know if this limitation is imposed by this extension, preventing the use of HTTP/3? We also hope that this solution can help others facing the same issue, providing a temporary workaround for this problem. WWDC21 - Accelerate networking with HTTP/3 and QUIC
Jul ’23
Reply to Issues with VOIP Calls on iOS Local Proxy Server using NEPacketTunnelProvider
Thank you very much for your detailed explanation. This gives me a deeper understanding of packet tunnel and proxy server! Overall, I want to achieve something like the role of NEFilterPacketProvider: helping users block unsafe/scam websites without the need to parse what content users have been browsing, but simply knowing which websites users have visited. I would like to try using NEFilterPacketProvider and not be limited to supervised devices. After reading the article you provided, there is a section that mentions: In an unmanaged environment, deploy your content filter as part of a Screen Time app. Perhaps the Screen Time Framework can meet my requirements?
Nov ’23
Reply to Issues with VOIP Calls on iOS Local Proxy Server using NEPacketTunnelProvider
Hi @eskimo, I've read the Screen Time API documentation, and it seems that users need to enable the Family Sharing feature to use this API, which doesn't appear to be what I'm looking for. I tried deleting tunnelNetworkSettings.ipv4Settings?.includedRoutes = [NEIPv4Route.default()], and as a result, VoIP worked successfully, but streaming failed. As you mentioned, using the packet tunnel in this way is not a recommended practice. I would appreciate if you have any alternative suggestions to meet my requirements.
Nov ’23
Reply to Issues with VOIP Calls on iOS Local Proxy Server using NEPacketTunnelProvider
This is failing because you claim the default route: tunnelNetworkSettings.ipv4Settings?.includedRoutes = [NEIPv4Route.default()] When you do that, the system expects you to be able to forward packets to any destination on the Internet. Presumably you don’t do that, and so various networking apps start to fail. This is the root cause of my problem! After deleting this line and fixing the bugs in the HTTP/HTTPS proxy (HTTP redirecting to HTTPS URLs, which was causing streaming videos to fail), it now works like a charm! Thanks again for your help! : )
Nov ’23
Reply to UnwantedCommunicationReportingExtension API calling failing
Have you made a server API call using URLSession or any other frameworks? In fact, it's not necessary; you only need to override the func classificationResponse(for request: ILClassificationRequest) -> ILClassificationResponse method. For more details, you can refer to this link: https://stackoverflow.com/questions/76504101/http-request-fails-trying-to-report-unwanted-communication-report-via-api/76645829#76645829
Dec ’23
Reply to Background Assets: How do I set breakpoints in the extension for debugging?
It seems that after Xcode 15, you need to debug in a different way. Here are the steps: Add a breakpoint in the extension code. Run the app (not extension). Navigate to "Debug", then select "Attach Process by PID or Name" Enter your extension target's name (e.g., BackgroundDownloadExtension) in the input field. Open the Terminal app. Enter the command like this: xcrun backgroundassets-debug --app-bundle-id [com....] --device-id [3...f] --simulate --app-update and click "Attach". Breakpoint entered!
Apr ’24