- (void)viewDidLoad {
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[self imageWithColor:[UIColor redColor]] forBarMetrics:UIBarMetricsDefault];
}
- (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
it works on iOS14, but on iOS15. it doesn't work.
the color of navigationBar does't change
Post
Replies
Boosts
Views
Activity
self.tableView = [[UITableView alloc] initWithFrame:self.view.frame];
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UILabel *label = [[UILabel alloc] init];
label.text = @"test";
return label;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 0.01;
}
it works perfect on iOS14. but on iOS15 XCode13 beta. it doesn't work anymore.
have a default header which height is 22 here
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
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.
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 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
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.
If user use AirPods, and he change the name of AirPods to "xxxx", how to get the origin name of AirPods?
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];
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
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.
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 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?
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?
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