2016.05.01 11:38

내 첫번째 앱 목표는 시계 앱이다.


Tizen IDE를 실행 후 아래 순서대로 프로젝트를 새로 생성한다.

  1.  Window > Open Perspective > Other > Tizen Native.
  2. Select File > New > Tizen Native Project.
이대로 빌드를 하면 에뮬레이터 혹은 실제 디바이스에서 결과를 볼 수 있다. 

실제 디바이스에 업데이트를 위해서는 디바이스에 대한 인증 과정을 거쳐야 하며 삼성 개발자 사이트에 계정이 등록되어 있어야 한다.

아래 사이트를 참고하여 설정을 진행하면 된다.

http://www.tizenexperts.com/2015/12/how-to-deploy-to-gear-s2-smartwatch/

wearable 앱은 native와 watch 용으로 분리되어 있으며, native app은 일반 어플리케이션으로 등록되어 별도 실행을 할 수 있는 어플리케이션이며, watch app은 기본 시계로 설정할 수 있는 어플리케이션이다. 


watch app 샘플에 기본 이미지를 바꾸어 아래와 같이 실행해 보았다. 

(목표가 아이에게 요괴워치를 만들어주는게 목표라 부유냥 이미지를 사용해 보았다. 저작권 문제가 있어 별도 배포할 예정은 없음.)




'개발/경험 > Tizen' 카테고리의 다른 글

Tizen - first wearable app  (0) 2016.05.01
Tizen - SDK 설치  (0) 2016.05.01
2016.05.01 09:20

https://www.tizen.org/ 홈페이지 우측 상단에 Register에서 첫 등록. 


이메일 인증 이후 https://developer.tizen.org/development/tools/download 에서 IDE 인스톨러 다운로드 가능. ( 약 430MB)


인스톨 완료 후 updater가 연이어 실행되면 아래와 같은 화면이 나온다. 




난 웨어러블 소프트를 개발할거라 .. 2.4 mobile과 2.3.1  wearable을 인스톨.


인스톨이 완료되면 IDE를 실행해보자. 




'개발/경험 > Tizen' 카테고리의 다른 글

Tizen - first wearable app  (0) 2016.05.01
Tizen - SDK 설치  (0) 2016.05.01
2016.01.11 14:10

유니티에서 ui를 클릭 혹은 터치해도 게임 중 입력 이벤트를 처리하는 부분에서 계속 문제가 발생했다. 


게임 ui를 유니티의 ui로 만들지 않았을때는 몰랐는데, 이거 어떻게 처리해야 할지 한동안 고민이 많았는데...


EventSystem.current.IsPointerOverGameObject 라는 함수가 있는지 몰라서 한참 고생했네;;


아래와 같은 클래스를 하나 추가해서 처리.

using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;

public class InputEventManager : MonoBehaviour {
     public bool GetMouseDown(int _idx){
        if (EventSystem.current.IsPointerOverGameObject())
            return false;

        return Input.GetMouseButtonDown(_idx);
    }

    public bool GetMouseUp(int _idx){
        if (EventSystem.current.IsPointerOverGameObject())
            return false;

        return Input.GetMouseButtonUp(_idx);
    }

    public bool GetMouse(int _idx){
        if (EventSystem.current.IsPointerOverGameObject())
            return false;

        return Input.GetMouseButton(_idx);
    }

    static InputEventManager mInst;
    public static InputEventManager Inst {
        get{
            if (mInst == null) {
                GameObject go = new GameObject ();
                go.name = "InputEventManager";
                mInst = go.AddComponent<InputEventManager> ();
            }
            return mInst;
        }
    }
}




이전 버전에서는 IsPointerOverEventSystemObject  라는 이름으로 쓰였는데, 이름이 조금 달라져서 애매한데, 일단 잘 작동은 하는 듯. 

2015.12.31 11:50

게임 다 만들고, google play에 프로젝트 등록하고 로그인을 해봤는데 마지막 로그인에서 계속 fail뜸. 


원인을 찾던 중 로컬에 등록한 keystore의 값을 google play api 관리자에 등록을 안 해서 발생한 문제였음. 


아래 이미지 중 붉은 테두리 안에 keystore에 등록된 sha1 값을 등록해야 함.


(keytool -list -v -keystore "자신이 등록한 keystore 이름" 을 입력하면 sha1 값을 볼 수 있다.)



2015.11.10 10:35

이미지에서 처럼, ragdoll 물리객체가 저 멀리 날아가고 있다. 


이는 spine 3.0 미만 버전에서 발생하는데.. 


spine ragdoll을 적용할 객체의 scale이 1.0 미만일 경우 이 현상이 발생한다.




Hierarchy에서는 스케일을 1로 고정하고, spine에서 출력된 skeletonData의 스케일을 조정하면 문제없음.






2015.09.10 17:50

facebook, google, tapjoy 세 개를 합쳐서 샘플 프로젝트를 작성중에 아래 같은 에러가 발생!!


Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details.

C:\Program Files (x86)\Android\android-sdk\build-tools\22.0.1\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "C:/Program Files (x86)/Android/android-sdk\platforms\android-23\android.jar" -F bin/resources.ap_ --extra-packages com.facebook.android:com.google.android.gms:com.google.example.games.mainlibproj -S "E:\Facebook Sample\Temp\StagingArea\android-libraries\facebook\res" -S "E:\Facebook Sample\Temp\StagingArea\android-libraries\google-play-services_lib\res"


png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-mdpi-v4\ic_plusone_small_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-hdpi-v4\ic_plusone_small_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xhdpi-v4\ic_plusone_small_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xxhdpi-v4\ic_plusone_small_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-mdpi-v4\ic_plusone_standard_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-hdpi-v4\ic_plusone_standard_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xhdpi-v4\ic_plusone_standard_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xxhdpi-v4\ic_plusone_standard_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-mdpi-v4\ic_plusone_tall_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-hdpi-v4\ic_plusone_tall_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xhdpi-v4\ic_plusone_tall_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-xxhdpi-v4\ic_plusone_tall_off_client 1.png: Invalid file name: must contain only [a-z0-9_.]

res\drawable-mdpi-v4\powered_by_google_dark 1.png: Invalid file name: must contain only [a-z0-9_.]

.

.

.

.

아래 스샷 처럼 에러 발생!


해당 폴더로 가봤더니 같은 이름의 파일들이 복사되면서 들어가면 안될 빈칸이 들어감.



tapjoy 패키지를 설치하면 Assets\Plugins\Android\google-play-services_lib 폴더가 존재함. 구글 패키지가 두개가 존재하게 되어, 빌드할 때 같은 리소스를 복사해 에러가 발생한다.


tapjoy 패키지를 import 할 때 샘플과 google play service lib를 제외하고 import 받으면 해결됨. 


tapjoy 서포터분들의 빠른 답변 감사합니다. :)


2015.08.27 19:49

Facebook Unity SDK 6.0 을 받아 패키지를 설치하고, 샘플을 돌려보는데 아래와 같은 에러가 발생


Could not securely load assembly from 

https://integrated-plugin-canvas-rsrc.fbsbx.com/rsrc/unity/lib/sdk_6.0/CanvasFacebook.dll


FB.cs 파일 line 411에 전처리기 "#if UNITY_4_5" 를 찾아 그 뒤에 " || UNITY_4_6 || UNITY_5_0 || UNITY_5" 를 붙여줄 것! 현재 버전 define만 붙여도 됨.




http://forum.unity3d.com/threads/facebook-sdk-assembly-cannot-be-loaded.264126/


커뮤니티에서 해결책을 찾았는데, 불편하게 개발자가 꼭 수정해야 되나 --; 


배포 버전 수정해서 올려주면 좋을텐데 --

2015.08.26 17:38

Putty로 접속하기


http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html



EC2에 파일 업로드하기


http://arisu1000.tistory.com/27557

2015.08.26 16:46

윈도우의 경우 레지스트리에 저장함. 


HKEY_USERS/S-숫자와-로 이루어짐-Pc마다다름/Software/SimonTatham/Putty/SshHostKeys


안에 저장값이 포함되어 있으며, ip가 key에 포함되어 있어 쉽게 찾을 수 있다. 


필요한 키만 삭제하고 다시 접속을 시도할 수 있음.

2015.08.21 16:21

foreach (DictionaryEntry item in abTable) {

Debug.Log (" key = " + item.Key );

//    value값 정리

abTable.Remove(item.Key);

}


위처럼 사용할 경우 foreach에서 계속 참조하기 있기 때문에, "Hashtable.Enumerator: snapshot out of sync."와 같은 에러가 발생한다.


foreach 문 안에서의 키 삭제는 문제가 될 수 있으니, value값 정리와 리스트에서의 정리 처리는 분리해야 한다. 


일괄 삭제의 경우 아래와 같이..


foreach (DictionaryEntry item in abTable) {

Debug.Log (" key = " + item.Key );

//    value값 정리

}

   abTable.Clear();


필요한 값만 정리한다면.. 삭제할 키 리스트르를 중심으로 해당 값만 Remove 처리할 것!