Can confirm that putting the below inside viewWillAppear returns iPad and mac to using the tabbar along the bottom. No need to build your own alternative tab bar. This approach causes a lot of issues if you have customised the tab bar at all.
I am gobsmacked that Apple would force such a drastic change without an option to revert. We are relying heavily on the image as part of the tab bar, as we update one of them to let the user know there has been a change. This is a core peace of our app and it just disappears without notice. We have been getting crashes from this on macs due to this. Beyond belief
if #available(iOS 18.0, *), UIDevice.current.userInterfaceIdiom == .pad {
// Both iPad and Mac, as mac is running "Designed for iPad"
traitOverrides.horizontalSizeClass = .unspecified
if ProcessInfo.processInfo.isiOSAppOnMac {
/// Fix for macOS Sequoia: without it, the tabs
/// appear twice and the view crashes regularly.
/// Hides the top tabs
self.mode = .tabSidebar
self.sidebar.isHidden = true
}
}
Post
Replies
Boosts
Views
Activity
I have two testflight users messaging me about the same. They were initially getting errors saying the profile cant be installed. Checked all the usual stuff, couldn’t see anything. Told them to restart their phones and now they get this. I’m assuming there’s a TestFlight outage of some kind???
Had to downgrade to 15.2 by downloading it from here: https://developer.apple.com/download/all/?q=xcode%2015
So unbelievably sick and tired and these constant storyboard issues with every new release. Developer experience is becoming unbearable
Any update on this? I'm using AVPlayerViewController and if i set
avplayerController.player?.allowsExternalPlayback = false
When I airplay I see track, album title, artist name and artwork. If I don't set that, I only see track title. I need to keep that setting enabled, but I need the experience of it disabled
Managed to find the bundle identifier needed com.apple.AuthKitUIService
This is not a complete solution that handles all paths through the modal. Just a sample to get through the flow when you have previously signed in. Just leaving this here to show how to wrap something like this up in a function
sleep(4)
let testApp = XCUIApplication(bundleIdentifier: "com.apple.AuthKitUIService")
let continueButton = testApp.buttons["Continue"]
if continueButton.exists {
continueButton.tap()
}
let shareEmailOption = testApp.tables.staticTexts["Share My Email"]
if shareEmailOption.exists {
shareEmailOption.tap()
}
let continueWithPassword = testApp.buttons["Continue with Password"]
if continueWithPassword.exists {
continueWithPassword.tap()
}
testApp.secureTextFields["Password"].tap()
// Type your password
testApp.buttons["Sign In"].tap()
// Wait for something to show up in your app to denote success / failure
let app = XCUIApplication()
.......
How I found this bundle identifier for anyone having similar issues:
running xcrun simctl list devices --json in terminal lists all simulators. Find the UDID of the one you are using then either:
run xcrun simctl listapps <UDID>
or go to ~/Library/Developer/CoreSimulator/<UDID>/data/Containers/Data and do a search for "com.apple"
Finally found a workaround to this. While the error inside Xcode is incredibly cryptic, I noticed an error (more like a warning though) in my CI logs while looking at another issue. Inside the CI logs I found
can't open *** as a "Swift Package Folder" because it is already open as a "Folder"
Inside my SPM I have 3 .js files. To organise it better I put them in a sub folder, and added that folder as a resource inside the Package.swift. There are multiple reports of cocoapods facing the same error message due to some new change/requirement to have resource folders signed. Couldn't figure out how to sign the folder in SPM, so I took a chance and removed the .js files from the subfolder, and list each one of the directly as resources in the package.swift and it solved this issue
Xcode 14 is SSSSSSOOOOOOO buggy!
Following posts online I tried setting "Build Active Architecture Only" to "No" for debug builds, AND adding "macOS" to the "Supported Platforms" for debug. This is throwing an error that a swift package i'm writing/using (set to iOS 15 and mac 11), that it can't find the module for target 'x86_64-apple-ios-simulator'; found: arm64-apple-ios-simulator. Telling me to add missing architecture. Can't find anything online with instructions on what it is i'm supposed to do
It seems that if I set "player.allowsExternalPlayback = false" the nowPlayingInfo is correctly passed to the tv, but then the player looses the airplay button, forcing me to use the notification centre option. This seems like a bug
Did you ever find a solution to this? I'm facing the same issue. Everything is working fine with notification centre, dynamic island etc. But just black screen on airplay tv
Apple replied to a feedback assistant bug. Its possible to clear the cache by right clicking on "Recently Used" (on the left hand side of the above picture, under the popup), and select "Clear Recently used". After that it correctly picks the package URL supplied
Same issue here in Xcode 13.3.1. Anyone found a way to disable it yet?
For me its coming from a dependency of a dependency of a dependency. I've tried reaching out to see can they be updated but some haven't been touched in ~3 years. I won't hold my breath that it will get done.
Also opened a bug for Xcode with the feedback assistant. Anyone who hasn't done so, please do it to make sure it gets looked at
Did you ever find a solution to this?
Swift Sodium is affected by this too: https://github.com/jedisct1/swift-sodium . Simply including it in your project makes it impossible to archive.
There was a workaround in someone else's fork, but it seems like this is now being affected by the same issue when using Xcode 12.5.1. This is a huge critical show stopper for us. Really need Apple to push this one along