ios 푸시 토큰 넣을때 종료되어버립니다.

Backend.iOS.PutDeviceToken() 함수 호출시 게임이 팅겨버립니다.
아래는 xcode상의 오류코드와 오류발생하는 위치입니다.

xcode log:
bravedog2(3626,0x1e0198300) malloc: *** error for object 0x10e4b1418: pointer being freed was not allocated
bravedog2(3626,0x1e0198300) malloc: *** set a breakpoint in malloc_error_break to debug

에러 발생하는 함수:
// System.String TheBackend.iOS.iOSInstance::getTokenByBackend()
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR String_t* iOSInstance_getTokenByBackend_mF739FF22EDF9727D5E59AA2E28A7CC889F3BD33D (const RuntimeMethod* method)
{
typedef char* (DEFAULT_CALL *PInvokeFunc) ();

// Native function invocation
char* returnValue = reinterpret_cast<PInvokeFunc>(getTokenByBackend)();

// Marshaling of return value back from native representation
String_t* _returnValue_unmarshaled = NULL;
_returnValue_unmarshaled = il2cpp_codegen_marshal_string_result(returnValue);

// Marshaling cleanup of return value native representation
il2cpp_codegen_marshal_free(returnValue);
returnValue = NULL;

return _returnValue_unmarshaled;

}

안녕하세요 개발자님,
내부 확인 시 로그인이 이루어지지 않은 상황에서 해당 함수가 호출되는 경우 동일 에러가 발생하는 현상을 재현을 통해 확인하였습니다.
해당 함수의 호출이 로그인 이전 진행되고 있는지 확인하여 주시면 감사하겠습니다.

로그인 씬에서 로그인 완료되고 리소스 로딩도 완료 된 후에

게임 씬으로 변경된뒤에 함수를 호출하는데 로그인 이외에 다른 문제가 발생할 요소가 있을까요?

아님 로그인 안됐다고 판단될 만한 요소가 있나요?

iOS.PutDeviceToken(“토큰 수동 값”, isDevelopment)에서 토큰 수동값이 null일 경우 발생할 수 있는 현상으로 확인됩니다.
해당 함수를 요청하기 전에 if(string.IsNullOrEmpty(token)으로 null인지 확인해 대응해 주시고,

만약 그럼에도 에러가 계속 발생한다면
Asset > TheBackend > Plugins > iOS 폴더를 지우시고, Asset > TheBackend > Plugins > Android에 있는 TheBckend.iOS.dll에서 include Platforms 옵션에 IOS도 추가해 시도해 주시면 감사하겠습니다.

iOS 폴더를 삭제하는 방법은 il2cpp에서 강제적으로 발생하는 에러를 제거하는 방법으로
만약 iOS 폴더를 삭제하고 진행하였을 때, 정상 진행된다면 유니티에서 제공하는 플러그인 Mobile Notifications를 사용하여 수동 토큰값을 얻어와야 하는 점 참고 부탁드리겠습니다.

안녕하세요.
저도 현재 위에분과 동일한 현상이 발생합니다…
Backend.IOS.PutDeviceToken() 호출시 앱이 죽어버립니다.

해당 함수 요청 전에 토큰이 null값인지 확인은 어떻게 진행해야하고,
대응은 또 어떤식으로 가능한건지 자세한 예제 요청드립니다.

'토큰 수동값’을 어떻게 받아올 수 있으며 null 값이라면 어떻게 다시
요청을 할 수 있는건가요?

아래 방법을 진행하다가 빌드 에러 발생해서
위에 방법으로 진행하려 합니다.