Pre apologies for any ignorance. This is my first time in mobile or IOS ecosystem.
I fixed a very minor bug in an existing IOS application built with react native.
This app is deployed to the store and hasn't been touched or updated in a while. It has a main react native project alongside a custom swift library that it relies on.
The side library is MIT_MIDI_Framework and the main app we will just call APP.
Upon attempting to build and deploy APP to QAT with fastlane (Same process as used prior to minor css changes although last done some time ago) I get the following error in my console.
<projects path>/MidiPlayer.swift:10:8: no such module 'MIT_MIDI_Framework'
If I build locally it succeeds and then while using the app it crashes when I select a song to play
Exception 'MIDIDestinationCreate failed. The process does not have privileges for the requested operation.' was thrown while invoking selectSong on target iOSMidiPlayer with params (
1
)..........
I think whats happening is the supporting MIT_MIDI_Framework is failing to be found for import because it not building (or bundling?) due to some permissions ios needs to use underlying MIDI framework or maybe music ? sound?.
This makes sense to me because it could possibly be due to updated apple software such as IOS or XCODE and explains why this project can no longer deploy when it could deploy just fine with the same process before some very minor css changes.
Any help is appreciated!!!
My initial thought from Fastlane script error on QAT deploy attempt was linking issue So I tried
1 - linking issue by adding it to embed and signed under frameworks and libraries in x code
2 - added its path to Build Settings -> Search paths
This did not resolve and I was less inclined to go further down this route since this app build before the way it was set up. I would like to change the least amount possible to fix this.
The Runtime error running it on local simulator made me think permissions. After googling I see there are no special MIDI permissions but I did see music permissions. I added like so
<key>kTCCServiceMediaLibrary</key>
<string>ok to play music</string>
to my info.plist file and in the info tab of XCODE.