Unity3D no matching function for call to 'UnitySendMessage'
- (void) completeTransaction:(SKPaymentTransaction *)transaction
위 소스는 기존에유니티3D iOS 인앱 연동 작업했던 것 중에서 빌트인 모델로 했던 것을 서버 모델로 하기 위해 영수증 정보를 유니티3D에 넘기게 수정한 부분입니다. 자세한 인앱 영수증 서버 처리는 추후에 정리해보기로 하고, 일단 주석 된 것이 기존에 간단히 아이템id만 넘겼던 빌트인 모델용이고 그 밑에 처리한게 서버 모델을 위한 영수증을 넘긴건데
Unity3D no matching function for call to 'UnitySendMessage'
이런 에러가 발생했습니다. 얼핏보면 이상 없을 것 같은 코드이지만
UnitySendMessage는 인자가 모두 const char* 죠. 생각없이 작업하다가 NSString*를 넘겨줘서 생긴 오류였습니다.
이렇게 해주면되죠. 그런데 제 맥에서는 며칠동안 에러코드인 상태로 빌드 및 테스트가 잘 되고 있던 상태였는데 이상하게도 작업한 플러그인 소스를 빌더분에게 넘기고 나니 그분이 에러나고 그 후로 저도 에러가 발생하더군요.
{
NSLog(@"InAppPurchase completeTransaction");
NSLog(@"InAppPurchase Transaction Identifier : %@", transaction.transactionIdentifier );
NSLog(@"InAppPurchase Transaction Data : %@", transaction.transactionDate );
///< 구매 완료 후 아이템 인벤등 게임쪽 후 처리 진행
/*
const char* pszProductId = [[[transaction payment] productIdentifier] UTF8String];
UnitySendMessage("iOSManager", "ResultBuyItem", pszProductId);
*/
NSString* strReceipt = [[NSString alloc] initWithBytes:transaction.transactionReceipt.bytes length:transaction.transactionReceipt.length encoding:NSUTF8StringEncoding];
UnitySendMessage("iOSManager", "ResultBuyItem", strReceipt);
// Remove the transaction from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
위 소스는 기존에유니티3D iOS 인앱 연동 작업했던 것 중에서 빌트인 모델로 했던 것을 서버 모델로 하기 위해 영수증 정보를 유니티3D에 넘기게 수정한 부분입니다. 자세한 인앱 영수증 서버 처리는 추후에 정리해보기로 하고, 일단 주석 된 것이 기존에 간단히 아이템id만 넘겼던 빌트인 모델용이고 그 밑에 처리한게 서버 모델을 위한 영수증을 넘긴건데
Unity3D no matching function for call to 'UnitySendMessage'
이런 에러가 발생했습니다. 얼핏보면 이상 없을 것 같은 코드이지만
#ifdef __cplusplus
extern "C" {
#endif
void UnitySendMessage(const char* obj, const char* method, const char* msg);
#ifdef __cplusplus
}
#endif
UnitySendMessage는 인자가 모두 const char* 죠. 생각없이 작업하다가 NSString*를 넘겨줘서 생긴 오류였습니다.
UnitySendMessage("iOSManager", "ResultBuyItem", [strReceipt UTF8String]);
이렇게 해주면되죠. 그런데 제 맥에서는 며칠동안 에러코드인 상태로 빌드 및 테스트가 잘 되고 있던 상태였는데 이상하게도 작업한 플러그인 소스를 빌더분에게 넘기고 나니 그분이 에러나고 그 후로 저도 에러가 발생하더군요.
댓글
댓글 쓰기