Issue Tracking

Undefined symbol: __mh_execute_header

CommitGuy 2025. 1. 28. 07:00

Native iOS App에서 Unity를 Library로 사용하려고 코드를 짜고 있는데 _mh_execute_header에서 undefined symbol 에러가 떴다

찾아보니 xcode16부터 이런 에러가 많이 발생하는거 같은데 나도 마침 xcode16이었다

 

기존 코드가 아래와 같이 되어 있었는데

if ufw?.appController() == nil {
    let machineHeader = UnsafeMutablePointer<MachHeader>.allocate(capacity: 1)
    machineHeader.pointee = _mh_execute_header

    ufw?.setExecuteHeader(machineHeader)
}

여기서 _mh_execute_header에 undefined symbol 에러가 떴다

 

수정하는 방법은 아래와 같이 코드를 수정하는 것이다

if ufw?.appController() == nil
{
    let machineHeader = #dsohandle.assumingMemoryBound(to: MachHeader.self)
    ufw?.setExecuteHeader(machineHeader)
}

 

이렇게 수정하면 이슈가 해결된다