Maps & Location

RSS for tag

Learn how to integrate MapKit and Core Location to unlock the power of location-based features in your app.

Maps & Location Documentation

Posts under Maps & Location subtopic

Post

Replies

Boosts

Views

Activity

MKDirections returns "Directions Not Available" when A and B are outside mainland China (e.g. Tokyo–Osaka)
I use MapKit and MKDirections for driving directions. The error "Directions Not Available" appears when the two points (A and B) are outside mainland China (e.g. Tokyo → Osaka). For routes inside China (e.g. Shanghai → Beijing), the same code works. let req = MKDirections.Request() req.source = MKMapItem(placemark: MKPlacemark(coordinate: origin)) req.destination = MKMapItem(placemark: MKPlacemark(coordinate: destination)) req.transportType = .automobile MKDirections(request: req).calculate { response, error in // Tokyo–Osaka (outside China): "Directions Not Available" // Shanghai–Beijing (inside China): works } Questions: Is MKDirections intended to support only routes within the device’s region (e.g. China)? When A/B are abroad, is "Directions Not Available" expected? Is this documented? For cross-country or overseas routes (e.g. Tokyo–Osaka), what is the recommended approach—third-party routing API + drawing on MapKit? Thanks.
0
0
104
Feb ’26
BackgroundLocationIndicator Bubble in iOS26
I display the BackgroundLocationIndicator (blue/white bubble in status bar) in all my apps, that use background location service. Up to iOS 18 it allowed the user to tap on the bubble from within any other non fullscreen app and bring the app using the background location service to the foreground. In iOS26 this only works from the home screen. Is this intended behaviour or a bug ? If intended, please provide us with an option to allow the user to keep the pre iOS26 behavour. This was a quite convenient shortcut to jump directly to the locationservice using app.
2
0
126
Mar ’26
MapKit JS quota limits
Hello, I’m planning to use MapKit JS for a production web/mobile application and I’m trying to better understand the quota limits and pricing model. From the documentation, I understand that MapKit JS provides a free daily limit of: 250,000 map views 25,000 service calls per Apple Developer Program membership. However, I’m not clear about what exactly happens if these limits are exceeded. My questions: If my application exceeds 250,000 map views or 25,000 service calls in a day, what happens? Will the API simply start returning errors (for example HTTP 429), or will Apple automatically charge for additional usage? Is there an official pricing model for usage above the free quota, or do we need to contact Apple to request higher limits? Are these limits strict daily hard limits that should never be exceeded in production? I’m trying to design the architecture of my application and would like to understand whether we must strictly stay below these limits or whether scaling beyond them is possible. Thank you.
1
0
148
Mar ’26
Crash when iterating over CMSensorDataList via NSFastEnumeration
When iterating over a CMSensorDataList (which conforms to NSFastEnumeration) returned by CoreMotion's CMSensorRecorder's accelerometerData(from:to:) method, we sometimes see the crash below, with the frame above pointing to the close brace of the for loop iterating over the list. 0 CoreMotion 0x000000019fcf01dc CLInternalGetPinnedLocationAuthorizationState + 423316 1 CoreMotion 0x000000019fcf036b CLInternalGetPinnedLocationAuthorizationState + 423715 2 CoreMotion 0x000000019fcf02cb CLInternalGetPinnedLocationAuthorizationState + 423555 3 CoreMotion 0x000000019fbb8553 CLMotionActivity::isStatic() const + 1751823 It has been incredibly difficult to reproduce. We managed to reproduce a similar crash stack twice in a separate app that misused accelerometerData(from:to:) by providing a from and to Date that were more than 12 hours apart and iterating over the returned data, but it only occurred twice in many hours of testing. We hope to know if this could be a bug in Core Motion or it is definitely in our SDK, or if there is any way to fail gracefully in this scenario.
2
0
161
2w
🟡 Yellow Circle In front of my app Name. What does it mean ?
Hello everyone, a few months ago I started building an app using flutter, and a few days ago when I told one of my friends to test it trough Test Flight he asked me why it shows an 🟡 Yellow Circle in front of the app name ? is there an Apple documentation regarding this yellow circle so I can point others to that page ? I googled to find out about this behaviour and it says that my app uses the microphone, but I do not have any code, any library that is using the microphone, it is an Outdoor/GPS Recording app. Thank you.
2
0
124
2w
Significant Location Change Event in two apps running on same device
I am using Significant Location Change (SLC) monitoring to relaunch my app after it has been terminated. I have implemented SLC in two separate apps installed on the same device, and I would like to understand how the system delivers SLC events in this scenario. Specifically: Will both apps receive the SLC event at the same time, or can there be differences in the timing of delivery? If there are differences, what factors influence when each app receives the event? What criteria or system conditions determine how and when SLC events are delivered to different apps on the same device? Any clarification on the event delivery behavior would be greatly appreciated.
1
0
78
2w
iOS26 系统锁屏一段时间,蓝牙钥匙和数字钥匙都不能正常工作
Recently, we have received continuous feedback from users that the Bluetooth key and digital key are not working properly or are not functioning; Through analysis of App logs, it was found that after the iOS system locks the screen, the iBeacon background keep-alive function fails, Bluetooth connection also fails, and system callbacks cannot be obtained; the digital key also fails, and it fails simultaneously with the Bluetooth key; We have checked the specific permission configuration and it aligns with the recommended configuration in the official documentation, with no abnormalities. Although this type of issue is not a widespread problem, it has been continuously reported by users and is very troublesome. Does the official team have a clear explanation? Why are both Bluetooth keys and digital keys affected after the app is locked? Digital keys should be less affected. The following is a log analysis of a certain user 1: Step 2, the App entered the background; Step 3, the App's Bluetooth was disconnected; 3-4 The App remained in the background for 5 hours before being launched again 2: This type of issue is due to the system disconnecting the Bluetooth connection when the app enters the background; most likely, the app has been killed by the system when the user gets out of the car, and it has not been revived; the car key also does not work; During the time period from 2026-03-23T17:59:33 to 2026-03-23T21:23:49, why didn't carkey work properly 1:2026-03-23T16:52:11.676+08:00 new_carkey: key:, rssi:-89, AUTH_OK 2:2026-03-23T17:55:51.782+08:00 new_carkey: AppMonitor appDidEnterBackground bleStatus: success(Nimbus.NIOCarBLEKey.State.connected) 3:2026-03-23T17:59:33.747+08:00 new_carkey: ibeacon: didExitRegion, vid: NIO BLE Key, uuid: *** bleStatus: failure(Error Domain=CBErrorDomain Code=15 ""Failed to encrypt the connection, the connection has timed out unexpectedly."" UserInfo={key_device_name=NIO Key 0201 , NSLocalizedDescription=Failed to encrypt the connection, the connection has timed out unexpectedly., vehicle_id=}) " 4:2026-03-23T21:23:49.920+08:00 new_carkey: AppMonitor appDidFinishLaunching: [:] bleStatus: success(Nimbus.NIOCarBLEKey.State.disconnected) 5:2026-03-23T22:01:51.235+08:00 new_carkey: key:****, rssi:-90, AUTH_OK
0
0
72
2w
Inquiry regarding regional availability and restrictions of the Apple Find My Network
Hello, I am trying to gather information on the global availability of the Apple Find My Network. Specifically, I would like to know: Which countries currently support this feature? Is it available worldwide, with only a few specific countries/regions facing usage restrictions or complete unavailability? I have already reviewed the public Feature Availability page, but was unable to find any documentation addressing regional restrictions. Any clarification or pointers to relevant documentation would be greatly appreciated. Thank you!
0
0
39
1w
Does Nearby Interaction support UWB multicast communication?
Hello, I am currently working with the Nearby Interaction framework on iOS and exploring the capabilities of UWB-based communication. I would like to ask whether Nearby Interaction supports multicast communication over UWB. Specifically, is it possible for one device to interact simultaneously with multiple peer devices using UWB (e.g., broadcasting ranging or spatial information to multiple devices at once), or is the framework strictly limited to one-to-one peer interactions? If multicast is not supported, are there any recommended approaches or best practices for achieving similar functionality using the current APIs? Thank you for your help. Best regards,
0
0
40
5d
Maps tokens suddenly stopped working today and now return 401 everywhere
Hi, Our Apple Maps integration has been working normally for years, but starting today, newly created Maps tokens suddenly became unusable. Tokens created from the Apple Developer backend now return 401 Unauthorized everywhere we test them. We can reproduce this in: our own code Apple’s Try Maps Server API page MapKit JS So this does not appear to be limited to our app code. We also tested through a US network entry point to rule out a mainland China network issue, but the result was the same. At the moment, Maps tokens created in the backend seem to be unusable in all cases on our side. Has anyone else seen this today, or is there any known issue affecting Maps token creation or validation? Thanks.
0
0
92
3d
UIKit mapView color annotations
I have tried to make colored annotations in mapView (shown in the commented sections) but they always appear in black. Any help would be appreciated. func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "TempAnnotationView") annotationView.canShowCallout = true annotationView.rightCalloutAccessoryView = UIButton(type: .detailDisclosure) let configuration = UIImage.SymbolConfiguration(pointSize: 10, weight: .thin, scale: .default) if annotation.title == "Start" { // let config = UIImage.SymbolConfiguration.preferringMulticolor() // let image = UIImage(systemName: "flag.fill", withConfiguration: config) // // palette // let config2 = UIImage.SymbolConfiguration(paletteColors: [.systemRed, .systemGreen, .systemBlue]) // let image2 = UIImage(systemName: "person.3.sequence.fill", withConfiguration: config2) // // hierarchical symbols // let config3 = UIImage.SymbolConfiguration(hierarchicalColor: .systemIndigo) // let image3 = UIImage(systemName: "square.stack.3d.down.right.fill", withConfiguration: config3) // // color // let image4 = UIImage(systemName: "cone.fill")?.withTintColor(.systemRed, renderingMode: .alwaysTemplate) // annotationView.image = image4 annotationView.image = UIImage(systemName: "poweron", withConfiguration: configuration) } return annotationView }
3
0
815
Apr ’25
CLMonitor related crash - EXC_BAD_ACCESS (SIGSEGV)
Hello I started using CLMonitor on my App, and I am noticing the following crash on Xcode Organizer for dozens of my app users: Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000001 Exception Codes: 0x0000000000000001, 0x0000000000000001 VM Region Info: 0x1 is not in any region. Bytes before following region: …………. REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT ………-…….. [ 176K] r-x/r-x SM=COW /var/containers/Bundle/Application/.........../MyApp Termination Reason: SIGNAL 11 Segmentation fault: 11 Terminating Process: exc handler […..] Thread 4 name: Thread 4 Crashed: 0 libswiftCoreLocation.dylib 0x000000021680b4c8 @objc completion handler block implementation for @escaping @callee_unowned @convention(block) (@unowned CLMonitor) -> () with result type CLMonitor + 44 (<compiler-generated>:0) 1 CoreLocation 0x0000000196cdddd4 __76-[CLMonitorConfiguration vendMonitorWithIdentityAndAuthorizationAttributes:]_block_invoke + 216 (CLMonitorConfiguration.m:195) 2 libdispatch.dylib 0x0000000191138370 _dispatch_call_block_and_release + 32 (init.c:1549) 3 libdispatch.dylib 0x000000019113a0d0 _dispatch_client_callout + 20 (object.m:576) 4 libdispatch.dylib 0x00000001911416d8 _dispatch_lane_serial_drain + 744 (queue.c:3934) 5 libdispatch.dylib 0x00000001911421e0 _dispatch_lane_invoke + 380 (queue.c:4025) 6 libdispatch.dylib 0x000000019114d258 _dispatch_root_queue_drain_deferred_wlh + 288 (queue.c:7193) 7 libdispatch.dylib 0x000000019114caa4 _dispatch_workloop_worker_thread + 540 (queue.c:6787) 8 libsystem_pthread.dylib 0x0000000211933c7c _pthread_wqthread + 288 (pthread.c:2696) 9 libsystem_pthread.dylib 0x0000000211930488 start_wqthread + 8 Does anyone have similar issue when using CLMonitor? How can I debug / fix this issue? Is it an CLMonitor API bug? Should I file a bug report?
8
0
927
Jun ’25
[MapKit] Initialization failed because the authorization token is invalid.
When I try to import mapkitjs using HTML, I use the correct token, but the error token is invalid. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>地点信息查询</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; padding: 20px; background-color: #f5f5f7; } .container { max-width: 800px; margin: 0 auto; } .search-box { width: 100%; padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px; } .result-container { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .place-image { width: 100%; max-height: 300px; object-fit: cover; border-radius: 8px; margin-bottom: 15px; } .place-info { margin-top: 15px; } .place-info h2 { margin-top: 0; color: #1d1d1f; } .info-item { margin: 10px 0; color: #515154; } #map { width: 100%; height: 300px; border-radius: 8px; margin-top: 20px; } </style> </head> <body> <div class="container"> <h1>地点信息查询</h1> <input type="text" id="searchInput" class="search-box" placeholder="请输入地点名称(如:北京故宫)"> <div class="result-container"> <div id="placeImage"></div> <div class="place-info"> <h2 id="placeName"></h2> <div id="placeDetails"></div> </div> <div id="map"></div> </div> </div> <script src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script> <script> // 初始化 MapKit mapkit.init({ authorizationCallback: function(done) { done('mytoken'); }, language: 'zh-CN', region: 'CN', callback: function(error) { if (error) { console.error('MapKit 初始化错误:', error); alert('地图服务初始化失败,请检查网络连接和授权设置'); } else { console.log('MapKit 初始化成功'); } } }); // 添加错误处理 window.addEventListener('error', function(event) { console.error('MapKit 错误:', event.error); }); const searchInput = document.getElementById('searchInput'); const placeImage = document.getElementById('placeImage'); const placeName = document.getElementById('placeName'); const placeDetails = document.getElementById('placeDetails'); const mapDiv = document.getElementById('map'); let map; searchInput.addEventListener('input', debounce(searchPlace, 500)); function debounce(func, wait) { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; } async function searchPlace() { console.log('搜索'); const query = searchInput.value; if (!query) return; try { // 使用 MapKit 搜索地点 const search = new mapkit.Search({ region: new mapkit.CoordinateRegion( new mapkit.Coordinate(39.9042, 116.4074), // 默认北京坐标 new mapkit.CoordinateSpan(0.1, 0.1) ) }); search.search(query, (error, data) => { if (error) { console.error('搜索错误:', error); return; } if (data.places.length > 0) { const place = data.places[0]; displayPlaceInfo(place); showMap(place); } }); } catch (error) { console.error('获取地点信息失败:', error); } } function displayPlaceInfo(place) { placeName.textContent = place.name; let detailsHTML = ''; if (place.address) { detailsHTML += `<p class="info-item">地址: ${place.address}</p>`; } if (place.phoneNumber) { detailsHTML += `<p class="info-item">电话: ${place.phoneNumber}</p>`; } if (place.url) { detailsHTML += `<p class="info-item">网址: <a href="${place.url}" target="_blank">${place.url}</a></p>`; } placeDetails.innerHTML = detailsHTML; // 获取地点图片 if (place.pointOfInterestCategory) { // 这里可以调用其他图片API来获取地点图片 // 示例使用占位图片 placeImage.innerHTML = `<img src="https://source.unsplash.com/800x400/?${encodeURIComponent(place.name)}" class="place-image" alt="${place.name}">`; } } function showMap(place) { if (map) { map.remove(); } map = new mapkit.Map(mapDiv, { region: new mapkit.CoordinateRegion( place.coordinate, new mapkit.CoordinateSpan(0.01, 0.01) ) }); const annotation = new mapkit.MarkerAnnotation(place.coordinate, { title: place.name, data: { place: place } }); map.addAnnotation(annotation); } </script> </body> </html>
1
0
199
Apr ’25
Polyline rendering below street labels in MapKitJS
Hello (: I’m working with MapKitJS and would like to render polylines that follow roads — similar to the behavior seen on maps.apple.com. While I can align polylines to roads manually, I haven’t found a way to render them below street names and road shields. Currently, all polylines appear above labels, which reduces readability when displaying routes in urban areas. On maps.apple.com, polylines are rendered under street labels, which provides a much cleaner appearance. Is there a way to achieve this layering behavior in MapKitJS? If not, are there plans to support this kind of layer control in the future? Thanks in advance! MapKitJS (5.45.0): maps.apple.com:
2
0
148
May ’25
How can I prevent virtual location from affecting the security of my app
Hello, I have noticed that some users have modified their real location through an app called "MGU" to bypass my app's security checks. I want to know how to protect my app and detect users using virtual location. I have reproduced the process of virtual positioning here: Insert a plug-in through the interface at the bottom of the phone and connect it via Bluetooth on the phone Set the desired positioning target on the "MGU" app Turn off your phone's WiFi, network, and location for 10 seconds, then turn it back on At this point, virtual positioning is successful. Please assist me in troubleshooting this issue and inform me of the principle of implementing virtual positioning in this app and how to prevent it. The following is the screen recording of virtual positioning operation: https://flowus.cn/share/145b3232-26c3-4ea3-b3ff-4aad1495eb4d
1
0
180
Apr ’25
kCLErrorLocationUnknown becoming a big issue
In the last few months we have seen a lot of the following errors in which it fails to retrieve location information. This seems to happen across multiple browsers and feels related to apple/mac OS more than the browsers. Error: "CoreLocationProvider: CoreLocation framework reported a kCLErrorLocationUnknown failure." Any suggestions or an ETA on when this can be fixed? I have seen other threads/posts on this but wanted a new one to highlight the issue is prevalent.
4
0
1.1k
Sep ’25
Location updates in background…
Hello, I’ve done a lot of testing of location services running in background with various settings, but in all scenarios location updates pause after a couple of hours, especially overnight In sleep mode. My app, for personal safety, requires regular location updates to 5m accuracy every minute. The only solution I have found is to keep the app in foreground. Location always stops updating. Background mode stops updating. Live location services stops updating. Is there a solution I may have missed other than keeping app in foreground? thank you, Brendan
1
0
173
Jun ’25
MKDirections returns "Directions Not Available" when A and B are outside mainland China (e.g. Tokyo–Osaka)
I use MapKit and MKDirections for driving directions. The error "Directions Not Available" appears when the two points (A and B) are outside mainland China (e.g. Tokyo → Osaka). For routes inside China (e.g. Shanghai → Beijing), the same code works. let req = MKDirections.Request() req.source = MKMapItem(placemark: MKPlacemark(coordinate: origin)) req.destination = MKMapItem(placemark: MKPlacemark(coordinate: destination)) req.transportType = .automobile MKDirections(request: req).calculate { response, error in // Tokyo–Osaka (outside China): "Directions Not Available" // Shanghai–Beijing (inside China): works } Questions: Is MKDirections intended to support only routes within the device’s region (e.g. China)? When A/B are abroad, is "Directions Not Available" expected? Is this documented? For cross-country or overseas routes (e.g. Tokyo–Osaka), what is the recommended approach—third-party routing API + drawing on MapKit? Thanks.
Replies
0
Boosts
0
Views
104
Activity
Feb ’26
BackgroundLocationIndicator Bubble in iOS26
I display the BackgroundLocationIndicator (blue/white bubble in status bar) in all my apps, that use background location service. Up to iOS 18 it allowed the user to tap on the bubble from within any other non fullscreen app and bring the app using the background location service to the foreground. In iOS26 this only works from the home screen. Is this intended behaviour or a bug ? If intended, please provide us with an option to allow the user to keep the pre iOS26 behavour. This was a quite convenient shortcut to jump directly to the locationservice using app.
Replies
2
Boosts
0
Views
126
Activity
Mar ’26
MapKit JS quota limits
Hello, I’m planning to use MapKit JS for a production web/mobile application and I’m trying to better understand the quota limits and pricing model. From the documentation, I understand that MapKit JS provides a free daily limit of: 250,000 map views 25,000 service calls per Apple Developer Program membership. However, I’m not clear about what exactly happens if these limits are exceeded. My questions: If my application exceeds 250,000 map views or 25,000 service calls in a day, what happens? Will the API simply start returning errors (for example HTTP 429), or will Apple automatically charge for additional usage? Is there an official pricing model for usage above the free quota, or do we need to contact Apple to request higher limits? Are these limits strict daily hard limits that should never be exceeded in production? I’m trying to design the architecture of my application and would like to understand whether we must strictly stay below these limits or whether scaling beyond them is possible. Thank you.
Replies
1
Boosts
0
Views
148
Activity
Mar ’26
Crash when iterating over CMSensorDataList via NSFastEnumeration
When iterating over a CMSensorDataList (which conforms to NSFastEnumeration) returned by CoreMotion's CMSensorRecorder's accelerometerData(from:to:) method, we sometimes see the crash below, with the frame above pointing to the close brace of the for loop iterating over the list. 0 CoreMotion 0x000000019fcf01dc CLInternalGetPinnedLocationAuthorizationState + 423316 1 CoreMotion 0x000000019fcf036b CLInternalGetPinnedLocationAuthorizationState + 423715 2 CoreMotion 0x000000019fcf02cb CLInternalGetPinnedLocationAuthorizationState + 423555 3 CoreMotion 0x000000019fbb8553 CLMotionActivity::isStatic() const + 1751823 It has been incredibly difficult to reproduce. We managed to reproduce a similar crash stack twice in a separate app that misused accelerometerData(from:to:) by providing a from and to Date that were more than 12 hours apart and iterating over the returned data, but it only occurred twice in many hours of testing. We hope to know if this could be a bug in Core Motion or it is definitely in our SDK, or if there is any way to fail gracefully in this scenario.
Replies
2
Boosts
0
Views
161
Activity
2w
tracking employee location for hospital
how to tracking location service while user killed app
Replies
0
Boosts
0
Views
92
Activity
3w
Tracking employee location
how to keep BG running while user killed app, because admin want to tracking inside/outside of employee
Replies
0
Boosts
0
Views
74
Activity
3w
🟡 Yellow Circle In front of my app Name. What does it mean ?
Hello everyone, a few months ago I started building an app using flutter, and a few days ago when I told one of my friends to test it trough Test Flight he asked me why it shows an 🟡 Yellow Circle in front of the app name ? is there an Apple documentation regarding this yellow circle so I can point others to that page ? I googled to find out about this behaviour and it says that my app uses the microphone, but I do not have any code, any library that is using the microphone, it is an Outdoor/GPS Recording app. Thank you.
Replies
2
Boosts
0
Views
124
Activity
2w
Significant Location Change Event in two apps running on same device
I am using Significant Location Change (SLC) monitoring to relaunch my app after it has been terminated. I have implemented SLC in two separate apps installed on the same device, and I would like to understand how the system delivers SLC events in this scenario. Specifically: Will both apps receive the SLC event at the same time, or can there be differences in the timing of delivery? If there are differences, what factors influence when each app receives the event? What criteria or system conditions determine how and when SLC events are delivered to different apps on the same device? Any clarification on the event delivery behavior would be greatly appreciated.
Replies
1
Boosts
0
Views
78
Activity
2w
iOS26 系统锁屏一段时间,蓝牙钥匙和数字钥匙都不能正常工作
Recently, we have received continuous feedback from users that the Bluetooth key and digital key are not working properly or are not functioning; Through analysis of App logs, it was found that after the iOS system locks the screen, the iBeacon background keep-alive function fails, Bluetooth connection also fails, and system callbacks cannot be obtained; the digital key also fails, and it fails simultaneously with the Bluetooth key; We have checked the specific permission configuration and it aligns with the recommended configuration in the official documentation, with no abnormalities. Although this type of issue is not a widespread problem, it has been continuously reported by users and is very troublesome. Does the official team have a clear explanation? Why are both Bluetooth keys and digital keys affected after the app is locked? Digital keys should be less affected. The following is a log analysis of a certain user 1: Step 2, the App entered the background; Step 3, the App's Bluetooth was disconnected; 3-4 The App remained in the background for 5 hours before being launched again 2: This type of issue is due to the system disconnecting the Bluetooth connection when the app enters the background; most likely, the app has been killed by the system when the user gets out of the car, and it has not been revived; the car key also does not work; During the time period from 2026-03-23T17:59:33 to 2026-03-23T21:23:49, why didn't carkey work properly 1:2026-03-23T16:52:11.676+08:00 new_carkey: key:, rssi:-89, AUTH_OK 2:2026-03-23T17:55:51.782+08:00 new_carkey: AppMonitor appDidEnterBackground bleStatus: success(Nimbus.NIOCarBLEKey.State.connected) 3:2026-03-23T17:59:33.747+08:00 new_carkey: ibeacon: didExitRegion, vid: NIO BLE Key, uuid: *** bleStatus: failure(Error Domain=CBErrorDomain Code=15 ""Failed to encrypt the connection, the connection has timed out unexpectedly."" UserInfo={key_device_name=NIO Key 0201 , NSLocalizedDescription=Failed to encrypt the connection, the connection has timed out unexpectedly., vehicle_id=}) " 4:2026-03-23T21:23:49.920+08:00 new_carkey: AppMonitor appDidFinishLaunching: [:] bleStatus: success(Nimbus.NIOCarBLEKey.State.disconnected) 5:2026-03-23T22:01:51.235+08:00 new_carkey: key:****, rssi:-90, AUTH_OK
Replies
0
Boosts
0
Views
72
Activity
2w
Inquiry regarding regional availability and restrictions of the Apple Find My Network
Hello, I am trying to gather information on the global availability of the Apple Find My Network. Specifically, I would like to know: Which countries currently support this feature? Is it available worldwide, with only a few specific countries/regions facing usage restrictions or complete unavailability? I have already reviewed the public Feature Availability page, but was unable to find any documentation addressing regional restrictions. Any clarification or pointers to relevant documentation would be greatly appreciated. Thank you!
Replies
0
Boosts
0
Views
39
Activity
1w
Does Nearby Interaction support UWB multicast communication?
Hello, I am currently working with the Nearby Interaction framework on iOS and exploring the capabilities of UWB-based communication. I would like to ask whether Nearby Interaction supports multicast communication over UWB. Specifically, is it possible for one device to interact simultaneously with multiple peer devices using UWB (e.g., broadcasting ranging or spatial information to multiple devices at once), or is the framework strictly limited to one-to-one peer interactions? If multicast is not supported, are there any recommended approaches or best practices for achieving similar functionality using the current APIs? Thank you for your help. Best regards,
Replies
0
Boosts
0
Views
40
Activity
5d
Maps tokens suddenly stopped working today and now return 401 everywhere
Hi, Our Apple Maps integration has been working normally for years, but starting today, newly created Maps tokens suddenly became unusable. Tokens created from the Apple Developer backend now return 401 Unauthorized everywhere we test them. We can reproduce this in: our own code Apple’s Try Maps Server API page MapKit JS So this does not appear to be limited to our app code. We also tested through a US network entry point to rule out a mainland China network issue, but the result was the same. At the moment, Maps tokens created in the backend seem to be unusable in all cases on our side. Has anyone else seen this today, or is there any known issue affecting Maps token creation or validation? Thanks.
Replies
0
Boosts
0
Views
92
Activity
3d
UIKit mapView color annotations
I have tried to make colored annotations in mapView (shown in the commented sections) but they always appear in black. Any help would be appreciated. func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "TempAnnotationView") annotationView.canShowCallout = true annotationView.rightCalloutAccessoryView = UIButton(type: .detailDisclosure) let configuration = UIImage.SymbolConfiguration(pointSize: 10, weight: .thin, scale: .default) if annotation.title == "Start" { // let config = UIImage.SymbolConfiguration.preferringMulticolor() // let image = UIImage(systemName: "flag.fill", withConfiguration: config) // // palette // let config2 = UIImage.SymbolConfiguration(paletteColors: [.systemRed, .systemGreen, .systemBlue]) // let image2 = UIImage(systemName: "person.3.sequence.fill", withConfiguration: config2) // // hierarchical symbols // let config3 = UIImage.SymbolConfiguration(hierarchicalColor: .systemIndigo) // let image3 = UIImage(systemName: "square.stack.3d.down.right.fill", withConfiguration: config3) // // color // let image4 = UIImage(systemName: "cone.fill")?.withTintColor(.systemRed, renderingMode: .alwaysTemplate) // annotationView.image = image4 annotationView.image = UIImage(systemName: "poweron", withConfiguration: configuration) } return annotationView }
Replies
3
Boosts
0
Views
815
Activity
Apr ’25
CLMonitor related crash - EXC_BAD_ACCESS (SIGSEGV)
Hello I started using CLMonitor on my App, and I am noticing the following crash on Xcode Organizer for dozens of my app users: Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000001 Exception Codes: 0x0000000000000001, 0x0000000000000001 VM Region Info: 0x1 is not in any region. Bytes before following region: …………. REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> __TEXT ………-…….. [ 176K] r-x/r-x SM=COW /var/containers/Bundle/Application/.........../MyApp Termination Reason: SIGNAL 11 Segmentation fault: 11 Terminating Process: exc handler […..] Thread 4 name: Thread 4 Crashed: 0 libswiftCoreLocation.dylib 0x000000021680b4c8 @objc completion handler block implementation for @escaping @callee_unowned @convention(block) (@unowned CLMonitor) -> () with result type CLMonitor + 44 (<compiler-generated>:0) 1 CoreLocation 0x0000000196cdddd4 __76-[CLMonitorConfiguration vendMonitorWithIdentityAndAuthorizationAttributes:]_block_invoke + 216 (CLMonitorConfiguration.m:195) 2 libdispatch.dylib 0x0000000191138370 _dispatch_call_block_and_release + 32 (init.c:1549) 3 libdispatch.dylib 0x000000019113a0d0 _dispatch_client_callout + 20 (object.m:576) 4 libdispatch.dylib 0x00000001911416d8 _dispatch_lane_serial_drain + 744 (queue.c:3934) 5 libdispatch.dylib 0x00000001911421e0 _dispatch_lane_invoke + 380 (queue.c:4025) 6 libdispatch.dylib 0x000000019114d258 _dispatch_root_queue_drain_deferred_wlh + 288 (queue.c:7193) 7 libdispatch.dylib 0x000000019114caa4 _dispatch_workloop_worker_thread + 540 (queue.c:6787) 8 libsystem_pthread.dylib 0x0000000211933c7c _pthread_wqthread + 288 (pthread.c:2696) 9 libsystem_pthread.dylib 0x0000000211930488 start_wqthread + 8 Does anyone have similar issue when using CLMonitor? How can I debug / fix this issue? Is it an CLMonitor API bug? Should I file a bug report?
Replies
8
Boosts
0
Views
927
Activity
Jun ’25
[MapKit] Initialization failed because the authorization token is invalid.
When I try to import mapkitjs using HTML, I use the correct token, but the error token is invalid. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>地点信息查询</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; padding: 20px; background-color: #f5f5f7; } .container { max-width: 800px; margin: 0 auto; } .search-box { width: 100%; padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px; } .result-container { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .place-image { width: 100%; max-height: 300px; object-fit: cover; border-radius: 8px; margin-bottom: 15px; } .place-info { margin-top: 15px; } .place-info h2 { margin-top: 0; color: #1d1d1f; } .info-item { margin: 10px 0; color: #515154; } #map { width: 100%; height: 300px; border-radius: 8px; margin-top: 20px; } </style> </head> <body> <div class="container"> <h1>地点信息查询</h1> <input type="text" id="searchInput" class="search-box" placeholder="请输入地点名称(如:北京故宫)"> <div class="result-container"> <div id="placeImage"></div> <div class="place-info"> <h2 id="placeName"></h2> <div id="placeDetails"></div> </div> <div id="map"></div> </div> </div> <script src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script> <script> // 初始化 MapKit mapkit.init({ authorizationCallback: function(done) { done('mytoken'); }, language: 'zh-CN', region: 'CN', callback: function(error) { if (error) { console.error('MapKit 初始化错误:', error); alert('地图服务初始化失败,请检查网络连接和授权设置'); } else { console.log('MapKit 初始化成功'); } } }); // 添加错误处理 window.addEventListener('error', function(event) { console.error('MapKit 错误:', event.error); }); const searchInput = document.getElementById('searchInput'); const placeImage = document.getElementById('placeImage'); const placeName = document.getElementById('placeName'); const placeDetails = document.getElementById('placeDetails'); const mapDiv = document.getElementById('map'); let map; searchInput.addEventListener('input', debounce(searchPlace, 500)); function debounce(func, wait) { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; } async function searchPlace() { console.log('搜索'); const query = searchInput.value; if (!query) return; try { // 使用 MapKit 搜索地点 const search = new mapkit.Search({ region: new mapkit.CoordinateRegion( new mapkit.Coordinate(39.9042, 116.4074), // 默认北京坐标 new mapkit.CoordinateSpan(0.1, 0.1) ) }); search.search(query, (error, data) => { if (error) { console.error('搜索错误:', error); return; } if (data.places.length > 0) { const place = data.places[0]; displayPlaceInfo(place); showMap(place); } }); } catch (error) { console.error('获取地点信息失败:', error); } } function displayPlaceInfo(place) { placeName.textContent = place.name; let detailsHTML = ''; if (place.address) { detailsHTML += `<p class="info-item">地址: ${place.address}</p>`; } if (place.phoneNumber) { detailsHTML += `<p class="info-item">电话: ${place.phoneNumber}</p>`; } if (place.url) { detailsHTML += `<p class="info-item">网址: <a href="${place.url}" target="_blank">${place.url}</a></p>`; } placeDetails.innerHTML = detailsHTML; // 获取地点图片 if (place.pointOfInterestCategory) { // 这里可以调用其他图片API来获取地点图片 // 示例使用占位图片 placeImage.innerHTML = `<img src="https://source.unsplash.com/800x400/?${encodeURIComponent(place.name)}" class="place-image" alt="${place.name}">`; } } function showMap(place) { if (map) { map.remove(); } map = new mapkit.Map(mapDiv, { region: new mapkit.CoordinateRegion( place.coordinate, new mapkit.CoordinateSpan(0.01, 0.01) ) }); const annotation = new mapkit.MarkerAnnotation(place.coordinate, { title: place.name, data: { place: place } }); map.addAnnotation(annotation); } </script> </body> </html>
Replies
1
Boosts
0
Views
199
Activity
Apr ’25
Polyline rendering below street labels in MapKitJS
Hello (: I’m working with MapKitJS and would like to render polylines that follow roads — similar to the behavior seen on maps.apple.com. While I can align polylines to roads manually, I haven’t found a way to render them below street names and road shields. Currently, all polylines appear above labels, which reduces readability when displaying routes in urban areas. On maps.apple.com, polylines are rendered under street labels, which provides a much cleaner appearance. Is there a way to achieve this layering behavior in MapKitJS? If not, are there plans to support this kind of layer control in the future? Thanks in advance! MapKitJS (5.45.0): maps.apple.com:
Replies
2
Boosts
0
Views
148
Activity
May ’25
How can I prevent virtual location from affecting the security of my app
Hello, I have noticed that some users have modified their real location through an app called "MGU" to bypass my app's security checks. I want to know how to protect my app and detect users using virtual location. I have reproduced the process of virtual positioning here: Insert a plug-in through the interface at the bottom of the phone and connect it via Bluetooth on the phone Set the desired positioning target on the "MGU" app Turn off your phone's WiFi, network, and location for 10 seconds, then turn it back on At this point, virtual positioning is successful. Please assist me in troubleshooting this issue and inform me of the principle of implementing virtual positioning in this app and how to prevent it. The following is the screen recording of virtual positioning operation: https://flowus.cn/share/145b3232-26c3-4ea3-b3ff-4aad1495eb4d
Replies
1
Boosts
0
Views
180
Activity
Apr ’25
kCLErrorLocationUnknown becoming a big issue
In the last few months we have seen a lot of the following errors in which it fails to retrieve location information. This seems to happen across multiple browsers and feels related to apple/mac OS more than the browsers. Error: "CoreLocationProvider: CoreLocation framework reported a kCLErrorLocationUnknown failure." Any suggestions or an ETA on when this can be fixed? I have seen other threads/posts on this but wanted a new one to highlight the issue is prevalent.
Replies
4
Boosts
0
Views
1.1k
Activity
Sep ’25
Location updates in background…
Hello, I’ve done a lot of testing of location services running in background with various settings, but in all scenarios location updates pause after a couple of hours, especially overnight In sleep mode. My app, for personal safety, requires regular location updates to 5m accuracy every minute. The only solution I have found is to keep the app in foreground. Location always stops updating. Background mode stops updating. Live location services stops updating. Is there a solution I may have missed other than keeping app in foreground? thank you, Brendan
Replies
1
Boosts
0
Views
173
Activity
Jun ’25
Create a Maps Web Snapshot with token got 403 response
The https certificate has expired
Replies
3
Boosts
0
Views
89
Activity
Jun ’25