Some users have reported that the app's widgets have disappeared after we updated to the latest Xcode for iOS 18 development. They are unable to find our app in the widget search, which prevents them from re-adding the widget. We were unable to reproduce this issue on our own devices during testing. Could this be a system bug? Have others encountered a similar issue?
Post
Replies
Boosts
Views
Activity
here is my case:
i add the AppIntent to both your app and widget extension targets. the intent will run my app process when app is running.
it works perfectly on iOS 17. but iOS 18, my app process never called.
i download app's demo, https://developer.apple.com/documentation/widgetkit/emoji-rangers-supporting-live-activities-interactivity-and-animations
it looks like the same issue. it runs well because even it runs in the widget extension target, it still can present expected UI. but in real case, we need to run the app process to do some work. by debugging, i found the app process never called(set breakpoint).
i add openAppWhenRun, it works well on iOS 18. but it will open the app when the widget is running. it is not what i want.
Objective: When the app is running, directly operate the app without launching it. When the app is not started, wake up the app to perform the corresponding operation.
Premise: AppIntent's openAppWhenRun can dynamically control whether the app is launched, but the variable itself cannot be changed.
Therefore, the idea is to refresh the widget when the app is started or terminated, displaying different content (binding different intents) to achieve the goal.
However, there are persistent issues during code implementation.
struct ControlWidgetContent: ControlWidgetTemplate {
var body: some ControlWidgetTemplate {
if (applaunched) {
return ControlWidgetButton(action: Aintent()) {
Label("xxxx", systemImage: "calendar")
}
} else {
return ControlWidgetButton(action: Bintent()) {
Label("xxxx", systemImage: "calendar")
}
}
}
}
@available(iOS 18.0, *)
struct ControlWidgetContent: ControlWidget {
let kind: String = "ControlWidgetInterface"
var body: some ControlWidgetConfiguration {
StaticControlConfiguration(
kind: kind
) {
ControlWidgetContent()
}.displayName("xxxx")
}
}
it preports error:
Function declares an opaque return type 'some ControlWidgetTemplate', but the return statements in its body do not have matching underlying types
Return statement has underlying type 'ControlWidgetButton<Label<Text, Image>, ControlWidgetButtonDefaultActionLabel, PlayDayRcmdIntent>'
In a music streaming app, when using Activity.request to activate the Dynamic Island, the system’s Now Playing interface appears correctly. However, the app's live activities, lock screen, and other related features fail to display properly.
During debugging, the following code is used:
activity = try Activity.request(attributes: attributes, contentState: contentState, pushType: .token)
if !NMABTestManager.default().is(inTest: "FH-NewLiveActivityPush") {
// Listen to push token updates
if activity != nil {
tokenUpdatesTask?.cancel()
tokenUpdatesTask = Task.detached {
for await tokenData in self.activity!.pushTokenUpdates {
let mytoken = tokenData.map { String(format: "%02x", $0) }.joined().uppercased()
// pushToken is Data, needs to be converted to String using the above method before being passed to the server
self.pushToken = mytoken
}
}
}
}
} catch (let error) {
print("Error Starting Live Activity: \(error.localizedDescription)")
}
In this scenario, the push token is returned correctly, and no errors are triggered.
This issue did not occur in iOS 17 but appears sporadically in iOS 18. Once it occurs, it cannot be resolved through restarting or other means.
feedbackid:FB14763873, i upload my sysdisagnose
here's my case, i develop a control widget, user can push a controlwidget to play music without open the app.
i bind a AudioPlaybackIntent to the widget. when user click the widget, the app will receive the intent and start to play music.
it works perfect when app running in background or foreground. but when app not launched, the respond is too slow, it takes several seconds to start play music.
is there any way to make the respond faster when app not launched? if i want to do something when app not launched, what should i do?
i export apple SF as custom sf for test.
code is simple:
var body: some ControlWidgetConfiguration {
StaticControlConfiguration(
kind:"ControlWidgetConfiguration"
) {
ControlWidgetButton(action: DynamicWidgetIntent()) {
Text("test")
Image("custom_like")
}
}.displayName("test")
}
as we can see, it can't show image in the preview. but it can show image in the Control widget center.
am i do some thing wrong?
i init a CPAlertTemplate with a CPAlertAction, on iOS17, action can called by button click, but on iOS18, action can not be called by button click.
so i can't dissmiss the alert by button click.
i'm struct dynamic island detail content
dynamicIsland: { context in
DynamicIsland {
expandedContent(context: context)
} compactLeading: {
....
} compactTrailing: {
...
}
i want show different content based on context.
private func expandedContent(context: ActivityViewContext<xxxx>)->DynamicIslandExpandedContent<some View> {
if (context.state.style == 0) {
return expandedControlContent1(context: context)
} else if (context.state.style == 1) {
return expandedControlContent2(context: context)
} else {
return expandedControlContent3(context: context)
}
}
compiles error
Function declares an opaque return type 'some View', but the return statements in its body do not have matching underlying types
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unsupported object <CPActionSheetTemplate: 0x2819a4480> <identifier: CD077C44-7F3F-46CC-B713-35A0259124EA, userInfo: (null), tabTitle: (null), tabImage: (null), showsTabBadge: 0> passed to presentTemplate:animated:completion:. Allowed classes: {(
CPAlertTemplate,
CPVoiceControlTemplate,
CPGridTemplate,
CPListTemplate,
CPNowPlayingTemplate,
CPTabBarTemplate
)}'
[[NMCarPlayEventManage shareManage].carplayInterfaceController dismissTemplateAnimated:NO];
[[NMCarPlayEventManage shareManage].carplayInterfaceController presentTemplate:sp animated:YES];
If user use AirPods, and he change the name of AirPods to "xxxx", how to get the origin name of AirPods?
Project Info:A music player iOS App with watchOS app embedded.
Project Structure:
app target: music
intent extenstion: intent (for iOS platform)
watchOS app target: watchKit
watchOS extension: watchKit Extension
iOS app use intent extension to support SiriKit with play media intent, it works very well. now i want to support Siri on watchOS app,
but i don't know how.
i have tried to add new watch extension target, but it doesn't work. i
t keeps saying "my app doesn't support *** instruction".
Please share if I have missed to read through some documentation / reference that solves this problem.
the xcode will freze for 3mins when hit a breakpoint. it report "Fetching variables on ***'s iPhone"
it happens when hit a new breakpoint, and the xcode will freeze for 3mins, then it will be ok. anysolution? its wasting my time.
the xcode continue print the log below:
(arm64) /Users/xx/Desktop/patch/Project/Pods/TestSDK/vendor/***.framework/***(FPEncryptMsg.pb-c.o) 0x00000c22: unable to locate module needed for external types: /Users/packagedevice/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/38MC9CUKFC6LS/Darwin-MI6WZSG1PNOM.pcm
error: '/Users/packagedevice/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/38MC9CUKFC6LS/Darwin-MI6WZSG1PNOM.pcm' does not exist
Debugging will be degraded due to missing types. Rebuilding the project will regenerate the needed module files.
Our project has many dependencies which are binary file. And these dependencies are build in the remote serve。Anyone has ideas about this
the xcode will freze for 3mins when hit a breakpoint. it report "Fetching variables on ***'s iPhone"
it happens when hit a new breakpoint, and the xcode will freeze for 3mins, then it will be ok.
anysolution? its wasting my time.
iPhone 14 Pro:
status bar height : 54
navigator bar originY : 53.667
is this a system bug? it happens on simulator and real device.
this may cause some problems when I use the (navigator bar height + status bar height) to calculate the originY of the content view.
for example, i set the content view's originY to 98(54 + 44), but the navigator bar's originY is 53.667, so the content view's originY needs to be 98.667.
it will have a gap 0.333px between the navigator bar and the content view.
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x1ca00dbc4 __abort_with_payload + 8
1 libsystem_kernel.dylib 0x1ca02fc48 abort_with_payload + 16
2 libsystem_c.dylib 0x1950a8410 _os_crash_fmt
3 UIKitCore 0x190ab43b8 +[UIWindow _checkPreCommitHandlersAfterCAFlush] + 312
4 UIKitCore 0x18fdab174 _cleanUpAfterCAFlushAndRunDeferredBlocks + 92
5 UIKitCore 0x190270e08 _UIApplicationFlushCATransaction + 72
6 UIKitCore 0x1903bd33c _UIUpdateSequenceRun + 84
7 UIKitCore 0x1909f9ea8 schedulerStepScheduledMainSection + 172
8 UIKitCore 0x1909f9074 runloopSourceCallback + 92
9 CoreFoundation 0x18dcba2cc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
10 CoreFoundation 0x18dcc6660 __CFRunLoopDoSource0 + 176
11 CoreFoundation 0x18dc4a5c4 __CFRunLoopDoSources0 + 244
12 CoreFoundation 0x18dc5ff58 __CFRunLoopRun + 836
13 CoreFoundation 0x18dc65284 CFRunLoopRunSpecific + 612
14 GraphicsServices 0x1c67eb368 GSEventRunModal + 164
15 UIKitCore 0x19010e860 -[UIApplication _run] + 888
16 UIKitCore 0x19010e4c4 UIApplicationMain + 340