I am working on a Bluetooth Low Energy (BLE) project using the nRF52840 Development Kit (DK), which has been reconfigured to simulate an nRF52805 chip. The firmware is based on Nordic Semiconductor's ble_app_hids_keyboard example, with modifications to implement a BLE HID Gamepad. I am using the S113 SoftDevice and have successfully tested the functionality with Android devices. The gamepad is recognized as a HID device, and it works as expected on Android, verified using the hardwareTester website.
However, when I connect the gamepad to an iPhone via BLE, the same hardwareTester website does not respond as it does on Android, indicating that the iPhone does not recognize the device as a gamepad. The BLE connection is established successfully, but it seems iOS does not interpret the HID report descriptor or the BLE HID service correctly. I suspect there might be compatibility issues with the HID descriptor or the GATT attributes for iOS-specific BLE HID requirements.
I would like to have some help.
Delve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
When attempting to deploy schema changes in the iCloudKit Database by clicking the Deploy Schema Changes button, a Confirm Deployment dialog appears, showing an error: “Internal error”. The following error details were observed in the JavaScript console:
• description: “The request has failed due to an error.”
• headers: undefined
• message: “Known response error: The request has failed due to an error.”
• result:
• code: 400
• detailedMessage: undefined
• message: “bad-request”
• reason: “Internal error”
• redirectUrl: undefined
• requestUuid: “0c5b4af2-15c9-425f-87ea-************”
• retryAfterSeconds: undefined
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
CloudKit
CloudKit Dashboard
CloudKit Console
Something has caused my CloudKit queries to fail. On the dashboard I get an error message "Failed to execute query" when I try to "SORT BY" a field. The field is listed under Indexes as "sortable". For a different field, when I enter the field under "FILTER BY", and before I tap "Query", I get "No results". That field is listed under the Indexes as "queryable".
It used to work fine.
I have described this further, with screenshots at FB16114560
Hi All, I would like to develop a small macOS app using swift. I want to use ImageCaptureCore to access and control connected scanners ( via usb). I followed the official docs and wrote this ScannerManager. The code seems to be working without issues or warnings.
I added the Hardened Runtime capability and both com.apple.security.personal-information.photos-library and com.apple.security.device.usb to the .entitlements file.
As well added NSCameraUsageDescription to the Info.plist.
Problem:
None of my scanners do get detected (tested 2 different models). Of course, they are connected and do get recognized by the Image Capture App (and work as expected) and are listed in the systems app, too.
When I connect my phone it does get detected by the
func deviceBrowser(_ browser: ICDeviceBrowser, didAdd...
delegate function. Thats why I believe my code is working but the app is lacking permissions to detect scanners somehow. Does anyone know something about this?
I am using macOS 15.1.1 (24B91) on a M1 Pro.
Many thanks in advance!
class ScannerManager: NSObject, ICDeviceBrowserDelegate, ICDeviceDelegate {
let deviceBrowser: ICDeviceBrowser
private var currentDevice: ICDevice?
private var scannerDeviceDelegate: ScannerDeviceDelegate?
var isScanning = false
var scanners: [ICDevice] = []
// MARK: - Initialization
override init() {
print("🚀 Initializing ScannerManager...")
self.deviceBrowser = ICDeviceBrowser()
super.init()
self.deviceBrowser.delegate = self
// Log the initial browsed device type mask
self.deviceBrowser.browsedDeviceTypeMask = .scanner
print("🔍 Starting device browser...")
self.deviceBrowser.start()
// Enhanced device logging
if let devices = deviceBrowser.devices {
print("\n📱 Connected devices overview:")
print("Total devices found: \(devices.count)")
if devices.isEmpty {
print("⚠️ No devices currently connected")
} else {
devices.forEach { device in
print("\n📌 Device Details:")
print(" - Name: \(device.name ?? "unnamed")")
print(" - Type: \(String(describing: device.type))")
print(" - Transport Type: \(String(describing: device.transportType))")
print(" - Status: \(device.hasOpenSession ? "In Use" : "Available")")
print(" - Persistent ID: \(String(describing: device.persistentIDString))")
print(" - Location: \(device.locationDescription ?? "Unknown")")
print(" - Capabilities: \(String(describing: device.capabilities))")
}
}
} else {
print("⚠️ Unable to access device list")
}
}
...
Topic:
App & System Services
SubTopic:
General
Hello,
I've been encountering some challenges while working with NWConnectionGroup and NWMulticastGroup for multicast operations on iOS. I have a few doubts and issues that I would like to address:
1. NWMulticastGroup Initialization
It seems that when initializing NWMulticastGroup, only one NWEndpoint can be passed, and attempting to pass multiple endpoints results in failure. Can someone confirm if this behavior is correct?
2. Interface Level Control
Upon initializing NWConnectionGroup, it appears that packets are received on all interfaces without the ability to control this at the interface level. Is this correct? If not is there a way to configure NWConnectionGroup to receive packets on all interfaces?
3. Sending Behavior
During the send operation, it appears that the data is sent through any one of the available interfaces, and there doesn't seem to be an option to configure it to send through all available endpoints. Is there a way to enable sending data through all available endpoints?
Any insights, guidance, or solutions to these issues would be greatly appreciated. Has anyone else encountered similar problems or found workarounds for these limitations?
Thank you for your assistance and support.
Thanks,
Harshal
I have sqlite database. I want to share this database file. It gives error after 4.3mb on old devices. But on new devices larger files can be shared. Is there a sharing limit or is there a ram limit etc. situation.
Topic:
App & System Services
SubTopic:
General
I recently tried Apple TV after using android tv for a long time.
The main missing item is having a browser. I could not find one.
i tried building Firefox for TVOS, it failed with WebKit not available.
Is there a way to build WebKit and package it along with a browser package while building it?
When I search for text in a .html file using the Command-Spacebar spotlight popup the .html file is never shown in the results. On the other hand the .html file does show in the result when I search in the Finder window search field, or when I search in the Terminal using mdfind.
Why is this and how can I fix? I want to use spotlight to find .html files.
You can reproduce the problem like this:
echo spotlighttest > testone.txt
% echo spotlighttest > testtwo.html
% mdfind spotlighttest
2024-12-30 14:22:28.552 mdfind[28326:550500] [UserQueryParser] Loading keywords and predicates for locale "en_US"
2024-12-30 14:22:28.553 mdfind[28326:550500] [UserQueryParser] Loading keywords and predicates for locale "en"
~/Desktop/Spotlighttest/testone.txt
~/Desktop/Spotlighttest/testtwo.html
I believe this shows that both files are index properly, but if you then do Command-Spacebar and search for "Spotlighttest" I think you will see that only testone shows as a result.
Edit I believe this is a change in macOS 15.x and used to work correctly in previous macOS
Hi (from France)
I have a MacOS application which handles the App Store receipt by requesting at the url "https://buy.itunes.apple.com/verifyReceipt". From the response, I can know what are the inApps bought by the user and that suits for me.
I don't know if if I must change something in my code accordingly to this TN3118.
Does someone knows the response ?
Best regards.
Witam, na każdym urządzeniu Apple, iPhone’a/Watch mam możliwość instalować wersje beta developer. chciałbym wypisać się z wersji beta developer - nie mieć ich w ustawieniach. wiem że beta developer jest przypisana do mojego konta iCloud. po wylogowaniu się i przywróceniu ustawień fabrycznych, zakładka znika. gdy loguje się na konto iCloud pojawia Się wszędzie. nie zapisałem sie do developer bety. jak to usunąc?
Topic:
App & System Services
SubTopic:
iCloud & Data
Hello,
When attempting to create a CKShare on a personal device linked to a Family iCloud plan (non-primary account holder), the operation fails with a quotaExceeded error. This occurs with the Family plan having 1.5TB available storage space.
This is also causing a data loss for the object(s) that were attempted to be shared.
Details
Account Type: Family iCloud Plan (2TB total storage)
Current Family Usage: 399GB
iCloud Account Usage: 70 GB
Steps to Reproduce:
Have an iCloud account with storage over the 5GB free space limit.
Be on a part of a iCloud Family Plan as the non-primary account holder.
Have storage space available in the Family Plan
Attempt to start a CloudKit Share/Collaboration on the device.
Observe that the CKShare creation fails with a quotaExceeded error.
Expected Behavior:
The CKShare should be successfully created, reflecting the total available storage of the Family plan.
Observed Behavior:
The CKShare fails to be created with quotaExceeded.
Additional Testing
On a test device using an iCloud account with no stored data, the CKShare was created successfully and shared without issue.
Suspected Cause
The CKShare functionality is verifying the personal storage allocation of the iCloud account and failing without checking total available storage provided by the Family plan.
Hi,
I'm not too good with terminal stuff, but when I looked at activity monitor, my corespotlightd was using too much of my cpu. I decided to look up solutions on google and stumbled upon this: https://forums.developer.apple.com/forums/thread/675482. I tried some of the commands, and I closed the terminal while sudo was still running because I was getting impatient. Somehow, before I even realized it, I was logged out of my Apple ID and my desktop and downloads files were completely gone. For some reason, my applications are still the same, which makes me wonder if some of the files or folders I had before can still be recoverable. I checked time machine, and I wasn't able to recover anything. How cooked am I? I've lost all of my university work and some other pictures and stuff that I thought would never be damaged if I had it locally. Would appreciate any type of help. Thanks.
Topic:
App & System Services
SubTopic:
Core OS
Hi Team,
We are getting below error when we try to connect our REST APIs from our device. Our application is enterprise application and its connecting all backend calls via MobileIron Secure Tunnel(VPN). We are not encountering this error when we try to connect backend system from Simulator on VPN connected machine. We are calling 13 APIs but we are getting below error intermittently for different APIs i.e each time we are facing this issue for different APIs. We connected with our Helpdesk team to troubleshoot the error and they checked the MobileIron VPN firewall and there is no log
We configured below things
Allow Arbitrary Loads - True
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
We are using Alamofire library to connect backend. We disabled all site validation and we configured minTLSVersion 1.2. Please find below code snippet
static let serverTrustPolicies:[String: ServerTrustEvaluating] = {
var sites = [String]()
sites.append("apis.xyz.com")
return sites.reduce([String: ServerTrustEvaluating]()) { (dictionary, site) -> [String: Alamofire.ServerTrustEvaluating] in
var dictionary = dictionary
dictionary[site] = DisabledTrustEvaluator()
return dictionary
}
}()
static let manager: Session = {
var serverTrustPolicies: [String: ServerTrustEvaluating] = NetworkClient.serverTrustPolicies
let configuration = URLSessionConfiguration.default
configuration.tlsMinimumSupportedProtocolVersion = .TLSv12
return Alamofire.Session(configuration: configuration,
serverTrustManager: CustomTrustManager(evaluators: serverTrustPolicies))
}()
error from Alamofire
Topic:
App & System Services
SubTopic:
Networking
https://idmsa.apple.com/IDMSWebAuth/signin?path=%2F%2Fforums%2Fpost%2Fquestion%3Flogin%3Dtrue&language=US-EN&instanceId=EN&appIdKey=25138a77e3499638936f018102a53961c923f72b517d4a4d6aee9f09529baca9&rv=4
Topic:
App & System Services
SubTopic:
Processes & Concurrency
We have working code to fetch step data from HealthKit after requesting the necessary permissions. However, we’ve encountered an issue specific to one device, the iPhone 16 Pro Max. When querying the data, we do not receive a response, and the code enters an infinite loading state without completing the request.
The user who is facing this issue has tried logging in on another device, and it works fine. On the problematic device (iPhone 16 Pro Max), the request does not complete.
For reference, I’ve included the code below. Resolving this issue is crucial, so we would appreciate any guidance on what steps we can take to troubleshoot or resolve the problem on this specific device.
Please note that the device has granted permission to access HealthKit data.
static let healthStore = HKHealthStore()
static func limitReadFromHealthKitBetweenDates(fromDate: Date, toDate: Date = Date(), completion: @escaping ([HKStatistics]) -> Void) {
guard let stepsQuantityType = HKQuantityType.quantityType(forIdentifier: .stepCount) else { return }
let ignoreUserEntered = HKQuery.predicateForObjects(withMetadataKey: HKMetadataKeyWasUserEntered, operatorType: .notEqualTo, value: true)
let now = toDate
var interval = DateComponents()
interval.day = 1
var calendar = Calendar.current
calendar.locale = Locale(identifier: "en_US_POSIX")
var anchorComponents = calendar.dateComponents([.day, .month, .year], from: now)
anchorComponents.hour = 0
let anchorDate = calendar.date(from: anchorComponents) ?? Date()
let query = HKStatisticsCollectionQuery(quantityType: stepsQuantityType,
quantitySamplePredicate: ignoreUserEntered,
options: [.cumulativeSum],
anchorDate: anchorDate,
intervalComponents: interval)
query.initialResultsHandler = { _, results, error in
guard let results = results else {
print("Error returned from resultHandler: \(String(describing: error?.localizedDescription))")
return
}
print(results)
var statisticsArray: [HKStatistics] = []
results.enumerateStatistics(from: fromDate, to: now) { statistics, _ in
statisticsArray.append(statistics)
if statistics.endDate.getddmmyyyyslashGMT == now.getddmmyyyyslashGMT {
completion(statisticsArray)
}
}
}
healthStore.execute(query)
}
Please note that the code works on all devices except the problematic one. Could you please guide me on the next steps to resolve this issue?
Topic:
App & System Services
SubTopic:
Health & Fitness
Tags:
iOS
iPhone
Health and Fitness
HealthKit
I have a video, after recording there is no sound, after a few seconds there is only audio sound that I recorded.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
I downloaded the .crt file to take the following steps. Could you please give me a guide on how to actually apply the file to the server?
Upload only files to a specific path on the Linux server.
keytool -import -alias cacert -file ca.crt -keystore client.truststore.jks
Is it possible to just apply it with the above command?
Please confirm.
thank you
Topic:
App & System Services
SubTopic:
Notifications
I've implemented a custom system extension VPN for macOS, using a Packet Tunnel Provider.
I saw something suspicious on macOS 15.2.0: When I disconnected my VPN, the UTUN was not being cleared.
This results in a lot of UTUNs when the user connects and disconnects multiple times.
utun77: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
utun78: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
This happens only on macOS 15.2. I tried the same app on older versions (15.0, 15.1.x), and it didn't reproduce.
Can those 'dirty' UTUNs cause a networking problem?
Since it happens only on macOS 15.2, is there a bug in this OS version?
How can I check if something in my code causes this behavior? How can I 'fix' it or force clean the 'dirty' UTUNs?
**Hi everyone **
We try to add BackgroundAssetExtension to our project, in local testing work fine, but when we try upload app to TestFlight we get some errors that we don't know how to fix.
App
Supported Destinations: iPhone, iPad, Mac(Designed for iPad)
Minimum Deployments: iOS 12
BackgroundAssetExtension
Minimum Deployments: iOS 16.4
Error when try to upload to TestFlight:
"<IDEDistributionIssue: severity(error), error(Error Domain=ContentDelivery Code=90171 \"Asset validation failed\" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=Asset validation failed, NSLocalizedRecoverySuggestion=Invalid bundle structure. The \U201cDemo.app/decompressed_data_5.bin\U201d binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle (ID: 3dfe207a-b4e5-43db-9464-fcf59a730545)})>",
"<IDEDistributionIssue: severity(error), error(Error Domain=ContentDelivery Code=90924 \"Asset validation failed\" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=Asset validation failed, NSLocalizedRecoverySuggestion=Invalid Info.plist value. (ID: 073b5957-2e5b-4a7b-a4ae-7735b30a2d05)})>"
when we checked archive (Show package contents) that many files like
compressed_data_1.bin
compressed_data_2.bin
compressed_data_3.bin
compressed_data_4.bin
compressed_data_5.bin
compressed_data_6.bin
decompressed_data_1.bin
decompressed_data_2.bin
decompressed_data_3.bin
decompressed_data_4.bin
decompressed_data_5.bin
decompressed_data_6.bin
We added to main target in Build Phase -> Embed ExtensionKit Extensions
Info.plist
<key>BAEssentialMaxInstallSize</key>
<integer>3250188</integer>
<key>BAInitialDownloadRestrictions</key>
<dict>
<key>BADownloadAllowance</key>
<integer>3250188</integer>
<key>BADownloadDomainAllowList</key>
<array>
<string>*</string>
<string>*</string>
</array>
<key>BAEssentialDownloadAllowance</key>
<integer>3250188</integer>
</dict>
<key>BAManifestURL</key>
<string>https://*/itemsmeta</string>
<key>BAMaxInstallSize</key>
<integer>3250188</integer>
We will be appreciate for any suggestions :) If need some additional information let me know :pray:
using the UseAnnotation in the map content does not show the blue user location. I added the info.plist info.
Error message: CLLocationManager(<CLLocationManager: 0x300e60d40>) for <MKCoreLocationProvider: 0x303e0e6d0> did fail with error: Error Domain=kCLErrorDomain Code=1 "(null)"
Topic:
App & System Services
SubTopic:
Maps & Location