- Unity 특정 버전에서 Facebook 로그인을 시도할 때 로그인이 정상 동작하지 않을 경우
_BSMachError: port d803; (os/kern) invalid capability (0x14) “Unable to insert COPY_SEND” 에러를 띄우며 로그인 창이 닫히거나, 앱이 동작하지 않는다면 Edit > Project Settings > Player > iOS > Other Settings 에서 Render Extra Frame on Pause를 선택 해제 후 빌드하세요.
- Unity 2018.3 이후 버전에서 Facebook으로 Hive SDK에 로그인할 수 없는 경우
Unity에서 생성하는 UnityAppController.mm 파일 내 openURL 처리 방식이 변경되어 발생하는 것이니 관련 함수를 아래와 같이 변경해주세요.
- 기존
| // Unity에서 생성한 UnityAppController.mm의 openURL 설정 부분 - (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options { id sourceApplication = options[UIApplicationOpenURLOptionsSourceApplicationKey], annotation = options[UIApplicationOpenURLOptionsAnnotationKey]; NSMutableDictionary<NSString*, id>* notifData = [NSMutableDictionary dictionaryWithCapacity: 3]; if (url) notifData[@"url"] = url; if (sourceApplication) notifData[@"sourceApplication"] = sourceApplication; if (annotation) notifData[@"annotation"] = annotation; AppController_SendNotificationWithArg(kUnityOnOpenURL, notifData); return YES; } |
- 변경
| // 아래 코드로 변경 요청 - (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation { NSMutableDictionary<NSString*, id>* notifData = [NSMutableDictionary dictionaryWithCapacity: 3]; if (url) notifData[@"url"] = url; if (sourceApplication) notifData[@"sourceApplication"] = sourceApplication; if (annotation) notifData[@"annotation"] = annotation; AppController_SendNotificationWithArg(kUnityOnOpenURL, notifData); return YES; } |
|