블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2804)
Unity3D (860)
Script (91)
Extensions (16)
Effect (3)
NGUI (81)
UGUI (9)
Physics (2)
Shader (37)
Math (1)
Design Pattern (2)
Xml (1)
Tips (201)
Link (23)
World (1)
AssetBundle (25)
Mecanim (2)
Plugins (80)
Trouble Shooting (70)
Encrypt (7)
LightMap (4)
Shadow (4)
Editor (12)
Crash Report (3)
Utility (9)
UnityVS (2)
Facebook SDK (2)
iTween (3)
Font (13)
Ad (14)
Photon (2)
IAP (1)
Google (11)
URP (2)
Android (51)
iOS (45)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (234)
협업 (61)
3DS Max (3)
Game (12)
Utility (140)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

Apple Developer 사이트에서 Certificate와 Provisioning을 진행한 후에도 iPhone / iPad device에서 app launch 시 아래와 같은 에러가 발생하면서 app이 실행되지 않는 경우가 있음.


dyld: Library not loaded: @rpath/libswiftCore.dylib


 Stack Overflow를 뒤져보면 다음과 같은 방법을 알려준다.


1. build option에서 'Embedded Content Contains Swift Code'를 'Yes'로 설정

2. build option에서 'Runpath Search Paths'를 '@executable_path/Frameworks'로 설정

3. certificates와 provisioning을 revoke하고 다시 등록 / 다운로드 진행하라

4. 설치된 certificates와 provisioning의 'Trust'(신뢰) 설정을 'Use System Default'(시스템 초기 설정 사용)으로 하라


 그러나 이러한 방법으로도 문제가 해결되지 않았다.

 그래서 일 년에 지원 2번의 압박을 감수하며 Apple DTS에 문의한 결과 위의 4번 방법을 이용해 다시 시도해보라고 답변이 왔다.

 문제는 이미 저렇게 사용하고 있었다는 것인데, 메일을 잘 보니 WWDR(Apple Worldwide Developer Relations Certification Authority)도 4번으로 설정하라고 하였는데 해당 인증서가 존재하지 않았다.

검색 후 해당 인증서를 다운로드 받아서 launching 해보니 거짓말같이 문제 해결.

위 1~4번 방법으로 해결되지 않을 경우 아래 WWDR을 다운로드 받아서 시도하길 추천.


http://developer.apple.com/certificationauthority/AppleWWDRCA.cer



[출처] http://loventree.tistory.com/2

반응형
Posted by blueasa
, |

Assets/UCSS/Scripts/Protocols/HTTPProtocol.cs(20,63): error CS0234: The type or namespace name `MovieTexture' does not exist in the namespace `UnityEngine'. Are you missing an assembly reference?


유니티에 WWW wrapper 에셋(http://u3d.as/8e6)을 추가하고 안드로이드로 빌드하려고 시도하니 위와 같은 에러가 나서 뭐지 했는데


찾아보니 아래와 같은 글이 있다.

MovieTexture는 모바일에서 더이상 지원을 하지 않는다고 한다.(PC빌드 전용인가?)


as of 2015/10/6, MovieTextures are still not supported on Android and iOs


First, any code using "MovieTexture" MUST be set only for PC builds. The game I am working on is for Android and PC, so I use the following preprocessor commands:

  1. #if UNITY_ANDROID
  2. Handheld.PlayFullScreenMovie("");
  3. #else
  4. MovieTexture stuff;
  5. #endif


그래서 해당 에셋의 MovieTexture 부분에 iOS/AOS에서 안돌아가게 아래와 같이 define을 추가했다.


#if UNITY_PRO_LICENSE && !UNITY_WEBGL && !UNITY_IOS && !UNITY_ANDROID

        public EventHandlerMovieTexture     movieTextureCallback;

#endif


#if UNITY_PRO_LICENSE && !UNITY_IOS && !UNITY_ANDROID

    void GetMovie()

    {

// 중략..

    }

#endif




[참조] https://forum.unity3d.com/threads/movietexture-has-no-definition-for-iphone-android.73338/

[참조] http://answers.unity3d.com/questions/377854/why-cannot-build-movie-texture-on-android.html


반응형
Posted by blueasa
, |

OS : Win7 x64

Version : Unity5 5.4.0


[에러메시지]

OdbcException: ERROR [IM002] [Microsoft][ODBC 드라이버 관리자] 데이터 원본 이름이 없고 기본 드라이버를 지정하지 않았습니다.


유니티4에서 잘 사용하던 odbc가 유니티5에서 실행하니 위와 같은 에러를 뱉어서 확인해보니 64bit용 재배포 패키지를 깔라고 한다.


[재배포 패키지 다운로드]

https://www.microsoft.com/ko-KR/download/details.aspx?id=13255

(링크에서 64bit용 재배포 패키지를 깔아 주면 된다.)


[참조]

I had the same issue and this Q&A was very helpful to narrow down my problem.
On a Windows 7 64 bit machine with Unity 64 bit, the Unity's Mono System.Data.Odbc class relies on the odbc32.dll that is located in Windows\System32 and not the one in Windows\SysWOW64. I found out the driver wasn't listed in the odbcad32.exe administration tool located in Windows\System32.
Installing the 64 bit version of Microsoft Access Database Engine 2010 Redistributable solved my issues as I now have the correct 64 bit driver listed in the odbcad32.exe application.
The drivers can be downloaded from here: https://www.microsoft.com/en-us/download/details.aspx?id=13255
The driver name in all the connection strings in the code must be updated with the new driver's name (that can be seen with the odbc administration tool).
I am now using Unity 5.3 64 bit and connecting successfully to the data source, in my case a dbf file.
I am sure this doesn't cover all the error IM002 cases but if you have this issue, this is one thing you want to exclude anyway.



[참조출처]

http://forum.unity3d.com/threads/odbc-connections-impossible-with-unity5.342846/

반응형
Posted by blueasa
, |


Error building Player:NullReferenceException : object reference not set to an instance of an object


위와 같은 에러가 나서 찾아보니 AndroidManifest.xml 파일안에 <application> </application> 태그가 없기 때문이라고 한다.



참조 : http://devmae.tistory.com/376

반응형
Posted by blueasa
, |


Link : http://forum.unity3d.com/threads/the-asset-bundle-cant-be-loaded.240015/

반응형
Posted by blueasa
, |

실행할 때, 문제는 없는 데 유니티(에디터)를 종료할 때 아래와 같은 에러메시지를 확인..


CompareBaseObjectsInternal can only be called from the main thread.

Constructors and field initializers will be executed from the loading thread when loading a scene.

Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.


어디가 문젠지 헤메다가 알게 된 건

MonoBehaviour를 상속받아 쓰는데도 생성자/소멸자를 사용한 부분이 있었다.
이 번 문제는 종료할 때 나면서 소멸자쪽의 문제였던 것 같은데..
아무튼 생성자/소멸자를 Awake/OnDestroy 등으로 모두 교체했다.

그리고 아래는 같은 에러 관련 참조할만한 포스팅..



반응형
Posted by blueasa
, |


Link : http://westwoodforever.blogspot.kr/2013/10/unity3d-ios-binaryformatter.html

반응형
Posted by blueasa
, |

Mesh has more materials (2) than subsets (1)

UnityEditor.UnityBuildPostprocessor:OnPostprocessScene()


필요에 의해서 만들어진 모델에 매트리얼을 1개 더 추가(최종 2개가 됨)를 했는데,


실행해보면 위의 경고를 띄우면서 1개만 남기고 추가된 매트리얼이 없어진다.


다른 이유도 있을 수 있겠지만, 이번 경우는 모델에 static이 체크 돼 있어서 매쉬를 컴바인하면서 매트리얼을 2개이상 못쓰게 막는 문제였다.


그래서..!!


[결론]

static 꺼 줌..


P.s. 최적화를 위해서 static을 쓰면 좋겟지만, 매트리얼이 2개 이상 필요하다면 어쩔 수 없는 듯..

       원한다면 매트리얼이 2개 이상 필요한 곳 만 빼고 static으로 묶던지 해야 될 듯..

반응형
Posted by blueasa
, |

유니티에서 SQLiteKit 에셋을 사용하기 위해 Excel -> db 파일로 변환 할 때 나오는 syntax error의 의미가 모호해서 정리겸 남겨놓는다.


1) 칼럼 값이 비어있을 때 나는 에러.(꼭 칸을 채워야 함)




2) SQLiteKit을 쓸 때, 테이블에서 쓸 수 없는 문자가 몇 있는 것 같다.

    더 있을 지는 모르지만 내가 테스트 해본 것 까지만 정리..


2-1) 테이블값에서 '-', '(', ')', ' '(빈칸) 은 사용 못함.


2-2) 테이블값에서 첫글자가 숫자로 시작할 수 없음.('_'는 허용됨.)

      'a1_1' 등으로 영어 뒤 숫자는 사용가능.





반응형
Posted by blueasa
, |

NGUI 업데이트(3.0.5 -> 3.0.7 f1)를 하다가 처음 보는 에러를 봤다.


Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes! Please change mesh geometry or supply a tensor manually!


안나던 에러가 왜나지? 하고 좀 보니..


UIPanel이 추가 된 곳엔 Rigidbody Component가 자동적으로 모두 붙어있다.

이게 뭐지..하고 UIPanel.cs를 열어봤더니 OnEnable() 함수에서 Rigidbody를 자동 추가하고 있다.

어디에 쓰려는거지 ㅡㅡ;;


아무튼 좀 찾아보니 위의 에러는 Rigidbody Component를 가진 트리에서 보통 Plane 때문에 난다고 한다.

정확히는 Plane을 생성했을 때, 자동으로 생성되는 Mesh Collider 때문이라고 한다.

Rigidbody가 들어가면 Physics Engine이 연산을 해야되는데, Plane의 Mesh Collider는 볼륨이 없기 때문에(Zero Volume)  Physics Engine이 계산을 못한다는 에러를 뱉는다고 한다.


Plane의 Mesh Collider를 지우고, Collider가 필요하다면 Box Collider로 대체하라고 한다.



참조 : http://answers.unity3d.com/questions/14497/actorupdatemassfromshape-error.html

반응형
Posted by blueasa
, |