If I use the manual merge option with a mergeable library in debug mode, the app crashes on the device only.
Here's what I found when debugging this issue.
Problem situation 1
In the debug build, the linker does not find the type of the Meregeable Library.
Explain the debugged result of Problem Situation 1
We have a type called UserAdDTO, which belongs to the B Framework. - In our project, B Framework and C Framework are mergeable libraries, and they are merged into A Framework.
We are using Manual Merge in A Framework.
When we build with the simulator, we link the UserAdDTO from CFramework.framework/CFramework in the app target.
On the other hand, when I build with the device, I try to link it from AFramework.framework/AFramework, and I get the issue that UserAdDTO is not found.
So, even if you output DYLD_PRINT_BINDINGS, the simulator build links to the C Framework to find the UserAdDTO, but the app links to the B Framework, causing a runtime crash.
Problem situation 2
It is confirmed that only the device build does not copy the reexported binary.
Detailed description of problem situation 2
If you compare the build messages from the device build with the build messages from the release build, both generate the reexported binaries of B and C Frameworks, but do not copy them to BFramework.framework and CFramework.framework.
Instead, they copy the files in different paths.
This appears to be a bug, and I'd like to ask you to confirm.
Post
Replies
Boosts
Views
Activity
When I configured the mergeable library manual and ran a build on the device, I got a runtime crash. However, when I build on the simulator, I don't get a runtime crash. This only happens when I build on the device. I was wondering if this is a bug?
The error message is shown in the attached picture.
Build environment
XCode 15.3
I built in debug mode.
The CoreToolKit target is manually merged with the rest of the targets.
The app target links to the CoreToolKit target.
The app target is not linked to the targets that are merged into the CoreToolKit target.
I'm trying to test the Assistant Schema Intent with the Shortcut app. However, unlike in the WWDC video (https://developer.apple.com/videos/play/wwdc2024/10133/), my Intent conforming to the Assistant Schema does not appear when I search for 'AssistantSchema'. If it doesn't appear here, does that mean this intent will not work with Siri?
I'm using AVAudioSession to play videos with other apps playing sound background.
But it doesn't work only at iPhone 13 pro(iOS 15.5).
When I open my app while playing music on another app, the music stops.
These are the code I been using and trying it on different parts of my application.
DispatchQueue.global(qos: .userInitiated).async {
let audioSession = AVAudioSession.sharedInstance()
try? audioSession.setCategory(.playback, options: .mixWithOthers)
try? audioSession.setMode(.default)
try? audioSession.setActive(true)
}
DispatchQueue.global(qos: .userInitiated).async {
let audioSession = AVAudioSession.sharedInstance()
try? audioSession.setCategory(AVAudioSession.Category.ambient, options: [AVAudioSession.CategoryOptions.mixWithOthers])
try? audioSession.setActive(true)
}