In Xcode 15 beta 5 + iOS 17 beta 4, the AppShortcuts (or maybe Shortcuts app) is broken. The AppShortcuts defined in AppShortcutsProvider are not shown up in the Shortcuts app any more.
Reproduce Code
import SwiftUI
import AppIntents
@main
struct LearnShortcutsApp: App {
var body: some Scene {
WindowGroup {
Text("Hello, world!")
}
}
}
struct MyAction: AppIntent {
static let title: LocalizedStringResource = "My Action"
func perform() async throws -> some IntentResult {
return .result()
}
}
struct MyAppShortcts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
AppShortcut(intent: MyAction(),
phrases: [
"Perform action with \(.applicationName)"
],
shortTitle: "Perform My Action",
systemImageName: "heart")
}
}
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Created
When using NavigationStack and NavigationLink, even in very simple situations, the behavior is not normal.
When tapping on a NavigationLink, the cell's selected state cannot be maintained. The selection effect is not visible when pushing and popping views. This makes it difficult for users to track their selected content and the current view.
At the moment of tapping a NavigationLink, the scroll offset of the List jumps, which affects the experience very much. (Before tapping a cell, as long as the page is not at the top, it can be reproduced 100%)
In iOS 17 beta 4, the Live Activity on lock screen is always rendered in dark mode. The issue can be reproduced both on physical device and simulator.
Hello!
In Xcode 15 beta 1-5, a large number of old Xcode Cloud entries are displayed in the Report Navigator. These old entries do not contain any content. This issue does not occur when viewing the same project in Xcode 14.
Hello,
The new mental health features in iOS 17 allow users to log their momentary emotions and daily moods, see valuable insights, and easily access assessments and resources. Does anyone know if HealthKit in iOS 17 provides an API for accessing these records? Thanks :)
In Xcode 15 beta 6, building any Mac Catalyst project will encounter the following Linker warning.
ld: warning: building for 'macCatalyst', but linking in dylib (/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa.tbd) built for 'macOS'
In Xcode 15 beta 6, I found that when building visionOS apps, #if os(iOS) is no longer considered part of the project. This behavior is different from beta 1 to beta 5.
Is this intentional? This change has caused third-party dependencies that use #if os(iOS) and have not yet explicitly supported visionOS to fail to compile. Is there a way to switch back to the old behavior? After all, requiring all third-party dependencies to explicitly support visionOS is quite difficult.
Hello everyone!
I noticed that the UISearchBar on visionOS automatically supports the Look-To-Dictate function. However, for a regular UITextView, I couldn't find the corresponding API. How can I make a UITextView support the Look-To-Dictate function? This is a great system feature.
(I noticed there is a protocol called UILookToDictateCapable but no idea how to use it.)
Hello!
My app supports iOS and visionOS in a single target. But when I preview the app on iOS device/simulator, an error occurred:
The RealityKitContent.rkassets is located in my RealityKitContent package that is linked on visionOS.
It seems that Xcode Preview is ignoring the link settings and attempt to build RealityKitContent.rkassets on iOS.
Reproduce Steps:
Clone my demo project at https://github.com/gongzhang/rkassets-preview-issue-demo
Build the app for iOS (success)
Preview ContentView.swift (failed due to RealityKitContent.rkassets issue)
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Xcode Previews
visionOS
Reality Composer Pro
My app features two kinds of widgets, let's call them kind A and kind B.
I have both A and B widgets on my Home Screen. When I tap the button on widget A (associated with App Intent), I expect widget B to also reload.
However, if you call WidgetCenter.shared.reloadAllTimelines() inside the perform() method of the AppIntent, the timeline of widget B does not reload immediately. This issue only occurs on a physical device and is not consistently reproducible. On a simulator, however, widget B reloads as expected.
FB13152293
Hello,
I noticed that the layout of compact Dynamic Island on iOS 17 is incorrect. The edge of the circle shape is unable to be aligned with the edge of Dynamic Island.
However, the layout in Xcode Preview is just perfect. And this is also the same layout on previous iOS 16:
If you try to workaround the issue by adding an offset to the view, it will be cropped by a misaligned circle.
Hello,
I just discovered that on iOS 17.0 (release), if Measurement<UnitVolume> is used in App Intent, the system will incorrectly parse mL (milliliters) as megaliters. They differ by 9 orders of magnitude.
This issue only occurs in the English + United Kingdom regional format.
Sample code: https://github.com/gongzhang/AppIntentUnitVolumeBugUnderEnGB
Screen recording:
https://youtu.be/rMMAHOFpPXs
One of my users' device (iOS 17.0) consistently fails to refresh the purchase receipt through SKReceiptRefreshRequest, resulting in the following error (ASDServerErrorDomain Code=500332).
Error Domain=SKErrorDomain Code=0 "发生未知错误" UserInfo={NSLocalizedDescription=发生未知错误, NSUnderlyingError=0x28357f300 {Error Domain=ASDServerErrorDomain Code=500332 "Unhandled exception" UserInfo={NSLocalizedDescription=Unhandled exception, NSLocalizedFailureReason=An unknown error occurred}}}
The user has tried checking their App Store account, restarting the device, etc., but none of these actions have helped.
Does anyone know what might be causing this issue?
Hello,
My iOS app will support running on visionOS in compatible mode and I want to do some optimizations for the UI. Is there a flag can help to determine this compatible mode on visionOS? (Just like ProcessInfo.isiOSAppOnMac)
Thanks!
FB12757613
Hello everyone!
I've found that on the current iOS 17.0/17.1, the Button with an AppIntent within a widget can be tapped at a high frequency. Even if the AppIntent triggered by the first tap has not finished executing, the user can still trigger the AppIntent again. This can lead to repeated or accidental operations by the user.
Since there is already an invalidatableContent() API, I think the system should know when an AppIntent has not finished executing. I suggest that in this state, the system should not accept repeated taps from the user. This way, the behavior and appearance of the button would be consistent.