버그 해결을 위한 모든 질문을 던져
0 votes
88 views
안녕하세요. (현재 유니티 버전은 Unity2020 입니다)

유니티를 iOS XCode 용으로 빌드하게 되면

기본적으로 Export 된 iOS XCode용으로 빌드된 프로젝트에서

MainApp 이라는 폴더내의 main.mm 에서 유니티 게임을 실행시켜주게 되어있는 것 같은데요.

 

< 질문 >

main.mm 에서 유니티 프로젝트를 켠 뒤에 유니티 내부의 특정 함수를 부를 수는 없을까요?

 

< 현재 상황 >

● 기본적으로 유니티에서 제공해주는 것 같은 UnitySendMessage 라는 것을 사용하려고 했지만

https://docs.unity3d.com/kr/2020.3/Manual/PluginsForIOS.html

● 아래와 같은 에러가 발생하여 사용할 수가 없는 상황입니다.

Error : Undefined symbol: _UnitySendMessage

         symbol(s) not found for architecture arm64

라는 에러인데 해결방법을 모르겠습니다.

 

< 문의 >

혹시 XCode 상에서 UnitySendMessage 에러없이 사용할 수 있는 방법이나,

다른 방법으로 XCode 에서 개발한 .m 이나 .mm 에서 유니티 함수를 부를 수 있는 방법이 있는지 궁금합니다.

 

감사합니다.
asked (2 point)
수정됨 , 88 views

1 답변

0 votes
ios에서 호출할 유니티 객체가 있어야합니다.

유니티에서 static 클래스를 만드시고, 인스턴스생성하실때

instance = new GameObject("static클래스").AddComponent<static클래스>()

DontDestroyOnLoad( instance.gameObject );

같은 형식으로 만드시면 됩니다.

 

그리고나서 ios에서

UnitySendMessage( "static클래스", "함수명", "매개변수" );

형식으로 호출하면 됩니다.
answered (39 point)
말씀하신 그 UnitySendMessage 를 사용하려고 XCode 상에서 코드를 개발한 상태에서는 에러가 없지만

디바이스에서 실행하려고 빌드하면 arm64 undefined 에러가 발생해서 무엇을 할 수가 없네요. ㅠㅠ

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

533 질문
687 answers
674 댓글
118,203 users