* C# 스크립트에서 텍스트를 대입하면 실행시 깨져서 나오는 경우가 있습니다.
예) _uiTitleText.text = "한글입력확인";
* 아무리 봐도 로직상에 문제가 없다면 스크립트 파일 형식이 UTF-8 형식으로 바꾸어 줘야합니다.
* VS나 기타 에디터로 스크립트를 UTF-8 형식으로 바꾸고 다시 저장하면 해결이 됩니다.
* Git이나 다른 소스 관리 툴이 파일 형식을 자동으로 바꿀수 있으니 그 부분도 확인해야 합니다.
2018-10-26
Unity - 화면 좌표로 UI 좌표를 얻기
* 화면에서 마우스 클릭 위치로 UI 패널을 이동시키는 것과 같은 처리를 할 경우 RectTransformUtility.ScreenPointToLocalPointInRectangle()을 이용합니다.
RectTransform referRect = _scenePanel.GetComponent<RectTransform>();
RectTransform rectTrans = _infomationPanel.GetComponent<RectTransform>();
Canvas canvas = _infomationPanel.GetComponentInParent<Canvas>();
Vector2 mousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(referRect, mousePosition, canvas.worldCamera, out localPoint);
* 주어진 referRect를 참고하여 마우스 위치(스크린 위치)에 해당하는 상대적인 UI 좌표를 localPoint에 담습니다.
* 참조 캔버스의 월드 카메라는 null일 수 있으나 잘 작동합니다.
RectTransform referRect = _scenePanel.GetComponent<RectTransform>();
RectTransform rectTrans = _infomationPanel.GetComponent<RectTransform>();
Canvas canvas = _infomationPanel.GetComponentInParent<Canvas>();
Vector2 mousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(referRect, mousePosition, canvas.worldCamera, out localPoint);
* 주어진 referRect를 참고하여 마우스 위치(스크린 위치)에 해당하는 상대적인 UI 좌표를 localPoint에 담습니다.
* 참조 캔버스의 월드 카메라는 null일 수 있으나 잘 작동합니다.
2018-08-12
Android - 안드로이드 디버그키 스토어 생성
* 일단 openSSl 설치 되어있고 실행 파일 패스 설정이 되어 있어야합니다.
* 아래와 같이 keytool을 실행합니다.
* keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
* 자신 계정 폴더에 debug.keystore가 생성됨을 확인합니다.
* 아래와 같이 keytool을 실행합니다.
* keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
* 자신 계정 폴더에 debug.keystore가 생성됨을 확인합니다.
2018-06-25
Unity - Video Player 비디오 클립 동적 변경 및 출력
* 비디오 플레이어에서 클립을 동적 변경 시에는 Prepare를 수행후 Prepare가 완료되어야 출력이 가능합니다. 비디오 클립은 인스탄스화된 객체가 아니라 리소스에서 바로 로딩한 객체이여야 합니다.
* Prepare된 상태의 이벤트 핸들러를 등록할 수 있습니다.
public VideoPlayer _videoPlayer;
void Awake()
{
_videoPlayer.prepareCompleted += OnVideoPrepared;
_videoPlayer.clip = Resources.Load<VideoClip>("ExamClip");
_videoPlayer.Prepare();
}
void OnVideoPrepared(VideoPlayer source_)
{
_videoPlayer.Play();
}
* Prepare된 상태의 이벤트 핸들러를 등록할 수 있습니다.
public VideoPlayer _videoPlayer;
void Awake()
{
_videoPlayer.prepareCompleted += OnVideoPrepared;
_videoPlayer.clip = Resources.Load<VideoClip>("ExamClip");
_videoPlayer.Prepare();
}
void OnVideoPrepared(VideoPlayer source_)
{
_videoPlayer.Play();
}
2018-04-30
C# - 변수명을 문자열로 얻어오기
* C# 6.0 이상에서는 변수명을 문자열로 얻어오기 위하여 nameof() 키워드가 존재한다.
* 이전 버전에서는 아래와 같이 별도의 함수를 만들어 사용한다.
* 각 프로젝트의 유틸리티 클래스에 static 형태로 정의하는 것이 사용에 용이할 것으로 보인다.
using System.Linq.Expressions;
string GetVariableName<T>(Expression<Func<T>> expr)
{
var body = (MemberExpression)expr.Body;
return (body.Member.Name);
}
* 이전 버전에서는 아래와 같이 별도의 함수를 만들어 사용한다.
* 각 프로젝트의 유틸리티 클래스에 static 형태로 정의하는 것이 사용에 용이할 것으로 보인다.
using System.Linq.Expressions;
string GetVariableName<T>(Expression<Func<T>> expr)
{
var body = (MemberExpression)expr.Body;
return (body.Member.Name);
}
2018-01-25
HTTP Request - 기상 정보 확인 API(기상청)
* 공공데이터포털에서 제공되는 날씨정보 API (기상청)
* 일단 공공데이터포털(https://www.data.go.kr)에 가입, 서비스 키를 발급받기 위하여 가입을 하고 공인인증서가 필요할 수 있다.
* 날씨, 미세먼지 관련 정보를 확인하기 위해서 아래의 서비스에 가입을 한다.
- 동네예보정보조회서비스: 동네 지역(서울일 경우 동 단위) 날씨 정보를 제공
- 중기예보정보조회서비스: 2일에서 10일 정도까지의 날씨 예보를 제공, 큰 지역으로 구분
- 대기오염정보조회서비스: 미세먼지 등 대기 상태에 대한 정보를 제공, 예보 포함
* 위 3가지 서비스키는 하나의 서비스에서 받으면 동일 사용이 가능하다. (기상청에서 통합 발행이 되는듯 하다)
* 서비스를 가입하면 해당 매뉴얼이 존재한다.(매뉴얼만 보고도 충분히 이해가 가능)
* 동네예보정보조회서비스
- 정확한 사용법은 서비스 페이지에 첨부되어 있는 문서를 참조
- 지역별 좌표를 얻기 위하여 지역코드를 파싱해야 한다.
- 동네초단기실황: 현재의 날씨 정보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastGrib?serviceKey=서비스키&base_date=20180125&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
- 동네초단기예보: 당일 시간별 예보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastTimeData?serviceKey=서비스키&base_date=20180125&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
- 동네예보: 모레(3일)까지의 예보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastSpaceData?serviceKey=서비스키&base_date=20181025&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
* 미세먼지
- 서비스 페이지에 첨부되어 있는 문서를 참조
- 시도별 실시간 측정정보 조회: 특정 지역(동단위)의 정보를 확인
http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty?serviceKey=서비스키&startPage=1&numOfRows=100&sidoName=서울&ver=1.1
- 대기질 예보통보 조회: 모레(3일)까지의 큰 지역 단위의 예보
http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getMinuDustFrcstDspth?serviceKey=서비스키&numOfRows=10&pageSize=10&pageNo=1&startPage=1&searchDate=2018-01-25&InformCode=PM10
* 일단 공공데이터포털(https://www.data.go.kr)에 가입, 서비스 키를 발급받기 위하여 가입을 하고 공인인증서가 필요할 수 있다.
* 날씨, 미세먼지 관련 정보를 확인하기 위해서 아래의 서비스에 가입을 한다.
- 동네예보정보조회서비스: 동네 지역(서울일 경우 동 단위) 날씨 정보를 제공
- 중기예보정보조회서비스: 2일에서 10일 정도까지의 날씨 예보를 제공, 큰 지역으로 구분
- 대기오염정보조회서비스: 미세먼지 등 대기 상태에 대한 정보를 제공, 예보 포함
* 위 3가지 서비스키는 하나의 서비스에서 받으면 동일 사용이 가능하다. (기상청에서 통합 발행이 되는듯 하다)
* 서비스를 가입하면 해당 매뉴얼이 존재한다.(매뉴얼만 보고도 충분히 이해가 가능)
* 동네예보정보조회서비스
- 정확한 사용법은 서비스 페이지에 첨부되어 있는 문서를 참조
- 지역별 좌표를 얻기 위하여 지역코드를 파싱해야 한다.
http://www.kma.go.kr/DFSROOT/POINT/DATA/top.json.txt (전국 지역) http://www.kma.go.kr/DFSROOT/POINT/DATA/mdl.11.json.txt (서울지역 코드 11) http://www.kma.go.kr/DFSROOT/POINT/DATA/leaf.11650.json.txt (서초구 코드 11650)- 아래 예제의 nx=60&ny=127& 부분이 좌표
- 동네초단기실황: 현재의 날씨 정보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastGrib?serviceKey=서비스키&base_date=20180125&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
- 동네초단기예보: 당일 시간별 예보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastTimeData?serviceKey=서비스키&base_date=20180125&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
- 동네예보: 모레(3일)까지의 예보
http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2/ForecastSpaceData?serviceKey=서비스키&base_date=20181025&base_time=0600&nx=60&ny=127&numOfRows=100&pageSize=100&pageNo=1&startPage=1&_type=xml
* 미세먼지
- 서비스 페이지에 첨부되어 있는 문서를 참조
- 시도별 실시간 측정정보 조회: 특정 지역(동단위)의 정보를 확인
http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty?serviceKey=서비스키&startPage=1&numOfRows=100&sidoName=서울&ver=1.1
- 대기질 예보통보 조회: 모레(3일)까지의 큰 지역 단위의 예보
http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getMinuDustFrcstDspth?serviceKey=서비스키&numOfRows=10&pageSize=10&pageNo=1&startPage=1&searchDate=2018-01-25&InformCode=PM10
2017-09-12
Unity - 안드로이드 기기 볼륨 조절
* 자세한 설명은 생략한다.
private static AndroidJavaObject _mainActivity = null;
private static AndroidJavaObject _androidAudioManager = null;
private static int _maxVolume = 0;
public static AndroidJavaObject GetMainActivity()
{
if (_mainActivity == null)
{
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
_mainActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
}
return (_mainActivity);
}
public static AndroidJavaObject GetAndroidAudioManager()
{
if (_androidAudioManager == null)
{
_androidAudioManager = GetMainActivity().Call<AndroidJavaObject>("getSystemService", "audio");
_maxVolume = _androidAudioManager.Call<int>("getStreamMaxVolume", 3);
}
return (_androidAudioManager);
}
// 볼륨 확인
public int GetVolume()
{
AndroidJavaObject audioManager = GetAndroidAudioManager();
return audioManager.Call<int>("getStreamVolume", 3);
}
// 볼륨 설정, 인자는 0부터 1 사이 값, _maxVolume과 비율로 설정해야 할 것으로 보임
public void SetVolume(float fVolume_)
{
AndroidJavaObject audioManager = GetAndroidAudioManager();
audioManager.Call("setStreamVolume", 3, (int)fVolume_, 0);
}
* 출처: 회사 동료
2017-07-13
Word - 하이퍼링크를 따라간 후 되돌아가기(Jump back to link)
* MS 워드에서 Ctrl+Click으로 하이퍼링크를 따라간 후 원래 편집하던 부분으로 돌아가는 기능이 매우 필요했다.
* 이때는 Alt + 좌우 화살표 키로 웹브라우저의 전페이지, 다음페이지 이동 처럼 워드 문서 내부에서 링크를 이동한다.
* 출처: https://cybertext.wordpress.com/2014/03/17/word-jump-back-to-a-link/
* 이때는 Alt + 좌우 화살표 키로 웹브라우저의 전페이지, 다음페이지 이동 처럼 워드 문서 내부에서 링크를 이동한다.
* 출처: https://cybertext.wordpress.com/2014/03/17/word-jump-back-to-a-link/
2017-01-20
Unity - UI 객체 Picking
* UI 객체 피킹 확인
- UI 객체를 스크린 좌표를 기준으로 확인을 합니다.
- 이벤트 시스템에서 확인 가능합니다.
// 사용 이벤트 시스템 (eventObject는 예제로 설정)
EventSystem eventSystem = eventObject.GetComponentInChildren<EventSystem>();
PointerEventData pointerData = new PointerEventData(eventSystem);
pointerData.Reset();
Vector2 delta = new Vector2(1.0f, 1.0f);
pointerData.delta = delta;
pointerData.position = Input.mousePosition;
List<RaycastResult> rayResult = new List<RaycastResult>();
eventSystem.RaycastAll(pointerData, rayResult);
if (rayResult.Count > 0)
{
// 판별 조건(예로 이름으로 판단)
if (rayResult[0].gameObject.name == "ChracterSelectPanel")
{
return (true);
}
}
return (false);
- UI 객체를 스크린 좌표를 기준으로 확인을 합니다.
- 이벤트 시스템에서 확인 가능합니다.
// 사용 이벤트 시스템 (eventObject는 예제로 설정)
EventSystem eventSystem = eventObject.GetComponentInChildren<EventSystem>();
PointerEventData pointerData = new PointerEventData(eventSystem);
pointerData.Reset();
Vector2 delta = new Vector2(1.0f, 1.0f);
pointerData.delta = delta;
pointerData.position = Input.mousePosition;
List<RaycastResult> rayResult = new List<RaycastResult>();
eventSystem.RaycastAll(pointerData, rayResult);
if (rayResult.Count > 0)
{
// 판별 조건(예로 이름으로 판단)
if (rayResult[0].gameObject.name == "ChracterSelectPanel")
{
return (true);
}
}
return (false);
2016-12-29
C# - 배열 복사(Array Copy)
* C# 배열 복사(Array Copy)
- System.Array.Copy()와 Clone()은 CopyTo()와 같은 메소드가 있다.레퍼런스 형태의 복사가 아니고 독립적인 메모리에 값을 설정합니다.
int[] src = new int[4] { 14, 15, 16, 17 };
int[] dstCopy = new int[4];
int[] dstCopyTo = new int[4];
int[] dstClone;
// 앞 2개의 값을 복사, 일부를 복사할 경우 사용
System.Array.Copy(src, dstCopy, 2);
// 목표 배열에 2번째 인덱스 부터 복사, 메모리 익셉션 주의
src.CopyTo(dstCopyTo, 2);
// 모든 항목을 복사(메모리를 할당)
dstClone = (int[])src.Clone();
- System.Array.Copy()와 Clone()은 CopyTo()와 같은 메소드가 있다.레퍼런스 형태의 복사가 아니고 독립적인 메모리에 값을 설정합니다.
int[] src = new int[4] { 14, 15, 16, 17 };
int[] dstCopy = new int[4];
int[] dstCopyTo = new int[4];
int[] dstClone;
// 앞 2개의 값을 복사, 일부를 복사할 경우 사용
System.Array.Copy(src, dstCopy, 2);
// 목표 배열에 2번째 인덱스 부터 복사, 메모리 익셉션 주의
src.CopyTo(dstCopyTo, 2);
// 모든 항목을 복사(메모리를 할당)
dstClone = (int[])src.Clone();
2016-11-19
SVN - Tortoise SVN 오버레이 아이콘 사라지는 현상
* 윈도우즈 OS 10 기준입니다.
* TortoiseSVN 1.9.4, Build 27285 버전 기준입니다.
* TortoiseSVN 탐색기 오버레이 아이콘 복구
- SVN을 사용하다 보면 아래 그림과 같이 변경된 사항에는 빨간 느낌표 아이콘이 뜹니다.

- 그러나 어떤 순간에 수정 사항이 있어도 변경이 되지 않고 녹색 체크 아이콘으로 유지가 되는 현상이 있습니다
- 이 현상은 윈도우즈에 등록된 오버레이 아이콘의 최대 개수가 한정되어 SVN 오버레이 아이콘이 우선 순위에 밀려 표현이 안되게 됩니다.
- 우선 순위를 올려주면 간단하게 해결이 됩니다.
- 레지스트리 에디터(regedit)을 실행창에서 실행합니다.
- 편집/찾기에서 ShellIconOverlayIdentifiers을 찾습니다. (시간이 오래 걸릴 수 있습니다.)
- 아래 그림과 같이 Tortoise 아이콘 관련값에 공백을 삽입하여 우선 순위를 올립니다.(재 부팅 전에는 아래쪽에 위치해 있습니다. 재부팅 필요)

- 재부팅 후 아이콘이 정상적으로 나타나는 것을 확인할 수 있습니다.
- TortoiseGit도 오버레이 아이콘을 같이 사용하는 것으로 보여 Git도 동일 문제가 발생하면 위와 같은 방법으로 처리하면 해결될 것으로 보입니다.
* TortoiseSVN 1.9.4, Build 27285 버전 기준입니다.
* TortoiseSVN 탐색기 오버레이 아이콘 복구
- SVN을 사용하다 보면 아래 그림과 같이 변경된 사항에는 빨간 느낌표 아이콘이 뜹니다.
- 그러나 어떤 순간에 수정 사항이 있어도 변경이 되지 않고 녹색 체크 아이콘으로 유지가 되는 현상이 있습니다
- 이 현상은 윈도우즈에 등록된 오버레이 아이콘의 최대 개수가 한정되어 SVN 오버레이 아이콘이 우선 순위에 밀려 표현이 안되게 됩니다.
- 우선 순위를 올려주면 간단하게 해결이 됩니다.
- 레지스트리 에디터(regedit)을 실행창에서 실행합니다.
- 편집/찾기에서 ShellIconOverlayIdentifiers을 찾습니다. (시간이 오래 걸릴 수 있습니다.)
- 아래 그림과 같이 Tortoise 아이콘 관련값에 공백을 삽입하여 우선 순위를 올립니다.(재 부팅 전에는 아래쪽에 위치해 있습니다. 재부팅 필요)

- 재부팅 후 아이콘이 정상적으로 나타나는 것을 확인할 수 있습니다.
- TortoiseGit도 오버레이 아이콘을 같이 사용하는 것으로 보여 Git도 동일 문제가 발생하면 위와 같은 방법으로 처리하면 해결될 것으로 보입니다.
2016-05-30
SVN - 백업 및 복구
* 윈도우즈 OS 기준입니다.
* 백업
- 커맨드 창을 관리자 모드로 실행합니다.
- 레파지토리 위치를 확인합니다. (예: E:\Repositoryes\MyProject)
- 커맨드 창에서 "svnadmin dump E:Repositoryes\MyProject > D:\MyProject_backup.dmp"와 같이 입력합니다.
* 복구
- 커맨드 창을 관리자 모드로 실행합니다.
- 레파지토리 위치를 확인합니다. (예: E:\Repositoryes\MyProject)
- 복구할 위치에 레파지토리가 없다면 생성해 주어야 합니다.
- 커맨드 창에서 "svnadmin create E:\Repositoryes\MyProject"와 같이 입력하면 생성됩니다.
- 레파지토리를 확인 했으면 커맨드 창에서 "svnadmin load E:\Repositoryes\MyProject < D:\MyProject_backup.dmp"와 같이 입력을 하면 복구가 완료됩니다.
* 백업
- 커맨드 창을 관리자 모드로 실행합니다.
- 레파지토리 위치를 확인합니다. (예: E:\Repositoryes\MyProject)
- 커맨드 창에서 "svnadmin dump E:Repositoryes\MyProject > D:\MyProject_backup.dmp"와 같이 입력합니다.
* 복구
- 커맨드 창을 관리자 모드로 실행합니다.
- 레파지토리 위치를 확인합니다. (예: E:\Repositoryes\MyProject)
- 복구할 위치에 레파지토리가 없다면 생성해 주어야 합니다.
- 커맨드 창에서 "svnadmin create E:\Repositoryes\MyProject"와 같이 입력하면 생성됩니다.
- 레파지토리를 확인 했으면 커맨드 창에서 "svnadmin load E:\Repositoryes\MyProject < D:\MyProject_backup.dmp"와 같이 입력을 하면 복구가 완료됩니다.
2016-05-03
Redmine - 레드마인 데이터 백업 및 복원
* Bitnami Redmine 2.6.x 버전을 기준으로 합니다.
* 백업
- 레드마인 설치 폴더로 이동
- apps/redmine/htdocs/config/database.yml 파일을 메모장으로 열어 database,
username, password 내용을 확인 합니다.
- 레드마인 설치 루트 폴더에서 use_redmine.bat 실행합니다.
- 커맨드 창에서 mysqldump -u [username] -p [database] > redmine_backup.sql을
입력하고 엔터를 치고 password를 입력합니다.
- redmine_backup.sql 파일로 데이터 베이스가 백업됩니다.
- \apps\redmine\htdocs\files 폴더에 있는 파일을 압축하여 별도 보관합니다.
* 복원
- 레드마인 설치 후 설치 폴더로 이동 합니다.
- 데이터 베이스 백업 파일을 레드마인 루트 폴더에 복사합니다.
- \apps\redmine\htdocs\files 폴더에 별도 압축한 파일을 풀어 복사합니다.
- apps/redmine/htdocs/config/database.yml 파일을 메모장으로 열어 database,
username, password 내용을 확인 합니다.
- 레드마인 설치 루트 폴더에서 use_redmine.bat 실행합니다.
- 커맨드 창에서 mysql -u [username] -p [database] < redmine_backup.sql을
입력하고 엔터를 치고 password 입력합니다.
* 백업
- 레드마인 설치 폴더로 이동
- apps/redmine/htdocs/config/database.yml 파일을 메모장으로 열어 database,
username, password 내용을 확인 합니다.
- 레드마인 설치 루트 폴더에서 use_redmine.bat 실행합니다.
- 커맨드 창에서 mysqldump -u [username] -p [database] > redmine_backup.sql을
입력하고 엔터를 치고 password를 입력합니다.
- redmine_backup.sql 파일로 데이터 베이스가 백업됩니다.
- \apps\redmine\htdocs\files 폴더에 있는 파일을 압축하여 별도 보관합니다.
* 복원
- 레드마인 설치 후 설치 폴더로 이동 합니다.
- 데이터 베이스 백업 파일을 레드마인 루트 폴더에 복사합니다.
- \apps\redmine\htdocs\files 폴더에 별도 압축한 파일을 풀어 복사합니다.
- apps/redmine/htdocs/config/database.yml 파일을 메모장으로 열어 database,
username, password 내용을 확인 합니다.
- 레드마인 설치 루트 폴더에서 use_redmine.bat 실행합니다.
- 커맨드 창에서 mysql -u [username] -p [database] < redmine_backup.sql을
입력하고 엔터를 치고 password 입력합니다.
2016-02-26
Unity - 안드로이드 폰에서 뒤로가기 버튼 처리
* 안드로이드 폰에서 뒤로가기 버튼은 일반 PC의 ESC 버튼으로 인식한다.
* 아래와 같이 처리해주면 뒤로가기 버튼 처리가 된다.
void Update()
{
#if UNITY_ANDROID
if (Input.GetKey(KeyCode.Escape))
{
// 여러가지 처리들
Application.Quit();
}
#endif
}
* 아래와 같이 처리해주면 뒤로가기 버튼 처리가 된다.
void Update()
{
#if UNITY_ANDROID
if (Input.GetKey(KeyCode.Escape))
{
// 여러가지 처리들
Application.Quit();
}
#endif
}
2015-11-17
Unity - 앱스토어, 플레이스토어 링크 및 웹 페이지 열기
[iOS 앱 스토어 링크 열기]
* 앱 스토어 앱으로 열기Application.OpenURL("itms-apps://itunes.apple.com/app/id1234567890")
[Android 플레이 스토어 링크 열기]
* 마켓 앱으로 열기Application.OpenURL("market://details?id=com.Company.Project");
* 일반 웹 브라우져로 열기
Application.OpenURL("https://play.google.com/store/apps/details?id=com.Company.Project");
[일반 웹 페이지 열기]
* 일반 웹 브라우져로 열기
- 일부 Adroid 기기에서는 "http:"를 생략하면 링크가 열리지 않는 현상이 있음
피드 구독하기:
글 (Atom)