Closed rsmilne closed 2 years ago
Trying in dev (upcoming 9.2) and I'm unable to reproduce the issue. For faster steps, login in a browser a system admin and go to the "Session management" screen in setup and manually remove the session for the user on the mobile device.
Hi, Thanks for the response. It works fine on a simulator but not on a physical device. Logs out after being CLOSED, not on background for 20+ minutes. This is on 9.2 for MobileSyncExplorerReactNative template. Please find the log on reopen after close:
default 13:32:55.475678-0300 MobileSyncExplorerReactNative Service did finish database update with protection type 1 and provider 1
default 13:32:55.478678-0300 MobileSyncExplorerReactNative AggregateDictionary is deprecated and will be removed in this release. Please migrate to Core Analytics.
default 13:32:55.478749-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::updateAssertionIfNeeded: sending ProcessDidResume IPC because the process was suspended
default 13:32:55.482609-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::setAssertionType: Updating process assertion type to 1 (foregroundActivities=0, backgroundActivities=1)
default 13:32:55.482644-0300 MobileSyncExplorerReactNative 0x2809d16b0 - WKProcessAssertionBackgroundTaskManager: beginBackgroundTaskWithName
default 13:32:55.482669-0300 MobileSyncExplorerReactNative WKProcessAssertionBackgroundTaskManager: Took a FinishTaskInterruptable assertion for own process
default 13:32:55.529846-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> resuming, timeouts(60.0, 604800.0) QOS(0x21) Voucher <private>
default 13:32:55.532119-0300 MobileSyncExplorerReactNative [Telemetry]: Activity <nw_activity 12:2 [CAB221CC-DA32-4E2B-8EAC-840D42E5BE1A] (reporting strategy default)> on Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> was not selected for reporting
default 13:32:55.547761-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> {strength 1, tls 8, ct 0, sub 0, sig 0, ciphers 1, bundle 0, builtin 0}
default 13:32:55.551994-0300 MobileSyncExplorerReactNative Skip setting user action callback for 3rd party apps
default 13:32:55.557249-0300 MobileSyncExplorerReactNative Connection 1: enabling TLS
default 13:32:55.560542-0300 MobileSyncExplorerReactNative Connection 1: starting, TC(0x0)
default 13:32:55.560606-0300 MobileSyncExplorerReactNative [C1 283A6BCB-5A7E-42D6-931D-206DD57A8F9B Hostname#9eb11243:443 tcp, url hash: 48ce5a3c, tls, definite, attribution: developer, context: com.apple.CFNetwork.NSURLSession.{8A147459-8DC2-4D0F-A3FB-A576104FEDEE}{(null)}{Y}{2} (private), proc: 61AED3D7-E7CC-3FD1-B7CF-4FD9052C191F] start
default 13:32:55.562845-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 initial path ((null))] event: path:start @0.001s
default 13:32:55.607358-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 waiting path (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: path:satisfied @0.024s, uuid: 9E623F71-CEB8-455F-8892-2AB00EB8A420
default 13:32:55.607614-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: resolver:start_dns @0.124s
default 13:32:55.607687-0300 MobileSyncExplorerReactNative nw_connection_report_state_with_handler_on_nw_queue [C1] reporting state preparing
default 13:32:55.615283-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> setting up Connection 1
default 13:32:55.616624-0300 MobileSyncExplorerReactNative 0x107ff9200 - ProcessAssertion: Successfully took RBS assertion 'NetworkProcess Background Assertion' for process with PID=1566
default 13:32:55.616686-0300 MobileSyncExplorerReactNative 0x107ff9140 - ~ProcessAssertion: Releasing process assertion 'NetworkProcess Suspended Assertion' for process with PID=1566
default 13:32:55.653120-0300 MobileSyncExplorerReactNative nw_endpoint_resolver_update [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] Adding endpoint handler for IPv4#edad3451:443
default 13:32:55.653224-0300 MobileSyncExplorerReactNative nw_endpoint_resolver_update [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] Adding endpoint handler for IPv4#5b32a87d:443
default 13:32:55.653283-0300 MobileSyncExplorerReactNative nw_endpoint_resolver_update [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] Adding endpoint handler for IPv4#5ac7fddb:443
default 13:32:55.653402-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: resolver:receive_dns @0.202s
default 13:32:55.653968-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 initial path ((null))] event: path:start @0.204s
default 13:32:55.654428-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 waiting path (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: path:satisfied @0.205s, uuid: F74A6F22-C167-4978-9EAE-FFFBCB7E483F
default 13:32:55.654937-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: flow:start_nexus @0.205s
default 13:32:55.656548-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] event: flow:receive_nexus @0.207s
default 13:32:55.660849-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] event: flow:start_connect @0.211s
default 13:32:55.661448-0300 MobileSyncExplorerReactNative tcp_output [C1.1:3] flags=[S] seq=436821479, ack=0, win=65535 state=SYN_SENT rcv_nxt=0, snd_una=436821479
default 13:32:55.833197-0300 MobileSyncExplorerReactNative tcp_input [C1.1:3] flags=[S.] seq=2672174977, ack=436821480, win=4356 state=SYN_SENT rcv_nxt=0, snd_una=436821479
default 13:32:55.833300-0300 MobileSyncExplorerReactNative nw_flow_connected [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] Transport protocol connected (tcp)
default 13:32:55.833424-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] event: flow:finish_transport @0.379s
default 13:32:55.833496-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 in_progress resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: flow:finish_transport @0.380s
default 13:32:55.834383-0300 MobileSyncExplorerReactNative boringssl_session_apply_protocol_options_for_transport_block_invoke(1715) [C1.1:2][0x159f1b0d0] TLS configured [min_version(0x0303) max_version(0x0304) name(<private>) tickets(false) false_start(false) enforce_ev(false) enforce_ats(false)]
default 13:32:55.834609-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2012) [C1.1:2][0x159f1b0d0] Client handshake started
default 13:32:55.835069-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client enter_early_data
default 13:32:55.835340-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_server_hello
default 13:32:55.954243-0300 MobileSyncExplorerReactNative container_system_group_path_for_identifier: success
default 13:32:55.959368-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::sendPrepareToSuspendIPC: isSuspensionImminent=0
default 13:32:55.959455-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::sendPrepareToSuspendIPC: Sending PrepareToSuspend(3, isSuspensionImminent=0) IPC
default 13:32:55.984684-0300 MobileSyncExplorerReactNative 0x107ff7ec8 - [PID=0] WebProcessCache::updateCapacity: Cache is disabled because process swap on navigation is disabled
default 13:32:55.984913-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::updateAssertionIfNeeded: sending ProcessDidResume IPC because the WebProcess is still processing request to suspend=3
default 13:32:55.987570-0300 MobileSyncExplorerReactNative WebBackForwardCache::clear
default 13:32:55.987693-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::sendPrepareToSuspendIPC: isSuspensionImminent=0
default 13:32:55.987728-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::sendPrepareToSuspendIPC: Sending PrepareToSuspend(4, isSuspensionImminent=0) IPC
default 13:32:55.996449-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::processReadyToSuspend: Updating process assertion to allow suspension
default 13:32:55.996566-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::setAssertionType: Updating process assertion type to 0 (foregroundActivities=0, backgroundActivities=0)
default 13:32:56.002578-0300 MobileSyncExplorerReactNative 0x107ff99e0 - ProcessAssertion: Successfully took RBS assertion 'NetworkProcess Suspended Assertion' for process with PID=1566
default 13:32:56.002703-0300 MobileSyncExplorerReactNative 0x107ff9200 - ~ProcessAssertion: Releasing process assertion 'NetworkProcess Background Assertion' for process with PID=1566
default 13:32:56.002769-0300 MobileSyncExplorerReactNative 0x2809d16b0 - WKProcessAssertionBackgroundTaskManager: endBackgroundTask
default 13:32:56.007082-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_server_certificate
default 13:32:56.008033-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_certificate_status
default 13:32:56.008100-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client verify_server_certificate
default 13:32:56.008745-0300 MobileSyncExplorerReactNative boringssl_context_evaluate_trust_async(1615) [C1.1:2][0x159f1b0d0] Performing external trust evaluation
default 13:32:56.008809-0300 MobileSyncExplorerReactNative boringssl_context_evaluate_trust_async_external(1600) [C1.1:2][0x159f1b0d0] Asyncing for external verify block
default 13:32:56.009035-0300 MobileSyncExplorerReactNative Connection 1: asked to evaluate TLS Trust
default 13:32:56.009222-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> auth completion disp=1 cred=0x0
default 13:32:56.020503-0300 MobileSyncExplorerReactNative System Trust Evaluation yielded status(0)
default 13:32:56.027065-0300 MobileSyncExplorerReactNative Connection 1: TLS Trust result 0
default 13:32:56.027189-0300 MobileSyncExplorerReactNative boringssl_context_evaluate_trust_async_external_block_invoke_3(1556) [C1.1:2][0x159f1b0d0] Returning from external verify block with result: true
default 13:32:56.027489-0300 MobileSyncExplorerReactNative boringssl_context_certificate_verify_callback(1777) [C1.1:2][0x159f1b0d0] Certificate verification result: OK
default 13:32:56.027558-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_server_key_exchange
default 13:32:56.028189-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_certificate_request
default 13:32:56.028763-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_server_hello_done
default 13:32:56.028875-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client send_client_certificate
default 13:32:56.028958-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client send_client_key_exchange
default 13:32:56.029618-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client send_client_certificate_verify
default 13:32:56.029778-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client send_client_finished
default 13:32:56.030044-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client finish_flight
default 13:32:56.030390-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_session_ticket
default 13:32:56.030536-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client process_change_cipher_spec
default 13:32:56.198504-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client read_server_finished
default 13:32:56.199307-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client finish_client_handshake
default 13:32:56.201221-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2029) [C1.1:2][0x159f1b0d0] Client handshake state: TLS client done
default 13:32:56.201378-0300 MobileSyncExplorerReactNative boringssl_context_info_handler(2018) [C1.1:2][0x159f1b0d0] Client handshake done
default 13:32:56.202047-0300 MobileSyncExplorerReactNative nw_protocol_boringssl_signal_connected(715) [C1.1:2][0x159f1b0d0] TLS connected [version(0x0303) ciphersuite(TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) group(0x0017) signature_alg(0x0401) alpn(nil) resumed(0) offered_ticket(0) false_started(0) ocsp_received(0) sct_received(0) connect_time(369ms) flight_time(339ms) rtt(171ms) write_stalls(0) read_stalls(9)]
default 13:32:56.202542-0300 MobileSyncExplorerReactNative nw_flow_connected [C1.1 IPv4#edad3451:443 in_progress channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] Output protocol connected (CFNetworkConnection-2421654344)
default 13:32:56.203208-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] event: flow:finish_connect @0.751s
default 13:32:56.203696-0300 MobileSyncExplorerReactNative nw_connection_report_state_with_handler_on_nw_queue [C1] reporting state ready
default 13:32:56.203768-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 ready resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: flow:finish_connect @0.751s
default 13:32:56.204014-0300 MobileSyncExplorerReactNative [C1.1 IPv4#edad3451:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] event: flow:changed_viability @0.751s
default 13:32:56.204125-0300 MobileSyncExplorerReactNative [C1 Hostname#9eb11243:443 ready resolver (satisfied (Path is satisfied), interface: en0, ipv4, dns)] event: flow:changed_viability @0.751s
default 13:32:56.204197-0300 MobileSyncExplorerReactNative Connection 1: connected successfully
default 13:32:56.204238-0300 MobileSyncExplorerReactNative Connection 1: TLS handshake complete
default 13:32:56.204277-0300 MobileSyncExplorerReactNative Connection 1: ready C(N) E(N)
default 13:32:56.204591-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> now using Connection 1
default 13:32:56.204689-0300 MobileSyncExplorerReactNative Connection 1: received viability advisory(Y)
default 13:32:56.204777-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> sent request, body N 0
default 13:32:56.381526-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> received response, status 404 content C
default 13:32:56.384226-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> response ended
default 13:32:56.384871-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> done using Connection 1
default 13:32:56.385808-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> summary for task success {transaction_duration_ms=965, response_status=404, connection=1, protocol="http/1.1", domain_lookup_duration_ms=78, connect_duration_ms=540, secure_connection_duration_ms=369, private_relay=false, request_start_ms=784, request_duration_ms=0, response_start_ms=961, response_duration_ms=3, request_bytes=462, response_bytes=2753, cache_hit=false}
default 13:32:56.387722-0300 MobileSyncExplorerReactNative Task <59475A3B-A12C-4AAD-8FF1-42EE6C7D50AF>.<1> finished successfully
default 13:32:56.388006-0300 MobileSyncExplorerReactNative CLASS: SFSDKAuthConfigUtil Org config request failed with error: Status Code: 404
default 13:32:56.522438-0300 MobileSyncExplorerReactNative 0x107ff5a40 - [PID=0] WebProcessCache::updateCapacity: Cache is disabled because process swap on navigation is disabled
default 13:32:56.524331-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=0] WebProcessProxy::constructor:
default 13:32:56.524422-0300 MobileSyncExplorerReactNative 0x107fe4ed0 - [PID=0, throttler=0x107fc8d70] ProcessThrottler::Activity::Activity: Starting background activity / 'WebProcess initialization'
default 13:32:56.525665-0300 MobileSyncExplorerReactNative +[AVPictureInPicturePlatformAdapter isPictureInPictureSupported] isPictureInPictureSupported YES
default 13:32:56.531522-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=0] WebPageProxy::constructor:
default 13:32:56.531618-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=0] WebProcessProxy::addExistingWebPage: webPage=0x15a852218, pageProxyID=15, webPageID=16
default 13:32:56.531744-0300 MobileSyncExplorerReactNative 0x107ff5a40 - [PID=0] WebProcessCache::updateCapacity: Cache is disabled by client
default 13:32:56.534959-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=0] WebPageProxy::loadRequest:
default 13:32:56.535037-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=0] WebPageProxy::WebPageProxy::shouldForceForegroundPriorityForClientNavigation() returns 1 based on PageClient::canTakeForegroundAssertions()
default 13:32:56.535120-0300 MobileSyncExplorerReactNative 0x107fe5190 - [PID=0, throttler=0x107fc8d70] ProcessThrottler::Activity::Activity: Starting foreground activity / 'Client navigation'
default 13:32:56.535213-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=0] WebPageProxy::loadRequestWithNavigationShared:
default 13:32:56.537775-0300 MobileSyncExplorerReactNative 0x107ffa220 - NavigationState is taking a process network assertion because a page load started
default 13:32:56.543450-0300 MobileSyncExplorerReactNative 0x107fe51c0 - [PID=0, throttler=0x107fc8d70] ProcessThrottler::Activity::Activity: Starting background activity / 'Page Load'
default 13:32:56.551419-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didFinishLaunching:
default 13:32:56.551510-0300 MobileSyncExplorerReactNative 0x107fc8d70 - [PID=1587] ProcessThrottler::didConnectToProcess:
default 13:32:56.551592-0300 MobileSyncExplorerReactNative 0x107fc8d70 - [PID=1587] ProcessThrottler::setAssertionType: Updating process assertion type to 3 (foregroundActivities=1, backgroundActivities=4)
default 13:32:56.551656-0300 MobileSyncExplorerReactNative 0x2809d16b0 - WKProcessAssertionBackgroundTaskManager: beginBackgroundTaskWithName
default 13:32:56.551726-0300 MobileSyncExplorerReactNative WKProcessAssertionBackgroundTaskManager: Took a FinishTaskInterruptable assertion for own process
default 13:32:56.551788-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType: type=3
default 13:32:56.551815-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType(Foreground) Taking foreground assertion for network process
default 13:32:56.552750-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::updateAssertionIfNeeded: sending ProcessDidResume IPC because the process was suspended
default 13:32:56.552779-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::setAssertionType: Updating process assertion type to 3 (foregroundActivities=1, backgroundActivities=0)
default 13:32:56.552849-0300 MobileSyncExplorerReactNative 0x107fe5e60 - [PID=1566, throttler=0x107f68268] ProcessThrottler::Activity::Activity: Starting foreground activity / 'Networking for foreground view(s)'
default 13:32:56.561326-0300 MobileSyncExplorerReactNative 0x107ffa280 - ProcessAssertion: Successfully took RBS assertion 'WebProcess Foreground Assertion' for process with PID=1587
default 13:32:56.562242-0300 MobileSyncExplorerReactNative 0x107f68190 - NetworkProcessProxy is taking a background assertion because a web process is requesting a connection
default 13:32:56.566046-0300 MobileSyncExplorerReactNative 0x107ffa2e0 - ProcessAssertion: Successfully took RBS assertion 'NetworkProcess Foreground Assertion' for process with PID=1566
default 13:32:56.566107-0300 MobileSyncExplorerReactNative 0x107ff99e0 - ~ProcessAssertion: Releasing process assertion 'NetworkProcess Suspended Assertion' for process with PID=1566
default 13:32:56.572293-0300 MobileSyncExplorerReactNative 0x107fe4ed0 - [PID=1587, throttler=0x107fc8d70] ProcessThrottler::Activity::invalidate: Ending background activity / 'WebProcess initialization'
default 13:32:56.579727-0300 MobileSyncExplorerReactNative Created visibility propagation view 0x159d1ea50 (contextID=148974185) for WebContent process with PID=1587
default 13:32:56.579804-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: frameID=3, navigationID=1
default 13:32:56.580053-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize
default 13:32:56.580317-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize: Cannot authorize the requested URL.
default 13:32:56.581193-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: listener called: frameID=3, navigationID=1, policyAction=0, safeBrowsingWarning=0, isAppBoundDomain=0
default 13:32:56.581337-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::receivedNavigationPolicyDecision: frameID=3, navigationID=1, policyAction=0
default 13:32:56.581401-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: keep using process 1587 for navigation, reason=Process has not yet committed any provisional loads
default 13:32:56.584359-0300 MobileSyncExplorerReactNative client.trigger:#N CCFG for cid 0x62 has # of profiles: 0
default 13:32:56.584763-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didStartProvisionalLoadForFrame: frameID=3
default 13:32:56.584815-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didStartProvisionalLoadForMainFrame:
default 13:32:56.643697-0300 MobileSyncExplorerReactNative Received configuration update from daemon (initial)
default 13:32:57.265311-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: frameID=3, navigationID=1
default 13:32:57.268088-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize
default 13:32:57.269494-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize: Cannot authorize the requested URL.
default 13:32:57.269649-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: listener called: frameID=3, navigationID=1, policyAction=0, safeBrowsingWarning=0, isAppBoundDomain=0
default 13:32:57.269817-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::receivedNavigationPolicyDecision: frameID=3, navigationID=1, policyAction=0
default 13:32:57.269973-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: keep using process 1587 for navigation, reason=Process has not yet committed any provisional loads
default 13:32:57.272572-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame: frameID=3
default 13:32:57.492104-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didNavigateWithNavigationDataShared:
default 13:32:57.492372-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didPerformServerRedirect:
default 13:32:57.496804-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCommitLoadForFrame: frameID=3
default 13:32:57.498179-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::willPerformClientRedirectForFrame: frameID=3
default 13:32:57.498375-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishDocumentLoadForFrame: frameID=3
default 13:32:57.503540-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishLoadForFrame: frameID=3
default 13:32:57.503676-0300 MobileSyncExplorerReactNative 0x107ffa220 - NavigationState will release its process network assertion soon because the page load completed
default 13:32:57.595418-0300 MobileSyncExplorerReactNative Not observing PTDefaults on customer install.
default 13:32:57.603614-0300 MobileSyncExplorerReactNative 0x107fe5190 - [PID=1587, throttler=0x107fc8d70] ProcessThrottler::Activity::invalidate: Ending foreground activity / 'Client navigation'
default 13:32:57.603705-0300 MobileSyncExplorerReactNative 0x107fc8d70 - [PID=1587] ProcessThrottler::setAssertionType: Updating process assertion type to 1 (foregroundActivities=0, backgroundActivities=1)
default 13:32:57.603791-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType: type=1
default 13:32:57.603872-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType(Background) Taking background assertion for network process
default 13:32:57.603960-0300 MobileSyncExplorerReactNative 0x107fe57c0 - [PID=1566, throttler=0x107f68268] ProcessThrottler::Activity::Activity: Starting background activity / 'Networking for background view(s)'
default 13:32:57.603996-0300 MobileSyncExplorerReactNative 0x107fe5e60 - [PID=1566, throttler=0x107f68268] ProcessThrottler::Activity::invalidate: Ending foreground activity / 'Networking for foreground view(s)'
default 13:32:57.604098-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::setAssertionType: Updating process assertion type to 1 (foregroundActivities=0, backgroundActivities=1)
default 13:32:57.604207-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: frameID=3, navigationID=0
default 13:32:57.604753-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize
default 13:32:57.605091-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize: Cannot authorize the requested URL.
default 13:32:57.605345-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: listener called: frameID=3, navigationID=2, policyAction=0, safeBrowsingWarning=0, isAppBoundDomain=0
default 13:32:57.605403-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::receivedNavigationPolicyDecision: frameID=3, navigationID=2, policyAction=0
default 13:32:57.605462-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: keep using process 1587 for navigation, reason=Navigation is same-site
default 13:32:57.606106-0300 MobileSyncExplorerReactNative 0x107ffa7c0 - ProcessAssertion: Successfully took RBS assertion 'WebProcess Background Assertion' for process with PID=1587
default 13:32:57.608870-0300 MobileSyncExplorerReactNative 0x107ffa820 - ProcessAssertion: Successfully took RBS assertion 'NetworkProcess Background Assertion' for process with PID=1566
default 13:32:57.615529-0300 MobileSyncExplorerReactNative 0x107fb4af8 - ApplicationStateTracker::ApplicationStateTracker(): m_isInBackground=0
default 13:32:57.615597-0300 MobileSyncExplorerReactNative 0x15a851200 - WKApplicationStateTrackingView: View with page [0x15a852218, pageProxyID=15] was added to a window, _lastObservedStateWasBackground=0, isNowBackground=0
default 13:32:57.617883-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::updateActivityState: view visibility state changed 0 -> 1
default 13:32:57.617990-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::updateThrottleState: UIProcess is taking a foreground assertion because the view is visible
default 13:32:57.618845-0300 MobileSyncExplorerReactNative 0x107fc8d70 - [PID=1587] ProcessThrottler::setAssertionType: Updating process assertion type to 3 (foregroundActivities=1, backgroundActivities=2)
default 13:32:57.618933-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType: type=3
default 13:32:57.618983-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didSetAssertionType(Foreground) Taking foreground assertion for network process
default 13:32:57.619045-0300 MobileSyncExplorerReactNative 0x107f68268 - [PID=1566] ProcessThrottler::setAssertionType: Updating process assertion type to 3 (foregroundActivities=1, backgroundActivities=1)
default 13:32:57.619106-0300 MobileSyncExplorerReactNative 0x107fe41f0 - [PID=1566, throttler=0x107f68268] ProcessThrottler::Activity::Activity: Starting foreground activity / 'Networking for foreground view(s)'
default 13:32:57.622067-0300 MobileSyncExplorerReactNative 0x107fe57c0 - [PID=1566, throttler=0x107f68268] ProcessThrottler::Activity::invalidate: Ending background activity / 'Networking for background view(s)'
default 13:32:57.622142-0300 MobileSyncExplorerReactNative 0x107fe4180 - [PID=1587, throttler=0x107fc8d70] ProcessThrottler::Activity::Activity: Starting foreground activity / 'View is visible'
default 13:32:57.623855-0300 MobileSyncExplorerReactNative 0x107ffa280 - ~ProcessAssertion: Releasing process assertion 'WebProcess Foreground Assertion' for process with PID=1587
default 13:32:57.623907-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didStartProvisionalLoadForFrame: frameID=3
default 13:32:57.623980-0300 MobileSyncExplorerReactNative 0x107fc8c00 - [PID=1587] WebProcessProxy::didStartProvisionalLoadForMainFrame:
default 13:32:57.624031-0300 MobileSyncExplorerReactNative 0x107ffa220 - NavigationState keeps its process network assertion because a new page load started
default 13:32:57.624166-0300 MobileSyncExplorerReactNative 0x107ffa2e0 - ~ProcessAssertion: Releasing process assertion 'NetworkProcess Foreground Assertion' for process with PID=1566
default 13:32:57.624660-0300 MobileSyncExplorerReactNative 0x15a851200 - WKApplicationStateTrackingView: View with page [0x15a852218, pageProxyID=15] was removed from a window, _lastObservedStateWasBackground=0
default 13:32:57.624968-0300 MobileSyncExplorerReactNative 0x107fb4af8 - ~ApplicationStateTracker
default 13:32:57.625085-0300 MobileSyncExplorerReactNative 0x107ffa9a0 - ProcessAssertion: Successfully took RBS assertion 'WebProcess Foreground Assertion' for process with PID=1587
default 13:32:57.625263-0300 MobileSyncExplorerReactNative 0x107fb4b60 - ApplicationStateTracker::ApplicationStateTracker(): m_isInBackground=0
default 13:32:57.625324-0300 MobileSyncExplorerReactNative 0x15a851200 - WKApplicationStateTrackingView: View with page [0x15a852218, pageProxyID=15] was added to a window, _lastObservedStateWasBackground=0, isNowBackground=0
default 13:32:57.627351-0300 MobileSyncExplorerReactNative 0x15a851200 - WKApplicationStateTrackingView: View with page [0x15a852218, pageProxyID=15] was removed from a window, _lastObservedStateWasBackground=0
default 13:32:57.627407-0300 MobileSyncExplorerReactNative 0x107fb4b60 - ~ApplicationStateTracker
default 13:32:57.627522-0300 MobileSyncExplorerReactNative 0x107fb4bc8 - ApplicationStateTracker::ApplicationStateTracker(): m_isInBackground=0
default 13:32:57.627629-0300 MobileSyncExplorerReactNative 0x15a851200 - WKApplicationStateTrackingView: View with page [0x15a852218, pageProxyID=15] was added to a window, _lastObservedStateWasBackground=0, isNowBackground=0
default 13:32:57.629215-0300 MobileSyncExplorerReactNative Unbalanced calls to begin/end appearance transitions for <SFSDKRootController: 0x159f24f20>.
default 13:32:57.629333-0300 MobileSyncExplorerReactNative 0x107ffa7c0 - ~ProcessAssertion: Releasing process assertion 'WebProcess Background Assertion' for process with PID=1587
default 13:32:57.629849-0300 MobileSyncExplorerReactNative 0x107ffaa00 - ProcessAssertion: Successfully took RBS assertion 'NetworkProcess Foreground Assertion' for process with PID=1566
default 13:32:57.629957-0300 MobileSyncExplorerReactNative 0x107ffa820 - ~ProcessAssertion: Releasing process assertion 'NetworkProcess Background Assertion' for process with PID=1566
default 13:32:58.155282-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didPerformClientRedirectShared: frameID=3
default 13:32:58.155687-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCancelClientRedirectForFrame: frameID=3
default 13:32:58.159918-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCommitLoadForFrame: frameID=3
default 13:32:58.221543-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: frameID=17, navigationID=0
default 13:32:58.221874-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize
default 13:32:58.222119-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize: Cannot authorize the requested URL.
default 13:32:58.222222-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didStartProvisionalLoadForFrame: frameID=17
default 13:32:58.222290-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: listener called: frameID=17, navigationID=3, policyAction=0, safeBrowsingWarning=0, isAppBoundDomain=0
default 13:32:58.222349-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::receivedNavigationPolicyDecision: frameID=17, navigationID=3, policyAction=0
default 13:32:58.222915-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCommitLoadForFrame: frameID=17
default 13:32:58.222981-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishDocumentLoadForFrame: frameID=17
default 13:32:58.223045-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishLoadForFrame: frameID=17
default 13:32:58.223134-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::willPerformClientRedirectForFrame: frameID=17
default 13:32:58.223680-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: frameID=17, navigationID=0
default 13:32:58.224231-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize
default 13:32:58.224641-0300 MobileSyncExplorerReactNative 0x107fe5310 - SOAuthorizationCoordinator::tryAuthorize: Cannot authorize the requested URL.
default 13:32:58.224711-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::decidePolicyForNavigationAction: listener called: frameID=17, navigationID=4, policyAction=0, safeBrowsingWarning=0, isAppBoundDomain=0
default 13:32:58.224746-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::receivedNavigationPolicyDecision: frameID=17, navigationID=4, policyAction=0
default 13:32:58.236449-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didStartProvisionalLoadForFrame: frameID=17
default 13:32:58.255472-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCancelClientRedirectForFrame: frameID=17
default 13:32:58.255630-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didCommitLoadForFrame: frameID=17
default 13:32:58.268192-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishDocumentLoadForFrame: frameID=17
default 13:32:58.268254-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishLoadForFrame: frameID=17
default 13:32:58.311454-0300 MobileSyncExplorerReactNative Writing analzed variants.
default 13:32:58.957433-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishDocumentLoadForFrame: frameID=3
default 13:32:58.963197-0300 MobileSyncExplorerReactNative 0x15a852218 - [pageProxyID=15, webPageID=16, PID=1587] WebPageProxy::didFinishLoadForFrame: frameID=3
default 13:32:58.963395-0300 MobileSyncExplorerReactNative 0x107ffa220 - NavigationState will release its process network assertion soon because the page load completed
default 13:33:01.963048-0300 MobileSyncExplorerReactNative 0x107ffa220 NavigationState is releasing background process assertion because a page load completed
default 13:33:01.963133-0300 MobileSyncExplorerReactNative 0x107fe51c0 - [PID=1587, throttler=0x107fc8d70] ProcessThrottler::Activity::invalidate: Ending background activity / 'Page Load'
Tell us more about the type of authentication you are using. Are you using advanced authentication? How is authentication configured on your org?
Thanks for responding. Not using advanced authentication. I am attaching bootconfig.plist and oauth policies for the connected app. Using oauth authentication. Session settings set to 24hs on both profile and org levels. For what I gather from testing it seems to be loosing the saved credentials after being closed for 20+ minutes. As mentioned this happens only in physical devices on ios 15.
Let me know if you need further information. Thanks!
A couple of follow up questions:
Token Valid for: 0 hours
on the connected app?Expire Refresh Token Immediately
. Could you check if that setting is enabled?It is not. Not sure why it says 0. If I edit that is not selected. It's valid until revoked. So no not enabled.
I noticed that IP restrictions are enabled in your latest screenshot. Could you try turning IP restrictions off, and check if the problem still exists? Based on the previous logs, it looks like the IP address might have changed (outside the subnet), and that could be a reason why the token refresh call failed.
Hi, I made the change and tried twice in case it hadn't taken effect yet but same issue. Plus that wouldn't explain why it works on the simulator or why it still works for users using ios 14 but not to those in ios 15.
Here is the new log, after the change. I couldn't notice any difference.
default 19:42:26.077254-0300 MobileSyncExplorerReactNative Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
default 19:42:26.077328-0300 MobileSyncExplorerReactNative 0x1035f90e0 - ~ProcessAssertion: Releasing process assertion 'ConnectionTerminationWatchdog' for process with PID=2315
default 19:42:26.249649-0300 MobileSyncExplorerReactNative AggregateDictionary is deprecated and will be removed in this release. Please migrate to Core Analytics.
default 19:42:26.249785-0300 MobileSyncExplorerReactNative 0x103568268 - [PID=2316] ProcessThrottler::updateAssertionIfNeeded: sending ProcessDidResume IPC because the process was suspended
default 19:42:26.249871-0300 MobileSyncExplorerReactNative 0x103568268 - [PID=2316] ProcessThrottler::setAssertionType: Updating process assertion type to 1 (foregroundActivities=0, backgroundActivities=1)
default 19:42:26.253529-0300 MobileSyncExplorerReactNative 0x280da1200 - WKProcessAssertionBackgroundTaskManager: beginBackgroundTaskWithName
default 19:42:26.253580-0300 MobileSyncExplorerReactNative WKProcessAssertionBackgroundTaskManager: Took a FinishTaskInterruptable assertion for own process
default 19:42:26.299896-0300 MobileSyncExplorerReactNative Task
Hi I kept trying and got an additional log which might be more helpful. SFCrypto seems to be the predominant issue showing on the log before it is logged out. Thanks!
default 15:26:41.793044-0300 MobileSyncExplorerReactNative Initializing connection
default 15:26:41.793900-0300 MobileSyncExplorerReactNative Removing all cached process handles
default 15:26:41.822714-0300 MobileSyncExplorerReactNative Sending handshake request attempt #1 to server
default 15:26:41.822815-0300 MobileSyncExplorerReactNative Creating connection to com.apple.runningboard
default 15:26:41.823946-0300 MobileSyncExplorerReactNative Handshake succeeded
default 15:26:41.824038-0300 MobileSyncExplorerReactNative Identity resolved as application
I ran into a similar problem. I installed an iOS Native sample app (https://github.com/forcedotcom/SalesforceMobileSDK-Templates/tree/master/iOSNativeSwiftTemplate), which is automatically generated by forceios, on an physical device. iOS version is 15. SDK version is 9.1 or 9.2. Similar to rsmilne, after logging in and killing the app, The app was logged out after 20+ minutes.
The following steps will reproduce the problem:
I was able to resolve this by downgrading to 9.0.0. Whatever causes the logout in IOS 15 was introduced in 9.1.0. In my case I had to fix single sign on manually on the 9.0.0 SDK code since 9.0.0 has single sign on broken.
@rsmilne I could solve the logout issue by downgrading to 9.0.0. Thanks.
Also, I manually tested SSO with SDK 9.0.0 via Google Authentication Provider. https://help.salesforce.com/s/articleView?id=sf.sso_provider_google.htm&type=5 It was success. Would you tell me how I can specify the SSO issue, or where I can know it?
Not Sure I understand the question. When I downgraded to 9.0.0 to solve the logout issue SSO just crashed for me. The way I fixed it was by changing the following in the SDK (This is actually done in 9.1.0)
Hope that helps!
It is interesting that you say SDK 9.0.0 fixes it for you, we're on 8.3.0 and are experiencing the same.
So we're still investigating our issues, but basically it seems that with iOS 15 the app is being launched in the background, because whatever (e.g. in one case it was locationd
for us but in another something called DAS Prewarm launch
), and when it does, the keychain is locked even if we specified SFKeychainItemWrapper.setAccessibleAttribute(kSecAttrAccessibleAfterFirstUnlock)
in our app.
This results in the following log:
115 default 14:44:22.678833+1100 securityd update_applier: refusing to update musr
115 default 14:44:22.680526+1100 securityd ks_encrypt_data (db): failed: Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 9, bag: 0) Access to item attempted while keychain is locked." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 9, bag: 0) Access to item attempted while keychain is locked.}
115 default 14:44:22.680561+1100 securityd SecDbKeychainItemV7: cannot decrypt metadata key because the keychain is locked (-25308)
115 default 14:44:22.680666+1100 securityd OurApp[695]/1#12 LF=0 update Error Domain=NSOSStatusErrorDomain Code=-25308 "ks_crypt: e00002e2 failed to 'od' item (class 9, bag: 0) Access to item attempted while keychain is locked." UserInfo={numberOfErrorsDeep=0, NSDescription=ks_crypt: e00002e2 failed to 'od' item (class 9, bag: 0) Access to item attempted while keychain is locked.}
695 error 14:44:22.681118+1100 OurApp CLASS: SFKeychainItemWrapper writeToKeychain: Error updating keychain item: errSecInteractionNotAllowed.
695 default 14:44:22.681514+1100 OurApp *** Terminating app due to uncaught exception 'com.salesforce.security.keychainException', reason: 'writeToKeychain: Error updating keychain item: errSecInteractionNotAllowed.'
Now for us the call stack of this was actually in SFKeyStoreManager renameKeysWithKeyTypePasscode:
which is removed as of SDK 9.0.0 however we found that even if we removed this then SFDefaultUserAccountPersister is removing the UserAccount plist because it can't be decrypted because the keychain is not returning an encryption key.
So @wmathurin the 20+ minutes has nothing to do with the session, and is actually semi random, what you're waiting for is for the iOS 15 to wake your application in the background while keychain is locked and cause it to wipe the User Account plist file.
This will ONLY happen if the app was KILLED , not backgrounded prior to this and even if the most permissive kSecAttrAccessibleAfterFirstUnlock
mode is selected for keychain item wrapper.
We're still investigating our options, unfortunately of course we came across this once a large number of users was affected :(
I did not compare the git diff of prior versions to 9.0.0 since for me that did it. I did see that in 9.1.0 they change multiple things related to the keychain. I do react-native mostly so not really proficient in objective-c or swift to figure out exactly what changed to break it. @az-oolloow Didn't 9.0.0 work for you?
@rsmilne we can't easily upgrade to 9.0.0, our app is huge and it involves a lot of regression testing, plus we're using a fork of their SDK. So we're trying to resolve the issue right now and minify the impact, we have found a couple of workarounds for user being logged out but as the SDK is still trying to access keychain and things are crashing, they're not good.
@bbirman @az-oolloow is this issue fixed? if yes please help us how to fix this issue as we are also facing same issue
Please fill out the following details: