Hi, could you please help on the following points :
Does iOS supports HCE Felica emulation support in Japan?
Does iOS supports Felica card emulation using NFC & SE platform ?
Thanks
Hardware
RSS for tagDelve into the physical components of Apple devices, including processors, memory, storage, and their interaction with the software.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
We would like to be able to distinguish between iPhones and Apple Watches when scanning for devices using a Laird BLE module.
We know that we can identify an Apple device from the manufacturer data returned in the scan report. 0x004C is the registered identifier for Apple.
In the remaining data returned is it possible identify the device type?
We note that empirically, 4C001005 seems to correlate to an Apple Watch. How reliable is this?
It is useful for us, because it means we do not need to connect to this device to see if it is advertising a service that we own.
Connecting over BLE is of course an expensive operation.
Here is a simple snippet of a Swift App doing a similar thing, to illustrate the question:
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber)
{
guard
let manufData: Data = advertisementData[CBAdvertisementDataManufacturerDataKey] as? Data
else
{
return
}
let hexEncodedManufData: String = manufData.map { String(format: "%02hhx", $0) }.joined()
print("Manufacturer Data: \(hexEncodedManufData): ")
// Manufacturer Data: 4c001007351ff9f9036238: Apple device
// Manufacturer Data: 4c001006331ec0640f88: Apple device
// Manufacturer Data: 4c0010052b18804eb1: Apple watch?
// Manufacturer Data: 4c0010052b18804eb1: Apple watch?
}
I purchased an iPad Pro M4 in early December, and since day one, I’ve been experiencing a recurring issue. Almost every day, at random times, the device freezes for 1–5 minutes and then restarts itself.
The tablet is not under heavy load when this happens — I mainly use it for light tasks such as watching videos in a player or Safari browser, web surfing, and reading books. The issue has even occurred while the iPad was idle and locked; it froze, displayed the Apple logo, and rebooted.
I brought the device back to the store where I purchased it, and they sent it for a diagnostic check. However, the experts concluded that the device is fully functional, and no defects were found. After one of these crashes, I noticed that my Apple Pencil started lagging (see video file IMG_5688.MOV). However, after another reboot, the issue with the Apple Pencil resolved itself.
I’ve documented the issue with several video recordings showing the freezing and rebooting behavior, as well as error logs generated after such incidents.
Device Details:
Model: iPad Pro M4
Usage: Light tasks only (video streaming, web browsing, reading)
Environment: No overheating, no resource-heavy applications running
What could be causing this issue, and how can I resolve it? Any help would be greatly appreciated. Thank you!
P.S. I’ve uploaded all the device logs and videos demonstrating the issue to Google Drive.
https://drive.google.com/drive/folders/1_R0i_iazADWo5EgStrPdgmf1XjgPP_RC?usp=sharing
what do i do is it going down too fast?
Trial Rollout: 652eff3d1bce5442b8d753c9 (ramp:654d29cb7e430f0ea5135e4b namespaces:VISUAL_INTELLIGENCE_RICH_LABEL_I18N)
Trial Rollout: 654439cdafbf5b61207873a9 (ramp:65443b27f764584e3e121677 namespaces:SIRI_DATA_SHARING_MTE_OPT_OUT)
Trial Rollout: 6090733d1c1e594b6765e603 (ramp:61f1fd4757c72d21f3fd20dc namespaces:WIRELESS_DATA_ANALYTICS_SIS_FR2HARVESTING)
Trial Rollout: 63f9578e238e7b23a1f3030a (ramp:64af3a8e3789f0013152c6ea namespaces:SMART_REPLY_ACTIONS_EN)
Trial Rollout: 64c17a9925d75a7281053d4c (ramp:64d297de1008ca2fac17a1dc namespaces:SIRI_AUDIO_DISABLE_MEDIA_ENTITY_SYNC)
Trial Rollout: 64628732bf2f5257dedc8988 (ramp:651ca4291993407e6d574317 namespaces:)
Trial Rollout: 6434420a89ec2e0a7a38bf5a (ramp:64c96f230d0abc3f1813bdab namespaces:)
Trial Rollout: 639124e81d92412bfb4880b3 (ramp:63ffdf0ac679dd6bc58280c1 namespaces:SIRI_UNDERSTANDING_TMDC)
Trial Rollout: 6246d6a916a70b047e454124 (ramp:6449728db0bf6a06721af761 namespaces:WALLET_APP_ECOM_PAYMENT_SHEET)
Trial Rollout: 6425c75e4327780c10cc4252 (ramp:642b12bf4327780c10cc42e5 namespaces:SIRI_HOME_AUTOMATION_INTENT_SELECTION_CACHE)
Trial Rollout: 60f8ddccefea4203d95cbeef (ramp:640141a8c679dd6bc5828185 namespaces:)
Trial Rollout: 5f72dc58705eff005a46b3a9 (ramp:63d9571c2cb48e1296b0749a namespaces:SIRI_VIDEO_APP_SELECTION)
Trial Rollout: 5fb4245a1bbfe8005e33a1e1 (ramp:635c675bc8a2104545a56d45 namespaces:)
Trial Rollout: 60356660bbe37970735c5624 (ramp:618b79164b3765609b8b8252 namespaces:)
Trial Rollout: 60da5e84ab0ca017dace9abf (ramp:6137762b61217b31102314aa namespaces:)
Trial Rollout: 6081ed9716bb6d61d81d5014 (ramp:67953013d0a7cc3ee9718297 namespaces:BIFROST_PROD_1)
Trial Rollout: 601074e4af9bef000c169ea8 (ramp:67953105c871785bbdefd35c namespaces:BIFROST_DEV_1)
Trial Rollout: 6761d0c9df60af01adb250fb (ramp:6788a4224ebe024683e5aa2e namespaces:)
Topic:
App & System Services
SubTopic:
Hardware
Iphone 13 stuck on iOS beta 13
cant update it downloads but doesn‘t install have tried using a laptop didn't work my backup won’t work as well
Topic:
App & System Services
SubTopic:
Hardware
Hello everyone,
I want send haptics to ps4 controller.
CHHapticPatternPlayer and CHHapticAdvancedPatternPlayer good work with iPhone.
On PS4 controller If I use CHHapticPatternPlayer all work good, but if I use CHHapticAdvancedPatternPlayer I get error. I want use CHHapticAdvancedPatternPlayer to use additional settings. I don't found any information how to fix it -
CHHapticEngine.mm:624 -[CHHapticEngine finishInit:]_block_invoke: ERROR: Server connection broke with error 'Не удалось завершить операцию. (com.apple.CoreHaptics, ошибка -4811)'
The engine stopped because a system error occurred.
AVHapticClient.mm:1228 -[AVHapticClient getSyncDelegateForMethod:errorHandler:]_block_invoke: ERROR: Sync XPC call for 'loadAndPrepareHapticSequenceFromEvents:reply:' (client ID 0x21) failed: Не удалось установить связь с приложением-помощником.
Не удалось создать или воспроизвести паттерн: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service with pid 5087 named com.apple.GameController.gamecontrollerd.haptics" UserInfo={NSDebugDescription=connection to service with pid 5087 named com.apple.GameController.gamecontrollerd.haptics}
My Haptic class -
import Foundation
import CoreHaptics
import GameController
protocol HapticsControllerDelegate: AnyObject {
func didConnectController()
func didDisconnectController()
func enginePlayerStart(value: Bool)
}
final class HapticsControllerManager {
static let shared = HapticsControllerManager()
private var isSetup = false
private var hapticEngine: CHHapticEngine?
private var hapticPlayer: CHHapticAdvancedPatternPlayer?
weak var delegate: HapticsControllerDelegate? {
didSet {
if delegate != nil {
startObserving()
}
}
}
deinit {
NotificationCenter.default.removeObserver(self)
}
private func startObserving() {
guard !isSetup else { return }
NotificationCenter.default.addObserver(
self,
selector: #selector(controllerDidConnect),
name: .GCControllerDidConnect,
object: nil
)
NotificationCenter.default.addObserver(
self,
selector: #selector(controllerDidDisconnect),
name: .GCControllerDidDisconnect,
object: nil
)
isSetup = true
}
@objc private func controllerDidConnect(notification: Notification) {
delegate?.didConnectController()
self.createAndStartHapticEngine()
}
@objc private func controllerDidDisconnect(notification: Notification) {
delegate?.didDisconnectController()
hapticEngine = nil
hapticPlayer = nil
}
private func createAndStartHapticEngine() {
guard let controller = GCController.controllers().first else {
print("No controller connected")
return
}
guard controller.haptics != nil else {
print("Haptics not supported on this controller")
return
}
hapticEngine = createEngine(for: controller, locality: .default)
hapticEngine?.playsHapticsOnly = true
do {
try hapticEngine?.start()
} catch {
print("Не удалось запустить движок тактильной обратной связи: \(error)")
}
}
private func createEngine(for controller: GCController, locality: GCHapticsLocality) -> CHHapticEngine? {
guard let engine = controller.haptics?.createEngine(withLocality: locality) else {
print("Failed to create engine.")
return nil
}
print("Successfully created engine.")
engine.stoppedHandler = { reason in
print("The engine stopped because \(reason.message)")
}
engine.resetHandler = {
print("The engine reset --> Restarting now!")
do {
try engine.start()
} catch {
print("Failed to restart the engine: \(error)")
}
}
return engine
}
func startHapticFeedback(haptics: [CHHapticEvent]) {
do {
let pattern = try CHHapticPattern(events: haptics, parameters: [])
hapticPlayer = try hapticEngine?.makeAdvancedPlayer(with: pattern)
hapticPlayer?.loopEnabled = true
try hapticPlayer?.start(atTime: 0)
self.delegate?.enginePlayerStart(value: true)
} catch {
self.delegate?.enginePlayerStart(value: false)
print("Не удалось создать или воспроизвести паттерн: \(error)")
}
}
func stopHapticFeedback() {
do {
try hapticPlayer?.stop(atTime: 0)
self.delegate?.enginePlayerStart(value: false)
} catch {
self.delegate?.enginePlayerStart(value: true)
print("Не удалось остановить воспроизведение вибрации: \(error)")
}
}
}
extension CHHapticEngine.StoppedReason {
var message: String {
switch self {
case .audioSessionInterrupt:
return "the audio session was interrupted."
case .applicationSuspended:
return "the application was suspended."
case .idleTimeout:
return "an idle timeout occurred."
case .systemError:
return "a system error occurred."
case .notifyWhenFinished:
return "playback finished."
case .engineDestroyed:
return "the engine was destroyed."
case .gameControllerDisconnect:
return "the game controller disconnected."
@unknown default:
return "an unknown error occurred."
}
}
}
custom haptic events -
static func changeVibrationPower(power: HapricPower) -> [CHHapticEvent] {
let continuousEvent = CHHapticEvent(eventType: .hapticContinuous, parameters: [
CHHapticEventParameter(parameterID: .hapticSharpness, value: 1.0),
CHHapticEventParameter(parameterID: .hapticIntensity, value: power.value)
], relativeTime: 0, duration: 0.5)
return [continuousEvent]
}
Hello,
I am currently working on a USB HID-class device and I wanted to test communications between various OSes and the device.
I was able to communicate through standard USB with the device on other OSes such as Windows and Linux, through their integrated kernel modules and generic HID drivers. As a last test, I wanted to test macOS as well.
This is my code, running in a Swift-based command line utility:
import Foundation
import CoreHID
let matchingCriteria = HIDDeviceManager.DeviceMatchingCriteria(vendorID: 0x1234, productID: 0x0006) // This is the VID/PID combination that the device is actually listed under
let manager = HIDDeviceManager()
for try await notification in await manager.monitorNotifications(matchingCriteria: [matchingCriteria]) {
switch notification {
case .deviceMatched(let deviceReference):
print("Device Matched!")
guard let client = HIDDeviceClient(deviceReference: deviceReference) else {
fatalError("Unable to create client. Exiting.") // crash on purpose
}
let report = try await client.dispatchGetReportRequest(type: .input)
print("Get report data: [\(report.map { String(format: "%02x", $0) }.joined(separator: " "))]")
case .deviceRemoved(_):
print("A device was removed.")
default:
continue
}
}
The client.dispatchGetReportRequest(...) line always fails, and if I turn the try expression into a force-unwrapped one (try!) then the code, unsurprisingly, crashes.
The line raises a CoreHID.HIDDeviceError.unknown() exception with a seemingly meaningless IOReturn code (last time I tried I got an IOReturn code with the value of -536870211).
The first instinct is to blame my own custom USB device for not working properly, but it doesn't cooperate with with ANY USB device currently connected: not a keyboard (with permissions granted), not a controller, nothing.
I did make sure to enable USB device access in the entitlements (when I tried to run this code in a simple Cocoa app) as well.
...What am I doing wrong here? What does the IOReturn code mean?
Thanks in advance for anybody willing to help out!
Topic:
App & System Services
SubTopic:
Hardware
I have an Iphone Xsmax and the battery health is degraded to 69
i noticed whenever I put it on charge it just restarts and keeps doing that until I start using it or keep the screen on before it charges
please is it my charger or it’s because the battery health has degraded to 69?
Topic:
App & System Services
SubTopic:
Hardware
Im having issue with OneDrive that is affected our company iPads. User are able to drag and drop any folder or files over and now they cant. they are on the latest update for OneDrive and the IOS. Can someone look at this and also i reach to Microsoft and they said that nothing have change on there end.
When are you guys going to fix the CarPlay issues with this new update? I use this for work and it’s really an issue. Nothing is working and it takes up entirely too much space.
Is there any way to use AccessorySetupKit in the background to discover BLE devices?
After updating to ios18.4, 3d scanning function, including AR function in apple clips, cannot be used. Does anyone else have the same problem?
Topic:
App & System Services
SubTopic:
Hardware
Ever since the last update i have issues with my camera app. Sometimes when I open the app the forward facing cameras don’t work and it’s just a Black screen. I also get a warning that I may not have genuine iPhone parts installed. I have to reboot the phone every time just to have it app function again. It’s annoying. Please fix this. I never had any issues with the camera or its app up until after the update.
你好,有个问题想请教一下:
我们的app是一款与CGM实时血糖相关的app,app支持在后台通过蓝牙跟CGM血糖设备保持连接。
现在遇到一个问题:
首先,app在后台运行期间,蓝牙是开启状态的,跟CGM设备也是连接的状态。
某个时刻,监听到蓝牙的状态突然从 poweredOn 变为了 resetting ,然后蓝牙又恢复了,状态变为了 poweredOn
这时候,问题出现了:之前连接的那个CGM血糖设备一直无法扫描到了!!
我想问一下:
什么情况下,蓝牙状态会变为resetting
蓝牙状态恢复为poweredOn后,之前连接的那个CGM血糖设备一直无法扫描到了,为什么?我要怎么做才能恢复,重新扫描到之前连接的这个设备?
Today, I submitted the following proposal to Apple through the Feedback Assistant app. I'm not confident in how I phrased it—I'd appreciate any thoughts or feedback from fellow developers.
Proposal: "Apple Silicon.app" for macOS with Apple Silicon – Enhancing Performance and Swap Memory Control
This suggestion has been machine translated into English, so there may be some discrepancies.
If you need the actual text, please feel free to reply to this or ask at the email address below.
<mail address>
If the author of this proposal is to be credited, I would appreciate being listed under the nickname “DiamondGotCat,” where possible.
Summary:
- Currently, Apple Silicon-equipped Macs have many system-level features locked down or restricted.
- This proposal suggests a new application that enables certain advanced controls for power users.
- Tentatively named "Apple Silicon.app", the name may be subject to change if a more suitable alternative arises.
- I propose this application be added as a pre-installed utility on compatible systems:
macOS (M-series), iPadOS (A-series and M-series), and iOS (iPhones with Apple-designed A5 and newer chips, provided the latest OS is available for them).
Overview:
This proposal introduces "Apple Silicon.app", a new system-level utility designed to offer power users greater flexibility and control over Apple Silicon behavior, as part of a broader feature update for Apple devices.
I propose that Apple Silicon.app be automatically installed as a pre-installed application on Apple Silicon devices (Mac, iPad, iPhone, and select Vision devices) that support upcoming major system updates.
Suggested Features of Apple Silicon.app:
1. Performance Core Control
To describe this functionality, the following terminology will be used:
- P-cores: Performance cores
- E-cores: Efficiency cores
I understand that Apple Silicon emphasizes energy efficiency, but I believe there are users—myself included—who prioritize maximum performance regardless of power usage. Therefore, I propose that the app offer a drop-down menu with the following six modes for performance core usage:
A. Automatic (Recommended) – Default macOS behavior; automatically switches between P/E cores based on workload.
B. Performance Priority – Prioritizes P-cores for high-demand tasks, restricts E-cores. Ideal for developers, video editors.
C. Power Saving – Uses E-cores only whenever possible; limits P-core usage. Great for battery saving.
D. P-Core Exclusive Mode – User-defined processes always run on P-cores. Suitable for benchmarks or low-latency tasks.
E. E-Core Exclusive Mode – Prioritizes background tasks and thermal efficiency.
F. Manual Assignment (Advanced) – Users can manually assign P/E cores per application in a dedicated settings screen.
Additionally, I propose the following optional checkbox settings:
- Thermal Safety Mode: Automatically switches from P- to E-cores when system heat exceeds a threshold.
- Restore Core Settings on Wake: Remembers P/E settings after sleep/wake.
- Power Source Adaptive Mode: Switches to power-saving on battery, and performance mode when plugged in.
2. Swap Memory Configuration
The app should also enable user-level control over swap memory (i.e., using part of the SSD as virtual memory).
Currently, macOS manages swap space automatically with no user customization available. I propose the ability to manually configure the swap system with the following options:
- Enable Manual Configuration: Checkbox to switch from automatic to manual control.
- Swap Size: Adjustable in GB units, allowing users to allocate desired swap capacity.
3. Other Settings
At this point, these are the core features I propose. If additional useful features exist that align with this concept, I welcome further suggestions or expansion.
As users—at least speaking for myself—we look forward to such customization options becoming available.
I'm developing an iPad app and encountered a strange issue with external Bluetooth keyboards.
Issue:
I have a Bluetooth keyboard set to JIS layout in Settings > General > Keyboard > Hardware Keyboard > Keyboard Type.
If I connect the keyboard before launching the app, everything works fine, and the input follows the JIS layout.
However, if I launch the app first and then turn on the Bluetooth keyboard, the input behaves as if the keyboard is in ANSI layout, even though the settings still show JIS.
It seems like iPadOS defaults to ANSI if no external keyboard is connected when the app starts, and later connections do not update the layout properly.
Has anyone encountered a similar issue, and is there a programmatic way to ensure that the correct keyboard layout is applied after the keyboard is connected?
Any help or insights would be greatly appreciated!
Topic:
App & System Services
SubTopic:
Hardware
I have a question about Apple certification.
We are planning card reader via HID(human interface device) for iPad that support USB-C.
iPad will receive data as HID protocol.
In this case do I have to get certificate(for example MFi) like Apple USB accessory?
Topic:
App & System Services
SubTopic:
Hardware
While compiling nRF5340 target of Dockkit ADK 1.0 following the guide of README.md, I selected the latest Nordic SDK, because there is no specified SDK version in the README.md.
But it seems that ADK and SDK are not compatible with each others.
For example, it calls nrfx_gpiote_channel_alloc() with one argument in PAL\NCS\HAPPlatformExperience.c. But the difinition of this function needs two arguments.
Also I found that in some older version of Nordic SDK, this function needs only one argument.
So could you please make sure which version of Nordic SDK should developer use?
Hi,
We’re developing a BLE peripheral device and encountered a connection issue when connecting two devices (Device A and Device B) simultaneously to an iOS device.
Problem:
On iOS 18, we are experiencing occasional BLE timeouts and disconnections when both devices are connected at the same time.
On iOS 16, we did not encounter this issue under the same conditions.
What we’ve tried:
Adjusted the connection interval from 30ms to 15ms.
This seems to have improved stability somewhat.
However, we still observe intermittent timeout/disconnection issues.
Questions:
Are there any known changes in BLE connection handling or timing constraints in iOS 18?
Are there recommended connection parameter settings (interval, latency, timeout, etc.) for multi-device BLE connections in iOS?
Is there a way to debug or log more details about the disconnection reasons on the iOS side?
Any guidance or suggestions would be greatly appreciated.