2016년 3월 27일 일요일

Unity3d 5 에서 Vuforia 애러 발생 - Failed to load 'Assets/Plugins/QCARWrapper.dll'

유니티4에서 개발중인 프로젝트를 유니티5 로 마이그래이션을 진행했으나

문제가 발생하였다.

Vuforia 플러그인내의 QCARWrapper.dll 이 로드 불가능한 애러가 발생.

알아본 결과

64bit버전 유니티에서 발생하며

PlayMode에서 웹캠을 사용하는 것과 연관된 dll 파일이라

에디터 상에서 사용하지 않는다면 체크 해제 할 경우 애러 메세지는 사라진다.

정상적인 사용을 위해서는 32bit 버전 설치가 필요하다.

http://stackoverflow.com/questions/30119423/unity3d-failed-to-load-assets-plugins-qcarwrapper-dll

아래 글을 참조하여 시도 하였으나. 애러가 사라지지 않음.

2016년 3월 14일 월요일

Missing iOS Distribution signing identity 오류

두달만에 iOS앱 업데이트를 위해 빌드 하고 Archive -> Validate 과정에서 오류가 발생하였다.

Missing iOS Distribution signing identity for...

이유는 Apple Worldwide Developer Relations Certification Authority 인증서 기간 만료료

인한 문제였다(2016. 2. 15 만료)

그래서 새롭게 인증서를 받고 다시한번 시도를 해보았지만 문제가 계속 발생

Xcode를 업데이트 하고 다시 빌드하는 과정을 수차례 겪었지만 해결이 안됨

다행이

스텍오버플로우에서 방법을 찾게되었다.

http://stackoverflow.com/questions/32821189/xcode-7-error-missing-ios-distribution-signing-identity-for

이유는 이전 만료된 인증서를 따로 삭제해주지 않았다는것.

내 MAC의 키체인 설정이 만료된 인증서는 보지 않도록 되어 있었다.

만료된 인증서 보이게 셋팅하고 삭제하여  Validate성공.

2016년 2월 25일 목요일

iOS9 버전 url 접근 다운로드 허용 방법.

How do I load an HTTP URL with App Transport Security enabled in iOS 9? 

iOS9 버전 부터는 다이렉트로 url에 접근하면 권한 애러가 발생한다.
(unity the resource could not be loaded because the app transport security policy reqauires the use of a secure connection)
따라서 관련 이슈를 해결하기 위해서는 다음과 같은 과정을 진행해야 한다.

http://stackoverflow.com/questions/30731785/how-do-i-load-an-http-url-with-app-transport-security-enabled-in-ios-9


I have solved it with adding some key in info.plist. The steps I followed are:
  1. Opened my Projects info.plist file
  2. Added a Key called NSAppTransportSecurity as a Dictionary.
  3. Added a Subkey called NSAllowsArbitraryLoads as Boolean and set its value to YES as 

2016년 2월 24일 수요일

Vuforia CameraDevice 객체를 통한 이미지 복사

https://developer.vuforia.com/library//articles/Solution/How-To-Access-the-Camera-Image-in-Unity

의 내용을 참고하여 증강현실 카메라를 불러오려고 했으나

두가지 이슈로 다른 방법을 찾기로 함

1. In Unity 환경에서 픽셀포멧을 그레이스케일 밖에 지원안함, 테스트가 번거로움
2. QCAR 모듈을 활성화 하거나 비활성화 할 경우 정상적인 작동이 중지됨을 확인
(GetCameraImage 함수에서 계속 null을 리턴함)

이전의 화면캡쳐 형식으로 진행

2014년 1월 28일 화요일

Notification()이 아닌 NotificationCompat 사용시 에러.

  notification.when = System.currentTimeMillis();
  notification.icon = res.getIdentifier("com.dj.NEWCLEAR:drawable/app_icon", null, null);
  notification.defaults = Notification.DEFAULT_ALL;
  //notification.vibrate = new Long[]{100, 50, 100, 50};
  notification.flags |= Notification.FLAG_AUTO_CANCEL;
  notification.tickerText = "스틱 교체가 필요합니다.";
  notification.setLatestEventInfo(arg0, strTitle, strMsg, pendingIntent);

Notification() 사용시에 지금은 크게 문제가 없으나.
setLatestEventInfo 함수는 곧 패기(?)된다 ㅠㅠ

따라서 이후 버전에서도 지원이 되는 API를 사용하여야 하는대.

  Resources res = getResources();
  Notification notification = new NotificationCompat.Builder(arg0)
  .setContentTitle("NEWCLEAR")
  .setContentText("NEWCLEAR - 스틱 교체가 필요합니다.")
  .setSmallIcon(res.getIdentifier("com.dj.NEWCLEAR:drawable/app_icon", null, null))
  .setDefaults(Notification.DEFAULT_ALL)
  .setAutoCancel(true)
  .setTicker("NEWCLEAR - 스틱 교체가 필요합니다.")
  .setContentIntent(pendingIntent)
  .build();

NotificationCompat 객체를 사용하면 된다고 한다.

그래서 이  API를 이용해 push를 했으나.. push 메세지는 깜깜무소식..

LogCat에서 오류를 보니

at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:223)

이라는 오류가 있었다.

그리고 검색해보니

There is a support library bug filed for this, see here. A fixed v4 support library can be downloaded fromthis link in comment #2.

버그가 있다는것이다...(아마 최신버전의 sdk를 즉각즉각 업데이트 하신분은 이런 문제가 없으실듯)

다른 분의 말에 따르면
 
This is a known bug in android-support-v4.jar before rev11.
To get the latest android-support-v4.jar:
 
즉 rev11 이하의 버전에서만 가지고 있는 버그라고 한다. 즉시 업데이트 해주도록 하자.
 
 
 

2014년 1월 15일 수요일

Unity 다이어그램?, 클래스 정리?

Doxygen

이라는 솔루션이 있다.

이번에 프로젝트를 마치고 유니티 프로젝트를 정리 하기위해 검색하다가 찾았다.


현재 프로젝트에 포함된 스크립트를 정리해서 문서로 만들어준다.
(마치 JAVA API 가이드 문서처럼 만들어 준다 지져스...)

http://forum.unity3d.com/threads/128355-Free-Plugin-for-Automatic-Documentation-of-your-project-through-Doxygen
링크

http://www.youtube.com/watch?v=1TwXMYUZ-2w
활용 동영상

2014년 1월 9일 목요일

아이폰 빌드 오류(앱 GameCenter 기능 제외 후 생긴 오류)

오류 내용.

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_GKLeaderboardViewController", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKScore", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKAchievement", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKAchievementDescription", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKLeaderboard", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKPlayer", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_GKErrorDomain", referenced from:
      GameCenter::CreateUserImage(UIImage*, NSError*) in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKAchievementViewController", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
  "_OBJC_CLASS_$_GKLocalPlayer", referenced from:
      objc-class-ref in libiPhone-lib.a(GameCenter.o)
ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

해결책.

It looks like you haven't added the GameKit framework to your project.
If your using Xcode 3.2.x:
  • Right click the Frameworks group/folder in the file tree (on the left of the xcode window)
  • Press Add, and then select Existing Frameworks...
  • Scroll to GameKit.framework and double click it
If your using Xcode 4:
  • In the file tree, click on the project (the item at the top)
  • Select your target
  • Go to the Build Phases tab on the main panel
  • Expand the Link Binary with Libraries
  • Press the + button
  • Scroll to the GameKit.framework and double click it.