PencilKit

RSS for tag

Capture touch input as an opaque drawing and turn it into high-quality images that can be displayed on iOS and macOS using PencilKit.

Posts under PencilKit tag

137 Posts

Post

Replies

Boosts

Views

Activity

PencilKit SwiftUI issue (disappearing strokes) on iOS 16 Simulator
We are using a SwiftUI view backed by PencilKit and are experiencing an issue on iOS 16 where drawn strokes disappear from the drawing (the drawing is empty after the stroke ends). Debugging the issue shows that PKCanvasView's drawing collection of strokes is increasing, yet they are not being rendered. Details: I'm on macOS 12.6 Monterey The bug surfaces in Xcode 14.1 / iOS 16.1 (I didn't check the Xcode 14.0 / 14.0.1). The code works as expected in Xcode 13.4.1 / iOS 15.5. The bug appears not to happen on device (iPhone 13 Pro / iOS 16.1.1) Example code demonstrating the issue: I have added a couple of print statements to show what is happening and to count the brush strokes of the PKDrawing. Please see the attached GIFs below that demonstrate the issue. import SwiftUI import PencilKit public struct TestCanvas {     private static let defaultTool = PKInkingTool(.pen, color: .darkGray, width: 5) } // MARK: UIViewRepresentable extension TestCanvas: UIViewRepresentable {     public func makeUIView(context: Context) -> some UIView {         print("make ui view")         let canvasView = PKCanvasView()         canvasView.delegate = context.coordinator         canvasView.drawingPolicy = .anyInput         canvasView.tool = Self.defaultTool         canvasView.isRulerActive = false         canvasView.backgroundColor = .clear         canvasView.isOpaque = true         return canvasView     }     public func updateUIView(_ uiView: UIViewType, context: Context) {         print("update ui view")     }     public func makeCoordinator() -> Coordinator {         Coordinator(self)     } } // MARK: Coordinator public extension TestCanvas {     @MainActor final class Coordinator: NSObject {         private let parent: TestCanvas         init(_ parent: TestCanvas) {             print("init coordinator")             self.parent = parent             super.init()         }     } } // MARK: PKCanvasViewDelegate extension TestCanvas.Coordinator: PKCanvasViewDelegate {     public func canvasViewDidEndUsingTool(_ canvasView: PKCanvasView) {         print("canvas did end using tool (\(canvasView.drawing.strokes.count) strokes)")     }     public func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {         print("drawing did change (\(canvasView.drawing.strokes.count) strokes)")     } } Xcode 14.1 / iOS 16.1 PencilKit issue occurs on Xcode 14.1 / iOS 16.1 Simulator. Note the strokes disappear, yet the drawing's strokes keep incrementing. Xcode 13.4.1 / iOS 15.5 It works fine in Xcode 13.4.1 / iOS 15.5 Simulator. iPhone 13 Pro / iOS 16.1.1 I don't experience the issue on device (iPhone 13 Pro, iOS 16.1.1).
3
1
2.6k
Nov ’22
PKCanvasView broken on iOS 16?
I have a PKCanvasView in my app where the user can draw, very simple, no use of pencils or toolpickers, just a straight up signature drawing. For some reason, on iOS 16, the canvas seems to be broken, meaning the drawing disappears as soon as the user lifts their finger. The canvas still holds the drawing in its memory, as evidenced by the drawings raw size increasing with every finger stroke, but the drawing is never actually shown. It seems a lot of people using PKCanvasView are complaining about this all over the internet right now, does anyone have a workaround? Is there a way to make Apple aware of this?
0
2
896
Nov ’22
Unable to set PKInk color to black
For some reasons I am unable to set PKInk color to black. It works with yellow, red, blue, …but black is just ignored and I get the stroke in white. This is really weird and I don’t know why. I tried by setting black to PKInkingTool and even by creating a stroke manually and set the PKInk color to black. Do you have an idea? Thanks.
1
0
1.6k
Oct ’22
Color intensity increases when converting PKDrawing data to uiimage
I am trying to convert PKDrawing data to uiimage. Thus I've used apple's API PKDrawing data to uiimage. But the colour intensity of the converted image increases surprisingly. I mean there is a difference between the canvas data and the converted uiimage. What could be the reason behind that? Here is the scenario Preview Drawing Data on CanvasView Preview after converting Drawing Data to uiimage
1
0
974
Oct ’22
Random crashing issue with PencilKit
Hi, in my app I don't use PencilKit anywhere, yet I keep getting the following crash: Pencil Kit Crash.txt I don't even know where to start in debugging this. Could this be a bug within UIKit? It obviously only occurs in iPad devices and so far not in iOS16, but that may just be because of sample size. Do I need to handle touches differently for when a user uses an Apple Pen? Any help is appreciated. Thanks.
1
0
991
Oct ’22
Shape detection for other apps? (PencilKit, iOS 15)
Tried to ask as a comment in the other thread: https://developer.apple.com/forums/thread/650386?answerId=628394022#reply-to-this-question But can't leave a comment in there for some reason (the thread is locked?). Asking exactly the same question, now for iOS 15. Anything changed in this area? When selecting a stroke path for object on PKCanvas, the option "Snap to Shape" appears. I understand this function is still in beta and has not made available natively to other PencilKit app. Is there a way using Stroke API to call this function directly after the user hold pencil for half a second when stroke is done drawing, just like how it behaves in native apps?
1
1
1.9k
Sep ’22
PKCanvasView size error
Here is the implementation. import SwiftUI import PencilKit struct DrawingCanvas_bug: UIViewRepresentable { typealias UIViewType = PKCanvasView private let toolPicker = PKToolPicker() @Binding var drawing: PKDrawing var isOpaque: Bool = true var drawingDidChange: ((PKDrawing) -> Void)? func makeUIView(context: Context) -> PKCanvasView { let canvasView = PKCanvasView(frame: .zero) canvasView.drawing = drawing canvasView.delegate = context.coordinator canvasView.backgroundColor = .clear canvasView.isOpaque = isOpaque canvasView.alwaysBounceVertical = true // The size of the canvas is Zero, so I cannot update the ZoomScale now. // context.coordinator.updateZoomScale(for: canvasView) toolPicker.setVisible(true, forFirstResponder: canvasView) toolPicker.addObserver(canvasView) canvasView.becomeFirstResponder() return canvasView } func updateUIView(_ canvasView: PKCanvasView, context: Context) { DispatchQueue.main.async { // We can get the correct ZoomScale and the correct ContentSize, but part of the drawing is not visible. // Using the select tool can select them. context.coordinator.updateZoomScale(for: canvasView) } } func makeCoordinator() -> Coordinator { Coordinator(self) } static func dismantleUIView(_ canvasView: PKCanvasView, coordinator: Coordinator) { canvasView.resignFirstResponder() } } extension DrawingCanvas_bug { class Coordinator: NSObject, PKCanvasViewDelegate { var host: DrawingCanvas_bug init(_ host: DrawingCanvas_bug) { self.host = host } func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) { host.drawing = canvasView.drawing if let action = host.drawingDidChange { action(canvasView.drawing) } updateContentSizeForDrawing(for: canvasView) } func updateZoomScale(for canvasView: PKCanvasView) { let canvasScale = canvasView.bounds.width / 768 canvasView.minimumZoomScale = canvasScale canvasView.maximumZoomScale = canvasScale canvasView.zoomScale = canvasScale updateContentSizeForDrawing(for: canvasView) } func updateContentSizeForDrawing(for canvasView: PKCanvasView) { let drawing = canvasView.drawing let contentHeight: CGFloat if !drawing.bounds.isNull { contentHeight = max(canvasView.bounds.height, (drawing.bounds.maxY + 500) * canvasView.zoomScale) } else { contentHeight = canvasView.bounds.height } canvasView.contentSize = CGSize(width: 768 * canvasView.zoomScale, height: contentHeight) } } } And here is how I use: NavigationSplitView(columnVisibility: .constant(.doubleColumn)) {     List(selection: $selection) {         ForEach(drawingModel.drawings, id: \.uuidString) {             DrawingRow(drawingData: $0)         }     } } detail: {     DrawingView() } .navigationSplitViewStyle(.balanced) // <- If I use automatic style, PKCanvasView's size is correct
1
0
1.6k
Aug ’22
Very high CPU usage when draw a stroke on a canvas with more than 5000 strokes
Many users reported my app use too much energy. I have profiled the app and find out the problem is from PencilKit. It only happens on a canvas with more than 5000 strokes: When user use pen or any ink tool to draw something on the screen and leave the pencil off from the screen, the CPU go immediately to 100-165% for 3 seconds then go back to 0%. I have time profiled CPU and found out that 90% of the calculation are from CoreHandwriting. I suppose each time when user did draw something on the screen, PencilKit will try to recognize text from the handwriting in the background. That leads to high CPU usage. If this is true, I hope there will be an option to disable the CoreHandwriting. Otherwise I hope PencilKit will be updated to consume less energy, because my app received many bad reviews because of this problem and I can't do anything.
1
0
1.6k
Aug ’22
A serious bug in PencilKit that make all apps with PencilKit useless in iOS16
After testing iOS16, I've found a serious bug that make all apps with PencilKit (Prodrafts, InDraft, Pencil it in, Paint...) completely useless: If a canvasView is scrolled, all existing strokes will be shifted while writing with Apple Pencil. After writing, all strokes will be shifted back to its positions but it make users unable to write anything. This bug is also occurs in the example app of PencilKit: https://developer.apple.com/documentation/pencilkit/drawing_with_pencilkit It's easy to reprocedure: Run the example app, open a note, scroll down, then write something. You will see the bug (this bug only happens in iOS 16 and iPadOS 16). I have sent multiple bug reports since the first days of the beta, none of them are answered. It's been 2 beta versions and the bug has not been fixed yet. I'm an indie developer and I have worked with my app for 2 years - full time - 12 hours a day - no weekend. The main feature of my app is taking note with Apple Pencil and this bug made my app completely broken. I'm terrifying that 2 years of my work will be wasted. Please answer me, give me hope. Thank you :(
2
2
2.2k
Jul ’22
PencilKit is throwing GPU/Metal errors (Insufficient Memory)
For context: I'm working on a score pad app, with the ability to have a column of PKCanvases, so you can just hand write things without them being scribbled into text. As part of my stress testing, I basically filled the grid with ~50 canvases, and it seems that after a certain amount of CanvasViews are added to the score pad, my M1 iPad Pro GPU is unable to keep up. Occasionally, a cell will just entirely render as magenta, and I will have dozens and dozens of Execution of the command buffer was aborted due to an error during execution. Insufficient Memory (IOAF code 8) logs thrown to the console. I honestly don't know where to go from here. I recognize that what I'm doing is almost definitely not what PencilKit was designed for, but I also know the API is relatively young. I can't tell if this is a bug that should be fixed by Apple, or entirely my fault and a sign that I need to redo the entire thing. I've attached a screenshot with the magenta cell, there's also another two cells where the pencil strokes are just thick black squares. I'd appreciate any advice or help, I can't even seem to find any way to detect and recover from this in my code, as trying to search for Metal errors gives me discussions about writing Metal apps, which this isn't. It's a pure SwiftUI app with some PencilKit canvases.
6
0
3.7k
Jul ’22
How to make a canvas that can slide down infinitely like the Notes app with PencilKit?
I tried to set the contentSize of the PKCanvasView to CGSize(width: .max, height: .max), but it could be slide horizontally, which is not what I like. Besides, setting the width to a constant value is useless, it’ll make it unable to write because of the height is infinity. So how to deal with it?
Replies
0
Boosts
0
Views
962
Activity
Nov ’22
PencilKit SwiftUI issue (disappearing strokes) on iOS 16 Simulator
We are using a SwiftUI view backed by PencilKit and are experiencing an issue on iOS 16 where drawn strokes disappear from the drawing (the drawing is empty after the stroke ends). Debugging the issue shows that PKCanvasView's drawing collection of strokes is increasing, yet they are not being rendered. Details: I'm on macOS 12.6 Monterey The bug surfaces in Xcode 14.1 / iOS 16.1 (I didn't check the Xcode 14.0 / 14.0.1). The code works as expected in Xcode 13.4.1 / iOS 15.5. The bug appears not to happen on device (iPhone 13 Pro / iOS 16.1.1) Example code demonstrating the issue: I have added a couple of print statements to show what is happening and to count the brush strokes of the PKDrawing. Please see the attached GIFs below that demonstrate the issue. import SwiftUI import PencilKit public struct TestCanvas {     private static let defaultTool = PKInkingTool(.pen, color: .darkGray, width: 5) } // MARK: UIViewRepresentable extension TestCanvas: UIViewRepresentable {     public func makeUIView(context: Context) -> some UIView {         print("make ui view")         let canvasView = PKCanvasView()         canvasView.delegate = context.coordinator         canvasView.drawingPolicy = .anyInput         canvasView.tool = Self.defaultTool         canvasView.isRulerActive = false         canvasView.backgroundColor = .clear         canvasView.isOpaque = true         return canvasView     }     public func updateUIView(_ uiView: UIViewType, context: Context) {         print("update ui view")     }     public func makeCoordinator() -> Coordinator {         Coordinator(self)     } } // MARK: Coordinator public extension TestCanvas {     @MainActor final class Coordinator: NSObject {         private let parent: TestCanvas         init(_ parent: TestCanvas) {             print("init coordinator")             self.parent = parent             super.init()         }     } } // MARK: PKCanvasViewDelegate extension TestCanvas.Coordinator: PKCanvasViewDelegate {     public func canvasViewDidEndUsingTool(_ canvasView: PKCanvasView) {         print("canvas did end using tool (\(canvasView.drawing.strokes.count) strokes)")     }     public func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {         print("drawing did change (\(canvasView.drawing.strokes.count) strokes)")     } } Xcode 14.1 / iOS 16.1 PencilKit issue occurs on Xcode 14.1 / iOS 16.1 Simulator. Note the strokes disappear, yet the drawing's strokes keep incrementing. Xcode 13.4.1 / iOS 15.5 It works fine in Xcode 13.4.1 / iOS 15.5 Simulator. iPhone 13 Pro / iOS 16.1.1 I don't experience the issue on device (iPhone 13 Pro, iOS 16.1.1).
Replies
3
Boosts
1
Views
2.6k
Activity
Nov ’22
XCode 14, iOS 16 Simulator PencilKit functionality Bug
in iOS 16 simulator, Open default photo app - [Edit] Draw a path with PencilKit. The path is removed after mouse pointer up immediately. It seems to there is a bug in iOS16 simulator..
Replies
2
Boosts
3
Views
1.4k
Activity
Nov ’22
PKInkingTool markups getting disappeared
When drawing using PKInkingTool as soon as the drawing is finished markups getting disappear this happens in IOS 16 Xcode 14.1 Beta
Replies
2
Boosts
4
Views
1.2k
Activity
Nov ’22
PKCanvasView broken on iOS 16?
I have a PKCanvasView in my app where the user can draw, very simple, no use of pencils or toolpickers, just a straight up signature drawing. For some reason, on iOS 16, the canvas seems to be broken, meaning the drawing disappears as soon as the user lifts their finger. The canvas still holds the drawing in its memory, as evidenced by the drawings raw size increasing with every finger stroke, but the drawing is never actually shown. It seems a lot of people using PKCanvasView are complaining about this all over the internet right now, does anyone have a workaround? Is there a way to make Apple aware of this?
Replies
0
Boosts
2
Views
896
Activity
Nov ’22
Scrollable PKCanvasView with SwiftUI subview
I found this question on stackoverflow with this source code as possible solution. How can I use a SwiftUI view instead of a UIImageView as underlayView? I tried to replace the UIImageView with a UIView and converted my SwiftUI view with a UIHostingController to a UIView but this UIView was then invisible in the PKCanvasView.
Replies
0
Boosts
0
Views
1.1k
Activity
Nov ’22
PKInkingTool markups getting disappeared
When drawing using PKInkingTool as soon as the drawing is finished markups getting disappear this happens in IOS 16 after Xcode 14 releases including Xcode 14 This cannot be simulated when built by Xcode 13.4
Replies
1
Boosts
0
Views
1.1k
Activity
Nov ’22
PencilKit: Get eraser size?
I can't find a way to get/set the eraser size of a PKCanvasView. Since I could get/set the width of a PKInkingTool, I expected to be able to do the same for a PKEraserTool. Am I missing something?
Replies
1
Boosts
0
Views
1.9k
Activity
Nov ’22
Overriding / modifying the default PencilKit edit menu?
Is it possible to override or add buttons to this menu, which appears when I tap on a PKCanvasView?
Replies
2
Boosts
1
Views
1.7k
Activity
Oct ’22
Unable to set PKInk color to black
For some reasons I am unable to set PKInk color to black. It works with yellow, red, blue, …but black is just ignored and I get the stroke in white. This is really weird and I don’t know why. I tried by setting black to PKInkingTool and even by creating a stroke manually and set the PKInk color to black. Do you have an idea? Thanks.
Replies
1
Boosts
0
Views
1.6k
Activity
Oct ’22
Color intensity increases when converting PKDrawing data to uiimage
I am trying to convert PKDrawing data to uiimage. Thus I've used apple's API PKDrawing data to uiimage. But the colour intensity of the converted image increases surprisingly. I mean there is a difference between the canvas data and the converted uiimage. What could be the reason behind that? Here is the scenario Preview Drawing Data on CanvasView Preview after converting Drawing Data to uiimage
Replies
1
Boosts
0
Views
974
Activity
Oct ’22
Random crashing issue with PencilKit
Hi, in my app I don't use PencilKit anywhere, yet I keep getting the following crash: Pencil Kit Crash.txt I don't even know where to start in debugging this. Could this be a bug within UIKit? It obviously only occurs in iPad devices and so far not in iOS16, but that may just be because of sample size. Do I need to handle touches differently for when a user uses an Apple Pen? Any help is appreciated. Thanks.
Replies
1
Boosts
0
Views
991
Activity
Oct ’22
PencilKit PKInkingTool Patternimage
I am trying to use a patternimage to define my color of the PKInkingTool for PencilKit. However, I am not getting any colors when I draw my stroke on the iPad. Is this a bug?
Replies
0
Boosts
0
Views
706
Activity
Oct ’22
Shape detection for other apps? (PencilKit, iOS 15)
Tried to ask as a comment in the other thread: https://developer.apple.com/forums/thread/650386?answerId=628394022#reply-to-this-question But can't leave a comment in there for some reason (the thread is locked?). Asking exactly the same question, now for iOS 15. Anything changed in this area? When selecting a stroke path for object on PKCanvas, the option "Snap to Shape" appears. I understand this function is still in beta and has not made available natively to other PencilKit app. Is there a way using Stroke API to call this function directly after the user hold pencil for half a second when stroke is done drawing, just like how it behaves in native apps?
Replies
1
Boosts
1
Views
1.9k
Activity
Sep ’22
Does Apple's PencilKit support that Drawing and Holding to Create Perfect Shapes, if not, how to implement it?
Does Apple's PencilKit support that Drawing and Holding to Create Perfect Shapes, if not, how to implement it?
Replies
0
Boosts
0
Views
1.1k
Activity
Sep ’22
PKCanvasView size error
Here is the implementation. import SwiftUI import PencilKit struct DrawingCanvas_bug: UIViewRepresentable { typealias UIViewType = PKCanvasView private let toolPicker = PKToolPicker() @Binding var drawing: PKDrawing var isOpaque: Bool = true var drawingDidChange: ((PKDrawing) -> Void)? func makeUIView(context: Context) -> PKCanvasView { let canvasView = PKCanvasView(frame: .zero) canvasView.drawing = drawing canvasView.delegate = context.coordinator canvasView.backgroundColor = .clear canvasView.isOpaque = isOpaque canvasView.alwaysBounceVertical = true // The size of the canvas is Zero, so I cannot update the ZoomScale now. // context.coordinator.updateZoomScale(for: canvasView) toolPicker.setVisible(true, forFirstResponder: canvasView) toolPicker.addObserver(canvasView) canvasView.becomeFirstResponder() return canvasView } func updateUIView(_ canvasView: PKCanvasView, context: Context) { DispatchQueue.main.async { // We can get the correct ZoomScale and the correct ContentSize, but part of the drawing is not visible. // Using the select tool can select them. context.coordinator.updateZoomScale(for: canvasView) } } func makeCoordinator() -> Coordinator { Coordinator(self) } static func dismantleUIView(_ canvasView: PKCanvasView, coordinator: Coordinator) { canvasView.resignFirstResponder() } } extension DrawingCanvas_bug { class Coordinator: NSObject, PKCanvasViewDelegate { var host: DrawingCanvas_bug init(_ host: DrawingCanvas_bug) { self.host = host } func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) { host.drawing = canvasView.drawing if let action = host.drawingDidChange { action(canvasView.drawing) } updateContentSizeForDrawing(for: canvasView) } func updateZoomScale(for canvasView: PKCanvasView) { let canvasScale = canvasView.bounds.width / 768 canvasView.minimumZoomScale = canvasScale canvasView.maximumZoomScale = canvasScale canvasView.zoomScale = canvasScale updateContentSizeForDrawing(for: canvasView) } func updateContentSizeForDrawing(for canvasView: PKCanvasView) { let drawing = canvasView.drawing let contentHeight: CGFloat if !drawing.bounds.isNull { contentHeight = max(canvasView.bounds.height, (drawing.bounds.maxY + 500) * canvasView.zoomScale) } else { contentHeight = canvasView.bounds.height } canvasView.contentSize = CGSize(width: 768 * canvasView.zoomScale, height: contentHeight) } } } And here is how I use: NavigationSplitView(columnVisibility: .constant(.doubleColumn)) {     List(selection: $selection) {         ForEach(drawingModel.drawings, id: \.uuidString) {             DrawingRow(drawingData: $0)         }     } } detail: {     DrawingView() } .navigationSplitViewStyle(.balanced) // <- If I use automatic style, PKCanvasView's size is correct
Replies
1
Boosts
0
Views
1.6k
Activity
Aug ’22
Very high CPU usage when draw a stroke on a canvas with more than 5000 strokes
Many users reported my app use too much energy. I have profiled the app and find out the problem is from PencilKit. It only happens on a canvas with more than 5000 strokes: When user use pen or any ink tool to draw something on the screen and leave the pencil off from the screen, the CPU go immediately to 100-165% for 3 seconds then go back to 0%. I have time profiled CPU and found out that 90% of the calculation are from CoreHandwriting. I suppose each time when user did draw something on the screen, PencilKit will try to recognize text from the handwriting in the background. That leads to high CPU usage. If this is true, I hope there will be an option to disable the CoreHandwriting. Otherwise I hope PencilKit will be updated to consume less energy, because my app received many bad reviews because of this problem and I can't do anything.
Replies
1
Boosts
0
Views
1.6k
Activity
Aug ’22
A serious bug in PencilKit that make all apps with PencilKit useless in iOS16
After testing iOS16, I've found a serious bug that make all apps with PencilKit (Prodrafts, InDraft, Pencil it in, Paint...) completely useless: If a canvasView is scrolled, all existing strokes will be shifted while writing with Apple Pencil. After writing, all strokes will be shifted back to its positions but it make users unable to write anything. This bug is also occurs in the example app of PencilKit: https://developer.apple.com/documentation/pencilkit/drawing_with_pencilkit It's easy to reprocedure: Run the example app, open a note, scroll down, then write something. You will see the bug (this bug only happens in iOS 16 and iPadOS 16). I have sent multiple bug reports since the first days of the beta, none of them are answered. It's been 2 beta versions and the bug has not been fixed yet. I'm an indie developer and I have worked with my app for 2 years - full time - 12 hours a day - no weekend. The main feature of my app is taking note with Apple Pencil and this bug made my app completely broken. I'm terrifying that 2 years of my work will be wasted. Please answer me, give me hope. Thank you :(
Replies
2
Boosts
2
Views
2.2k
Activity
Jul ’22
PencilKit is throwing GPU/Metal errors (Insufficient Memory)
For context: I'm working on a score pad app, with the ability to have a column of PKCanvases, so you can just hand write things without them being scribbled into text. As part of my stress testing, I basically filled the grid with ~50 canvases, and it seems that after a certain amount of CanvasViews are added to the score pad, my M1 iPad Pro GPU is unable to keep up. Occasionally, a cell will just entirely render as magenta, and I will have dozens and dozens of Execution of the command buffer was aborted due to an error during execution. Insufficient Memory (IOAF code 8) logs thrown to the console. I honestly don't know where to go from here. I recognize that what I'm doing is almost definitely not what PencilKit was designed for, but I also know the API is relatively young. I can't tell if this is a bug that should be fixed by Apple, or entirely my fault and a sign that I need to redo the entire thing. I've attached a screenshot with the magenta cell, there's also another two cells where the pencil strokes are just thick black squares. I'd appreciate any advice or help, I can't even seem to find any way to detect and recover from this in my code, as trying to search for Metal errors gives me discussions about writing Metal apps, which this isn't. It's a pure SwiftUI app with some PencilKit canvases.
Replies
6
Boosts
0
Views
3.7k
Activity
Jul ’22
Apple pen and gaming
Years ago I used to use the Apple Pencil to play pubg. I used to move with my left hand and use the pencil in my right to control the view and shoot. I played today for the first time in a while and the pencil no longer works if my hand is already using the left side. Please tell me there’s a fix for this!!
Replies
0
Boosts
0
Views
1k
Activity
Jun ’22