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)
}
이렇게 수정하면 이슈가 해결된다