iOS 17 Opening the color picker results in an permanently visible PKToolBar

Running my app in iOS 17 has a weird bug. I can draw as usual on my canvas, but only when I open the color picker from the toolPicker a bunch of weird errors and warnings are posted to the console (I am assuming they are related to it.) Closing the color picker and leaving the screen would normally dismiss the toolbar, but now it stays forever and on every screen. Interestingly the canvas, the tool picker and the viewController are all getting deinitialized, which means there is a second/new toolPicker on screen and I have no reference to it.

Here are the mentioned warnings and errors:

Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "(originator doesn't have entitlement com.apple.runningboard.primitiveattribute AND originator doesn't have entitlement com.apple.runningboard.assertions.frontboard AND target is not running or doesn't have entitlement com.apple.runningboard.trustedtarget AND Target not hosted by originator)" UserInfo={NSLocalizedFailureReason=(originator doesn't have entitlement com.apple.runningboard.primitiveattribute AND originator doesn't have entitlement com.apple.runningboard.assertions.frontboard AND target is not running or doesn't have entitlement com.apple.runningboard.trustedtarget AND Target not hosted by originator)}>

Received port for identifier response: <> with error:Error Domain=RBSServiceErrorDomain Code=1 "Client not entitled" UserInfo={RBSEntitlement=com.apple.runningboard.process-state, NSLocalizedFailureReason=Client not entitled, RBSPermanent=false}

elapsedCPUTimeForFrontBoard couldn't generate a task port

Received port for identifier response: <> with error:Error Domain=RBSServiceErrorDomain Code=1 "Client not entitled" UserInfo={RBSEntitlement=com.apple.runningboard.process-state, NSLocalizedFailureReason=Client not entitled, RBSPermanent=false}

elapsedCPUTimeForFrontBoard couldn't generate a task port

Received port for identifier response: <> with error:Error Domain=RBSServiceErrorDomain Code=1 "Client not entitled" UserInfo={RBSEntitlement=com.apple.runningboard.process-state, NSLocalizedFailureReason=Client not entitled, RBSPermanent=false}

elapsedCPUTimeForFrontBoard couldn't generate a task port

No setting found for property named "_UISceneHostingClientSettingsExtension"
No setting found for property named "_UISceneHostingClientSettingsExtension"
No setting found for property named "_UISceneHostingClientSettingsExtension"

A code snippet, but nothing fancy:

    private var imageCanvasView = ImageCanvasView()
    private var toolPicker = ToolPicker()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.toolPicker.setVisible(true, forFirstResponder: self.imageCanvasView)
        self.toolPicker.addObserver(self.imageCanvasView)
        self.imageCanvasView.becomeFirstResponder()
    }

Any ideas on how to prevent that or at least access/hide the permanent tool picker?

Accepted Reply

It was fixed in iOS 17.1. I am not aware of workarounds for earlier iOS 17 versions.

Replies

I'm seeing something similar in SwiftUI when trying to use ColorPicker("(bandName) band colour", selection: $bandColor) I get "RBSServiceErrorDomain Code=1 "Client not entitled" It works in the simulator but not on device.

https://developer.apple.com/documentation/pencilkit/drawing_with_pencilkit

This example project from Apple has the exact same issue! So I assume we will have to wait until Apple fixes it.

Same logs when opening the share sheet on iOS 17.

  • Same here

  • Same on ActivityView sheet on ios 17

  • same here on sharesheets

Add a Comment

I've talked to Apple. The bug is now considered serious and there is no workaround for it. Also small addition: It just affects iOS not iPadOS.

  • Are they fixing it?

  • Well, I hope so. Marking a bug as "serious" hopefully results on someone fixing it, but I got no further info when they will fix it.

Add a Comment

It was fixed in iOS 17.1. I am not aware of workarounds for earlier iOS 17 versions.

Getting the same error with iOS 17.2. The issue is not fixed. Getting this when the share sheet shows.

  • same error iOS 17.3 still

  • same getting error as recent as today, when i try to use sharelink

Add a Comment

Same issue on iPadOS 17.2

We only use a UIColorPickerViewController with aUIColorPickerViewControllerDelegate

Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "(originator doesn't have entitlement com.apple.runningboard.primitiveattribute AND originator doesn't have entitlement com.apple.runningboard.assertions.frontboard AND target is not running or doesn't have entitlement com.apple.runningboard.trustedtarget AND Target not hosted by originator)" UserInfo={NSLocalizedFailureReason=(originator doesn't have entitlement com.apple.runningboard.primitiveattribute AND originator doesn't have entitlement com.apple.runningboard.assertions.frontboard AND target is not running or doesn't have entitlement com.apple.runningboard.trustedtarget AND Target not hosted by originator)}>
No setting found for property named "_UISceneHostingClientSettingsExtension"
No setting found for property named "_UISceneHostingClientSettingsExtension"
No setting found for property named "_UISceneHostingClientSettingsExtension"
  • And it continues with iPadOS 17.3

Add a Comment

Same here in iOS 17.4 when opening the share sheet.

  • Same here. iOS 17.4

  • Yeah this has been driving me crazy. My iPhone will no longer run anything from Xcode due to this error.

Add a Comment

Seeing the same thing calling ColorPicker("", selection: $color, supportsOpacity: true).labelsHidden() in a SwiftUI view on iOS 17.2.1.