티스토리 뷰

서론


겔럭시 유저인 나는 어제 펌웨어를 Android 6.0 으로 업데이트했다.


그리고 오늘 Bluetooth Beacon 테스트 앱을 구동했는데 기존에 이상없이 동작하던 앱이 비컨 데이터를 받아오지 못하는 것이다.


PC와 연결하여 LogCat을 살펴보니 


09-22 22:35:20.152  5158  5254 E BluetoothUtils: Permission denial: Need ACCESS_COARSE_LOCATION or 
                                                 ACCESS_FINE_LOCATION permission to get scan results

위와 같은 에러 메세지를 확인할 수 있었다.


관련 키워드로 구글링 해본 결과 Android M 부터는 위치 엑세스 권한과 런타임 상에서 사용자에게 위치 정보 엑세스 동의를 구해야 한다는 내용을 확인할 수 있었다. (링크)


위 URL의 샘플 코드를 그대로 복사 후 붙여넣었더니 해당 코드에서 아래와 같은 에러가 발생했다.


ilegal character '\u2028'




본론


"유니코드 2028을 인식할 수 없다." 뭐 이런 뜻인듯 하여 unicode table에서 해당 코드값을 찾아보니 아래와 같은 결과를 확인할 수 있었다.



Line Separator가 코드 복사시 그대로 클립보드에 딸려 들어와 이러한 문제가 생긴듯 하다.


메모장에 붙여넣기 후 Android Studio에 다시 복사 붙여넣기를 하니 문제가 해결되었다.




결론


줄바꿈 문자인 Line Separator는 에디터 상에서는 눈으로 보여지지 않는다.


보이지 않는 이 문자를 Android Studio 에서는 인식하지 못한다.


따라서 Android Studio 에디터에서는 Line Separator 문자를 사용할 시 에러가 발생한다.

댓글