Hello,
I am testing an existing app on iOS 26. It hast an UITableViewController that shows a custom context menu preview using previewForHighlightingContextMenuWithConfiguration and providing an UITargetedPreview. Something along the lines like this (shortened):
public override func tableView(_ tableView: UITableView, previewForHighlightingContextMenuWithConfiguration configuration: UIContextMenuConfiguration) -> UITargetedPreview? {
guard let indexPath = configuration.identifier as? NSIndexPath
else { return nil }
let previewTableViewCell = self.getCell(for: indexPath)
var cellHeight = self.getCellHeight(for: indexPath, with: maxTextWidth)
// Use the contentView of the UITableViewCell as a preview view
let previewMessageView = previewTableViewCell.contentView
previewMessageView.frame = CGRect(x: 0, y: 0, width: maxPreviewWidth, height: cellHeight)
previewMessageView.layer.masksToBounds = true
let accessoryView = ...
let totalAccessoryFrameHeight = accessoryView.frame.maxY - cellHeight
var containerView = UIView(frame: .init(x: 0, y: 0, width: Int(maxPreviewWidth), height: Int(cellHeight + totalAccessoryFrameHeight)))
containerView.backgroundColor = .clear
containerView.addSubview(previewMessageView)
containerView.addSubview(accessoryView)
// Create a preview target which allows us to have a transparent background
let previewTarget = UIPreviewTarget(container: tableView, center: ...)
let previewParameter = UIPreviewParameters()
// Remove the background and the drop shadow from our custom preview view
previewParameter.backgroundColor = .clear
previewParameter.shadowPath = UIBezierPath()
return UITargetedPreview(view: containerView, parameters: previewParameter, target: previewTarget)
}
On iOS 18 and below this works fine and buttons that are included in the accessoryView are tapable by the user. Now on iOS 26 the preview is shown correct (although it has a bit weird shadow animation), but tapping a button of the accessoryView now closes the context menu, without triggering the touchUpInside event anymore.
For me it feels like an unintended change in behavior, but maybe I am missing something?
Filed FB18644353
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
I've noticed a few rare crashes with the following stacktrace reported on AppStore connect:
Hardware Model: iPhone16,2
AppStoreTools: 15F31e
AppVariant: 1:iPhone16,2:17.4
OS Version: iPhone OS 17.5.1 (21F90)
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: <App> [15575]
Triggered by Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x1a3d38f20 __exceptionPreprocess + 164 (NSException.m:249)
1 libobjc.A.dylib 0x19bbbe018 objc_exception_throw + 60 (objc-exception.mm:356)
2 Foundation 0x1a323f868 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 188 (NSException.m:252)
3 CoreAutoLayout 0x1c4eabcc8 -[NSLayoutConstraint _setSymbolicConstant:constant:symbolicConstantMultiplier:] + 552 (NSLayoutConstraint.m:669)
4 CoreAutoLayout 0x1c4eab674 -[NSLayoutConstraint setConstant:] + 96 (NSLayoutConstraint.m:750)
5 <App> 0x10486d578 closure #1 in BaseChatTableViewCell.requestPreview(for:with:) + 540 (BaseChatTableViewCell+File.swift:162)
6 <App> 0x10486d73c thunk for @escaping @callee_guaranteed (@in_guaranteed URLRequest, @guaranteed NSHTTPURLResponse?, @guaranteed UIImage) -> () + 164 (<compiler-generated>:0)
7 <App> 0x104c4f814 __85-[UIImageView(AFNetworking) setImageWithURLRequest:placeholderImage:success:failure:]_block_invoke + 176 (UIImageView+AFNetworking.m:118)
8 <App> 0x104c3cc74 __78-[AFImageDownloader downloadImageForURLRequest:withReceiptID:success:failure:]_block_invoke.88 + 52 (AFImageDownloader.m:276)
9 libdispatch.dylib 0x1abbdc13c _dispatch_call_block_and_release + 32 (init.c:1530)
10 libdispatch.dylib 0x1abbdddd4 _dispatch_client_callout + 20 (object.m:576)
11 libdispatch.dylib 0x1abbec5a4 _dispatch_main_queue_drain + 988 (queue.c:7898)
12 libdispatch.dylib 0x1abbec1b8 _dispatch_main_queue_callback_4CF + 44 (queue.c:8058)
13 CoreFoundation 0x1a3d0b710 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 (CFRunLoop.c:1780)
14 CoreFoundation 0x1a3d08914 __CFRunLoopRun + 1996 (CFRunLoop.c:3149)
15 CoreFoundation 0x1a3d07cd8 CFRunLoopRunSpecific + 608 (CFRunLoop.c:3420)
16 GraphicsServices 0x1e8bb81a8 GSEventRunModal + 164 (GSEvent.c:2196)
17 UIKitCore 0x1a634090c -[UIApplication _run] + 888 (UIApplication.m:3713)
18 UIKitCore 0x1a63f49d0 UIApplicationMain + 340 (UIApplication.m:5303)
19 <App> 0x1047c6c20 main + 80 (main.m:11)
20 dyld 0x1c73b9e4c start + 2240 (dyldMain.cpp:1298)
It crashes on the last line of
let previewSize = BaseChatTableViewCell.getPreviewSize(from: imageSize, isMediaFile)
self.filePreviewImageViewHeightConstraint?.constant = previewSize.height
self.filePreviewImageViewWidthConstraint?.constant = previewSize.width
where previewSize is a CGSize. I am unable to reproduce the crash, nor am I able to understand why it crashes there. Anyone got an idea what could cause a crash on setting a constant?
Topic:
UI Frameworks
SubTopic:
General
Hello,
I am using the following code to donate interactions:
INImage *image = [INImage imageWithUIImage:avatarImage];
INPerson *person = [[INPerson alloc]
initWithPersonHandle:handle
nameComponents:nil
displayName:title
image:image
contactIdentifier:nil
customIdentifier:nil];
Now I have switched to use SVGs in my assets (so single scale with "preserve vector data" enabled), which is working perfectly fine for UIImageView or UIButton. However, it does not work for INImages created from an SVG-UIImage. It's shows the icon, but it's blurry (so the vector data is not preserved).
Am I missing something here or does INImage just not support SVGs this way?
Hello,
before updating to MacOS Ventura (13.0.1) and Xcode 14.1 I was perfectly able to run a iOS application from Xcode on my Mac (so "My Mac (Designed for iPad)" is selected as a target). After these updates I can't access the keychain anymore, the following error is shown:
OSStatus error: [-34018] Security error has occurred.
In the console I see
Entitlement com.apple.application-identifier=TEAM.com.NAME.APP is ignored because of invalid application signature or incorrect provisioning profile
Entitlement com.apple.security.application-groups=(
"group.com.NAME.APP"
) is ignored because of invalid application signature or incorrect provisioning profile
App[76770]/1#8 LF=0 copy_matching Error Domain=NSOSStatusErrorDomain Code=-34018 "Client has neither com.apple.application-identifier nor com.apple.security.application-groups nor keychain-access-groups entitlements" UserInfo={numberOfErrorsDeep=0, NSDescription=Client has neither com.apple.application-identifier nor com.apple.security.application-groups nor keychain-access-groups entitlements}
Checking the created *.app file with codesign -d --entitlements results in:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>TEAM.com.NAME.APP</string>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.team-identifier</key>
<string>TEAM</string>
<key>com.apple.developer.usernotifications.communication</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.NAME.APP</string>
</array>
<key>get-task-allow</key>
<true/>
</dict>
</plist>
So, the application identifier is actually there, as is the application-group.
When I install the latest version of the app from the App Store, everything is working fine. Running the app on a real iOS device also works perfectly fine from Xcode, it's just running on Mac which isn't working properly.
Has something changed with Ventura or Xcode 14.1? Any idea what I can do/try?