Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS 18 Support #570

Open
LeoNatan opened this issue Jun 11, 2024 · 25 comments
Open

iOS 18 Support #570

LeoNatan opened this issue Jun 11, 2024 · 25 comments

Comments

@LeoNatan
Copy link
Owner

No description provided.

LeoNatan added a commit that referenced this issue Jun 14, 2024
@LeoNatan
Copy link
Owner Author

New UITabBarController design on iPad is not yet supported. It is adaptive, so need inspect the trait collection most likely. It seems iPad simulator is completely broken as of beta 1, so this task will have to wait for Apple to not suck this badly.

LeoNatan added a commit that referenced this issue Jun 14, 2024
LeoNatan added a commit that referenced this issue Jun 14, 2024
@iDevelopper
Copy link
Contributor

Hello,

Is the popup bar always attached at the bottom of the view in Apple Music?

@LeoNatan
Copy link
Owner Author

@iDevelopper do you mean on iPad? I’m not sure.

@iDevelopper
Copy link
Contributor

Yes, on iPad.

But since yesterday I found it should be the case at 5m30:

https://developer.apple.com/wwdc24/10147

@LeoNatan
Copy link
Owner Author

Thanks. So it looks like iOS 17 (there wasn’t a tab bar in 17, only sidebar). It’s the look I intend to support, but once a more stable simulator is released.

LeoNatan added a commit that referenced this issue Jun 28, 2024
@LeoNatan
Copy link
Owner Author

Floating tab bar is now supported:

Simulator Screenshot - iPad Pro 13-inch (M4) - 2024-06-28 at 04 39 52

Simulator Screenshot - iPad Pro 13-inch (M4) - 2024-06-28 at 04 40 09

@LeoNatan

This comment was marked as outdated.

@LeoNatan
Copy link
Owner Author

The only issue I see currently is with the new UITabBarController.setTabBarHidden(_:animated:) method, but it seems so broken as of beta 3, I am not yet willing to invest time into supporting it. It’s a small animation breakage when using animated: true.

@iDevelopper
Copy link
Contributor

Hello @LeoNatan !

What about hidesBottomBarWhenPushed?

- (void)hBWT:(NSInteger)t iE:(BOOL)e d:(NSTimeInterval)duration

is no longer called by the system.

@LeoNatan
Copy link
Owner Author

Hello!

Is this something new? I am on iOS 18.1 beta, and it still works.

@iDevelopper
Copy link
Contributor

iDevelopper commented Aug 12, 2024

I am on 18.0 beta 5. Apple doesn't offer me 18.1! Any idea?

@LeoNatan
Copy link
Owner Author

Not sure yet. I'll check to see if there is a new Xcode with an updated SDK, and then debug. There are two options, either Apple renamed the method, or they hid it from the ObjC runtime. The latter will be more hard to fix.

@iDevelopper
Copy link
Contributor

It seems that 18.1 is not compatible with iPhone 14 Pro.

@LeoNatan
Copy link
Owner Author

The current 18.1 build is older than the 18.0 build anyway.

@iDevelopper
Copy link
Contributor

I have Xcode 16 beta 5 (build 16A5221g) and I can't find 18.1 simulators

@iDevelopper
Copy link
Contributor

ScreenRecording_08-12-2024.10-41-36_1.mov

@LeoNatan
Copy link
Owner Author

LeoNatan commented Aug 12, 2024

I found a fix. But Apple’s -[UITabBarController isTabBarHidden] is broken (by Apple) in latest beta. 🤦‍♂️

@LeoNatan
Copy link
Owner Author

I pushed, play around with it @iDevelopper

@iDevelopper
Copy link
Contributor

Thanks, I'll try. May I ask how you find this as I can't find any up-to-date Apple Runtime Headers. I know you have a repository but you don't update it anymore.

@LeoNatan
Copy link
Owner Author

It’s not easy to maintain anymore. Instead, I use runtime inspection. There is _methodDescription and _ivarDescription.

@iDevelopper
Copy link
Contributor

Thank @LeoNatan!

It works!

@iDevelopper
Copy link
Contributor

Why do you say that isTabBarHidden is broken? What is not working? What would be the expected result for you?

@LeoNatan
Copy link
Owner Author

isTabBarHidden returns false for instances where a controller with hidesBottomBarWhenPushed=true was pushed. The tab bar is hidden, but isTabBarHidden returns false. This broke in the latest beta, and worked correctly before.

@LeoNatan
Copy link
Owner Author

isTabBarHidden returns false for instances where a controller with hidesBottomBarWhenPushed=true was pushed. The tab bar is hidden, but isTabBarHidden returns false. This broke in the latest beta, and worked correctly before.

According to Apple, in the feedback I files, this is the expected behavior.

@iDevelopper
Copy link
Contributor

Hello,

According to Apple, in the feedback I files, this is the expected behavior.

More details from them? How do they explain this is the expected behavior?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants