세상사는 이야기 / 도움이 되었다면 배너 클릭 부탁드려요~ →→→

2019년 3월 20일 수요일

[Unity] Emoji 입력 후 처리

[Unity] Emoji 입력 못받게 하는법
버전 Unity 2018.3

Nick Name이나 채팅에서 유저가 Emoji를 선택 하면 삭제 또는 막는법을 설명한다.

[Android]
android는 입력된 Emoji 찾아 삭제하면 된다.
#if UNITY_ANDROID
            mLabel = Regex.Replace(inputName.text,  "[\uD83C-\uDBFF\uDC00-\uDFFF\u1F30-\u1F5F]+", "").Trim(); // Emoji 삭제 , Trim
#endif

[IOS]
ios는 문자를 바꿀수 없어서 Emoji를 막는 방법은 3가지를 소개한다.
유저가 Emoji눌러도 InputField에는 입력이 들어오지 않게 하는 방법으로
개인적으로는 소스코드 보다 info.list를 수정하는 방법을 추천한다.
코드 수정시 빌드때마다 수정해 주어야한다.

1. Unity IOS 빌드 후 XCode Project에 UI/KEyboard.mm 파일을 찾아서
stringContainsEmoji() 함수의 return값을 항상 NO 처리 하면된다.
static bool stringContainsEmoji(NSString *string)
{
    return NO;
}

2. Unity IOS 빌드 후 XCode Project에 UI/KEyboard.mm 파일의 상위 define 을 1로 수정
#define FILTER_EMOJIS_IOS_KEYBOARD 1 // Disable

3. Xcode info.list 파일 수정
Info.list파일에 아래 필더를 등록하여 define을 바꾸어 준다.
buildSettings / PreprocessorMacros
FILTER_EMOJIS_IOS_KEYBOARD=1

Unity 에서 Info.list파일을 생성해주는 에셋 및 방법은 많다
무료에셋으로 egoxproject를 사용하면 쉽게 추가할 수 있다.

2019년 3월 16일 토요일

[IOS] xcode 설치된 프로비저닝 삭제

설치 위치로 가서 불필요한것을 삭제한다.

/Users/<USER_NAME>/Library/MobileDevice/Provisioning Profiles 폴더로 이동

설치된 프로비저닝 삭제