MIDISend vs MIDISendEventList

I am developing an application for sending MIDI signals. I am using xcode beta 4. I don't understand why the MIDISend function allows me to send signal while MIDISendEvent does not.
How are you creating the event list?
Same with me, I create event list like below. The Old API can work , but the new API not work. No midi signal sent out


Code Block
- (int)sendShortMsg:(unsigned char)deviceIndex :(unsigned char *)pMsg :(unsigned long)size {
    int result = 0;
    OSStatus err = 0;
    ByteCount bufSize = 1024;
    Byte packetListBuf[1024];
    MIDIEventList *eventList = NULL;
    MIDIEventPacket *event = NULL;
    MIDIPacketList* pPacketList = NULL;
    MIDIPacket* pPacket = NULL;
    if ((pMsg == NULL) || (size == 0)) {
        ErrLog(@"The msg is empty");
    }
    if (outPortRef == 0) {
        ErrLog(@"the outportRef equal zero, it's invalid.");
        goto EXIT;
    }
    if (@available(iOS 14.0, *)) {
        eventList = (MIDIEventList *)packetListBuf;
        event = MIDIEventListInit(eventList, kMIDIProtocol_1_0);
        if (event == NULL) {
            ErrLog(@"pPacket is null");
            goto EXIT;
        }
    } else {
        pPacketList = (MIDIPacketList*)packetListBuf;
        pPacket = MIDIPacketListInit(pPacketList);
        if (pPacket == NULL) {
            ErrLog(@"pPacket is null");
            goto EXIT;
        }
    }
    if (@available(iOS 14.0, *)) {
        UInt32 *newMsg = [self convertMidi1ToMidi2WithData:pMsg size:size]; // convert byte array to UInt32 array
        event = MIDIEventListAdd(eventList, bufSize, event, 0, size, newMsg);
        if (event == NULL) {
            ErrLog(@"pPacket is null 2");
            goto EXIT;
        }
    } else {
        pPacket = MIDIPacketListAdd(
                                    pPacketList,   
                                    bufSize,       
                                    pPacket,     
                                    0,           
                                    size,          
                                    (Byte*)pMsg
                                    );
        if (pPacket == NULL) {
            ErrLog(@"pPacket is null 2");
            goto EXIT;
        }
    }
    if (@available(iOS 14.0, *)) {
        err = MIDISendEventList(outPortRef, devInfo.m_EndpointRef, eventList);
        if (err != noErr) {
            ErrLog(@"MIDI OUT device output error.");
            goto EXIT;
        }
    } else {
        err = MIDISend(outPortRef, devInfo.m_EndpointRef,pPacketList);
        if (err != noErr) {
            ErrLog(@"MIDI OUT device output error.");
            goto EXIT;
        }
    }
EXIT:;
    return result;
}


MIDISend vs MIDISendEventList
 
 
Q