The native module which is accessed inside trackPlayer.ts in the RNTP package seems to be undefined, which causes the error: new NativeEventEmitter() requires a non-null argument.
const { TrackPlayerModule: TrackPlayer } = NativeModules;
const emitter =
Platform.OS !== 'android'
? new NativeEventEmitter(TrackPlayer) //\<-- TrackPlayer is undefined
: DeviceEventEmitter;
I installed the latest version
npm install --save react-native-track-player
then I added playback-service.js
import TrackPlayer, {Capability} from 'react-native-track-player';
module.exports = async function () {
  return async () => {
    TrackPlayer.addEventListener('remote-play', () => TrackPlayer.play());
    TrackPlayer.addEventListener('remote-pause', () => TrackPlayer.pause());
    TrackPlayer.addEventListener('remote-next', () => TrackPlayer.skipToNext());
    TrackPlayer.addEventListener('remote-previous', () => TrackPlayer.skipToPrevious());
    TrackPlayer.addEventListener('playback-buffering', (event) => {
      console.log('Buffering...', event.isBuffering);
    });
    await TrackPlayer.updateOptions([
      capabilities: [
        Capability.Play,
        Capability.Pause,
        Capability.SkipToNext,
        Capability.SkipToPrevious,
        Capability.JumpForward,
        Capability.JumpBackward,
        Capability.SeekTo
      ]
    });
    TrackPlayer.setPlayWhenReady(true);
  }
};
registered the playback service and set up the player in App.tsx
useEffect(() =\> {
TrackPlayer.registerPlaybackService(() =\> require('./playback-service.js'));
TrackPlayer.setupPlayer()
}, \[\]);
after that I ran cd ios && pod install
                        
Manually adding
pod 'react-native-track-player', path: '../node_modules/react-native-track-player'to PODFILE under the ios folder fixed the issue.