Reduce network delays for your app

RSS for tag

Discuss the WWDC21 session Reduce network delays for your app.

Posts under wwdc21-10239 tag

8 Posts

Post

Replies

Boosts

Views

Activity

[CTTelephonyNetworkInfo dataServiceIdentifier] random crash on iOS15 beta
We met many crashes like below on iOS 15, it seems multi-thread issue EXC_BAD_ACCESS. We get the dataServiceIdentifier on different threads. Does CTTelephonyNetworkInfo not thread-safe anymore from iOS 15? 0 libobjc.A.dylib _objc_retain 1 CoreTelephony -[CoreTelephonyClientMux cachedValueForSelector:] 2 CoreTelephony -[CoreTelephonyClient(Data) getCurrentDataServiceDescriptorSync:] 3 CoreTelephony -[CTTelephonyNetworkInfo dataServiceIdentifier]
1
0
2.2k
Jun ’23
network.framework handshaking failure occasionally
I have an application, it was using OpenSSL + Socket, recently I migrated the client to use Network.framework, basically it is running well, but occasionally it encounter the handshaking problem: default 11:54:01.757515-0600 caphost boringssl_context_info_handler(2028) [C80:1][0x7f8e2413ad90] Client handshake started default 11:54:01.757546-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client enter_early_data default 11:54:01.757643-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_server_hello default 11:54:01.786245-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_server_certificate default 11:54:01.786361-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_certificate_status default 11:54:01.786386-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client verify_server_certificate default 11:54:01.786588-0600 caphost boringssl_context_evaluate_trust_async(1635) [C80:1][0x7f8e2413ad90] Performing local trust evaluation default 11:54:01.786619-0600 caphost boringssl_context_evaluate_trust_async_internal(1508) [C80:1][0x7f8e2413ad90] Asyncing for internal verify block default 11:54:01.788428-0600 caphost Trust evaluate failure: [leaf AnchorTrusted SSLHostname] default 11:54:01.788604-0600 caphost boringssl_context_evaluate_trust_async_internal_block_invoke_2(1481) [C80:1][0x7f8e2413ad90] Returning from internal verify block with result: false (Error Domain=NSOSStatusErrorDomain Code=-67843 "“Vodde” certificate is not trusted" UserInfo={NSLocalizedDescription=“Solstice” certificate is not trusted, NSUnderlyingError=0x600001ffbc00 {Error Domain=NSOSStatusErrorDomain Code=-67843 "Certificate 0 “Vodde” has errors: SSL hostname does not match name(s) in certificate, Root is not trusted;" UserInfo={NSLocalizedDescription=Certificate 0 “Vodde” has errors: SSL hostname does not match name(s) in certificate, Root is not trusted;}}}) when this problem happens, I use old OpenSSL+Socket client to connect to it, it will be successful and grab the video stream w/o problem. This problem happens about 1 in 10, I supposed if this happen, it shall always happen, don't get why it is not consistent, is it the bug of Network.framework? my system is Monterey 12.3.1 on 2018 Mac mini. Thanks :)
4
0
901
Apr ’22
Bandwidth control at iOS device
Hello - I’m facing an issue that I believe is rare, primarily because of the unconventional way we are recording and uploading video. As such there is nothing we can find to help. Basically our app records video in 1 minute file segments and then uploads that video file. So for example, after 10 minutes it would have created and uploaded 10 video files. In the past we’ve never had issues as our users typically record at schools with ample bandwidth, and have about 2-3 iPhone recording devices max. But now we’ve started doing tournaments where we have 15-20 recording devices (e.g. iPhones) and things have gone haywire.  My background is more in networking, and I couldn’t figure out why the WiFi would essentially crash/stall soon after we started recording. We had a fiber optic gigantic feed to the facility and had over 100Mbps to each device….and I knew on average we wouldn’t need more than 5-6Mbps. Doing the math, it seemed like things should fly. When we encountered the issues, we even went as far as installing our own WiFi 6 network and bypassing the facilities router (plugging directly into the ISP’s handoff device). But even that didn’t help.  Long story short, after suffering through multiple tournaments trying different strategies, we finally found a solution. We had a theory that each iPhone was essentially trying to take all the bandwidth it could when it had a file to upload, and in this way a few iPhones could lock up the network and crowd everyone else out…and unpredictably jump from device to device. It explained what we were seeing as some devices uploaded and others couldn’t even load a website….and yet a Speedtest on a computer could still yield speed test results of over 800Mbps synchronous being available. By the end of a long day we would find a few devices had fully uploaded, but the vast majority had hardly uploaded anything…and so we would stay several hours late into the evening waiting for the uploads to complete.  Operating on this theory we decided to set bandwidth limits for each device at the router (15Mbps down/ 10Mbps up). That day things worked flawlessly! By the time the event ended, within less than a couple of minutes all devices had their files fully uploaded (meaning that each 1-minute file segment on each device was able to be fully uploaded with the next 1-minute timeframe, but none were able to consume bandwidth and lockup other devices).  Now while we have the solution, it’s not practical for widespread applications as average users cannot set such individual bandwidth limits, nor would they have access to do so in facilities their using. So now we’re trying to see if we can limit bandwidth of our app at the iPhone itself. This far we’ve been unable to find anything. I did some tests at my home with a few devices while enabling low data mode on the iPhones WiFi settings, but even with that each phone consumed all it could (I only have 20Mbps upload at my home and even a single device consumed all of that until upload was complete).  I feel this is a kind of unique problem, and hoping your deep knowledge of networking and how iOS works can help me find a solution.  Thank you very much for reading my request.  Masud
0
0
1.6k
Mar ’22
Guided access not working with iOS 15
Hi there, my daughter uses a speech generating app called TouchChat. I updated her iPad with the iOS 15 last week and now her iPad will not turn off automatically. Before, it was set to turn off after two minutes after any inactivity. Now, after the update, it just stays on forever which obviously drains the battery rapidly. Not only is this super inconvenient and frustrating, but it is a HUGE safety concern. My daughter uses this as her sole mode of communication. If the battery drains and she is unable to use it, she is unable to ask for help, request basic needs, etc. I belong to a special needs group and other parents have experienced the same thing after they did the iOS 15 update. Apple needs to fix this ASAP on behalf of the safety of the special needs community.
1
0
2.0k
Nov ’21
Recommandations for network and server-side improvements to network delays
This wwdc21 session is very interesting and helpful but only deals with client side improvements developers can bring to their apps. Many of these improvements require some work on server side our network routing. Is there some where a list of things to do ? Like protocols to enable or avoid, routing configuration that might help bufferbloat, etc…
3
0
1.5k
Oct ’21
My Wifi asks password for the my internet device that is not in range whenever I am trying to Connect to a new network
Hi, I am facing this little issue about my Wifi. Whenever I am searching for a new network to connect, my Wifi doesn’t ask password for it for the first time and asks for my personal network that I use more often. for example, I mostly use ABC network at my home and it shows it as “My Network” in wifi search window even when its not in range. whenever I try to connect to XYZ network and open the password window, there shows ABC network. I always have to cancel the request then try again the password window to set it to XYZ network. Due to this issue, I cannot even use Iphone to Iphone password sharing. If anyone facing the same can help me, I would be grateful. TIA
1
0
616
Aug ’21
Gambling and Gaming Beta Test
We will soon be launching a gambling/gaming beta test in Virginia that will be IOS friendly. Although we do not yet have a license, we wont be integrating real money in the beta test. The currency in the beta test will only be play money that we will be using to prove the concept of our platform. Subsequently when that concept is proven, we will then get a license to incorporate real money and have third party payment processors. Judging from this synopsis, will we have any trouble getting approved by the apple app store?
0
0
746
Aug ’21
Can I detect wifi status on/off in iOS
I want to detect the wifi status at some times, so do you have public api to detect it , I know in android there is one module to manage the wifi. I know there is the Reachability library - only can ensure the network status , but cannot monitor the wifi status-On/Off. Android wifi manager-[https://developer.android.com/reference/android/net/wifi/WifiManager.AddNetworkResult]
1
0
2.5k
Jul ’21
[CTTelephonyNetworkInfo dataServiceIdentifier] random crash on iOS15 beta
We met many crashes like below on iOS 15, it seems multi-thread issue EXC_BAD_ACCESS. We get the dataServiceIdentifier on different threads. Does CTTelephonyNetworkInfo not thread-safe anymore from iOS 15? 0 libobjc.A.dylib _objc_retain 1 CoreTelephony -[CoreTelephonyClientMux cachedValueForSelector:] 2 CoreTelephony -[CoreTelephonyClient(Data) getCurrentDataServiceDescriptorSync:] 3 CoreTelephony -[CTTelephonyNetworkInfo dataServiceIdentifier]
Replies
1
Boosts
0
Views
2.2k
Activity
Jun ’23
network.framework handshaking failure occasionally
I have an application, it was using OpenSSL + Socket, recently I migrated the client to use Network.framework, basically it is running well, but occasionally it encounter the handshaking problem: default 11:54:01.757515-0600 caphost boringssl_context_info_handler(2028) [C80:1][0x7f8e2413ad90] Client handshake started default 11:54:01.757546-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client enter_early_data default 11:54:01.757643-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_server_hello default 11:54:01.786245-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_server_certificate default 11:54:01.786361-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client read_certificate_status default 11:54:01.786386-0600 caphost boringssl_context_info_handler(2045) [C80:1][0x7f8e2413ad90] Client handshake state: TLS client verify_server_certificate default 11:54:01.786588-0600 caphost boringssl_context_evaluate_trust_async(1635) [C80:1][0x7f8e2413ad90] Performing local trust evaluation default 11:54:01.786619-0600 caphost boringssl_context_evaluate_trust_async_internal(1508) [C80:1][0x7f8e2413ad90] Asyncing for internal verify block default 11:54:01.788428-0600 caphost Trust evaluate failure: [leaf AnchorTrusted SSLHostname] default 11:54:01.788604-0600 caphost boringssl_context_evaluate_trust_async_internal_block_invoke_2(1481) [C80:1][0x7f8e2413ad90] Returning from internal verify block with result: false (Error Domain=NSOSStatusErrorDomain Code=-67843 "“Vodde” certificate is not trusted" UserInfo={NSLocalizedDescription=“Solstice” certificate is not trusted, NSUnderlyingError=0x600001ffbc00 {Error Domain=NSOSStatusErrorDomain Code=-67843 "Certificate 0 “Vodde” has errors: SSL hostname does not match name(s) in certificate, Root is not trusted;" UserInfo={NSLocalizedDescription=Certificate 0 “Vodde” has errors: SSL hostname does not match name(s) in certificate, Root is not trusted;}}}) when this problem happens, I use old OpenSSL+Socket client to connect to it, it will be successful and grab the video stream w/o problem. This problem happens about 1 in 10, I supposed if this happen, it shall always happen, don't get why it is not consistent, is it the bug of Network.framework? my system is Monterey 12.3.1 on 2018 Mac mini. Thanks :)
Replies
4
Boosts
0
Views
901
Activity
Apr ’22
Bandwidth control at iOS device
Hello - I’m facing an issue that I believe is rare, primarily because of the unconventional way we are recording and uploading video. As such there is nothing we can find to help. Basically our app records video in 1 minute file segments and then uploads that video file. So for example, after 10 minutes it would have created and uploaded 10 video files. In the past we’ve never had issues as our users typically record at schools with ample bandwidth, and have about 2-3 iPhone recording devices max. But now we’ve started doing tournaments where we have 15-20 recording devices (e.g. iPhones) and things have gone haywire.  My background is more in networking, and I couldn’t figure out why the WiFi would essentially crash/stall soon after we started recording. We had a fiber optic gigantic feed to the facility and had over 100Mbps to each device….and I knew on average we wouldn’t need more than 5-6Mbps. Doing the math, it seemed like things should fly. When we encountered the issues, we even went as far as installing our own WiFi 6 network and bypassing the facilities router (plugging directly into the ISP’s handoff device). But even that didn’t help.  Long story short, after suffering through multiple tournaments trying different strategies, we finally found a solution. We had a theory that each iPhone was essentially trying to take all the bandwidth it could when it had a file to upload, and in this way a few iPhones could lock up the network and crowd everyone else out…and unpredictably jump from device to device. It explained what we were seeing as some devices uploaded and others couldn’t even load a website….and yet a Speedtest on a computer could still yield speed test results of over 800Mbps synchronous being available. By the end of a long day we would find a few devices had fully uploaded, but the vast majority had hardly uploaded anything…and so we would stay several hours late into the evening waiting for the uploads to complete.  Operating on this theory we decided to set bandwidth limits for each device at the router (15Mbps down/ 10Mbps up). That day things worked flawlessly! By the time the event ended, within less than a couple of minutes all devices had their files fully uploaded (meaning that each 1-minute file segment on each device was able to be fully uploaded with the next 1-minute timeframe, but none were able to consume bandwidth and lockup other devices).  Now while we have the solution, it’s not practical for widespread applications as average users cannot set such individual bandwidth limits, nor would they have access to do so in facilities their using. So now we’re trying to see if we can limit bandwidth of our app at the iPhone itself. This far we’ve been unable to find anything. I did some tests at my home with a few devices while enabling low data mode on the iPhones WiFi settings, but even with that each phone consumed all it could (I only have 20Mbps upload at my home and even a single device consumed all of that until upload was complete).  I feel this is a kind of unique problem, and hoping your deep knowledge of networking and how iOS works can help me find a solution.  Thank you very much for reading my request.  Masud
Replies
0
Boosts
0
Views
1.6k
Activity
Mar ’22
Guided access not working with iOS 15
Hi there, my daughter uses a speech generating app called TouchChat. I updated her iPad with the iOS 15 last week and now her iPad will not turn off automatically. Before, it was set to turn off after two minutes after any inactivity. Now, after the update, it just stays on forever which obviously drains the battery rapidly. Not only is this super inconvenient and frustrating, but it is a HUGE safety concern. My daughter uses this as her sole mode of communication. If the battery drains and she is unable to use it, she is unable to ask for help, request basic needs, etc. I belong to a special needs group and other parents have experienced the same thing after they did the iOS 15 update. Apple needs to fix this ASAP on behalf of the safety of the special needs community.
Replies
1
Boosts
0
Views
2.0k
Activity
Nov ’21
Recommandations for network and server-side improvements to network delays
This wwdc21 session is very interesting and helpful but only deals with client side improvements developers can bring to their apps. Many of these improvements require some work on server side our network routing. Is there some where a list of things to do ? Like protocols to enable or avoid, routing configuration that might help bufferbloat, etc…
Replies
3
Boosts
0
Views
1.5k
Activity
Oct ’21
My Wifi asks password for the my internet device that is not in range whenever I am trying to Connect to a new network
Hi, I am facing this little issue about my Wifi. Whenever I am searching for a new network to connect, my Wifi doesn’t ask password for it for the first time and asks for my personal network that I use more often. for example, I mostly use ABC network at my home and it shows it as “My Network” in wifi search window even when its not in range. whenever I try to connect to XYZ network and open the password window, there shows ABC network. I always have to cancel the request then try again the password window to set it to XYZ network. Due to this issue, I cannot even use Iphone to Iphone password sharing. If anyone facing the same can help me, I would be grateful. TIA
Replies
1
Boosts
0
Views
616
Activity
Aug ’21
Gambling and Gaming Beta Test
We will soon be launching a gambling/gaming beta test in Virginia that will be IOS friendly. Although we do not yet have a license, we wont be integrating real money in the beta test. The currency in the beta test will only be play money that we will be using to prove the concept of our platform. Subsequently when that concept is proven, we will then get a license to incorporate real money and have third party payment processors. Judging from this synopsis, will we have any trouble getting approved by the apple app store?
Replies
0
Boosts
0
Views
746
Activity
Aug ’21
Can I detect wifi status on/off in iOS
I want to detect the wifi status at some times, so do you have public api to detect it , I know in android there is one module to manage the wifi. I know there is the Reachability library - only can ensure the network status , but cannot monitor the wifi status-On/Off. Android wifi manager-[https://developer.android.com/reference/android/net/wifi/WifiManager.AddNetworkResult]
Replies
1
Boosts
0
Views
2.5k
Activity
Jul ’21