세상사는 이야기 / 도움이 되었다면 배너 클릭 부탁드려요~ →→→

2020년 11월 12일 목요일

[UnityIAP] UnityIAP 2.2.0 업데이트 후 Error 발생

UnityIAP 2.2.0 업데이트 후 Error 발생

2020년 11월 17일 UnityIAP 2.2.1 업데이트


2020년 11월 10일 UnityIAP 2.2.0로 업데이트 되었다.

빌드 후 구매 확인하면 아래와 같은 에러가 발생한다.


에러 내용

2020-11-12 11:08:37.891 3182-3182/com.neocyon.google.ro2odin E/Unity: ArgumentNullException: Value cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00000] in <00000000000000000000000000000000>:0
at System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue (TKey key, TValue& value) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Purchasing.ProductCollection.WithStoreSpecificID (System.String id) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Purchasing.PurchasingManager.OnPurchaseFailed (UnityEngine.Purchasing.Extension.PurchaseFailureDescription description) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Purchasing.GooglePlayPurchaseCallback.OnPurchaseFailed (UnityEngine.Purchasing.Extension.PurchaseFailureDescription purchaseFailureDescription) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.HandleErrorCases (UnityEngine.Purchasing.Models.GoogleBillingResult billingResult, Unit


아직 Unity IAP 팀에서 원인과 해결 방법을 찾고 있는것 같다.

https://forum.unity.com/forums/unity-iap.112/


이전 버전으로 깔고 싶지만 구글 검색해도 나오지 않는다. 

2.2.0을 삭제 후 아래 링크에서 이전 버전 2.1.1 Package를 다운로드 받으면 된다.

UnityEngine.Cloud.Purchasing-2.1.1-83eca73c.unitypackage


https://forum.unity.com/threads/unity-iap-previous-versions.527432/#post-6506544



2020년 11월 6일 금요일

[Unity IAP] UnityIAP Import중 에러 발생 "The IAP service is currently disabled"

Unity Serviece에서 Store Package를 Import중 에러가 발생했다.

error: "The IAP service is currently disabled"

The IAP service is currently disabled.

Canceling the install process now to avoid encountering errors when importing the Unity IAP asset package. The IAP service must be enabled first before importing the latest Unity IAP asset package.
Please enable the IAP service through the Services window. Then import the Unity IAP asset package again to continue the install.

Select 'Help...' to see further instructions.

UnityIAP Docs에는 아래와 같은 설명이 있다.

참고: 흔한 Unity IAP 통합 컴파일러 오류
아래 오류 메시지는 Unity Cloud 서비스 창에서 Unity IAP가 비활성화되었거나, Unity가 인터넷에 연결되어 있지 않다는 점을 나타냅니다.

CS0246: IPurchaseReceipt 유형 또는 네임스페이스 찾을 수 없음.
System.Reflection.ReflectionTypeLoadException
UnityPurchasing/Bin/Stores.dll
UnityEngine.Purchasing

이 오류를 해결하려면 우선 서비스 창을 새로고침 해야 합니다. 간단하게 닫고 다시 열면 됩니다. 새로고침 후 Unity IAP가 활성화되었는지 확인해야 합니다.
해결되지 않은 경우, 인터넷 연결을 해제하고 재연결 한 후, Unity 서비스에 다시 로그인한 다음 Unity IAP를 활성화해야 합니다. 등록 기관의 Unity 서비스 “소유자” 또는 “관리자” 만이 Unity IAP 서비스를 활성화할 수 있습니다.


이유는 Unity Package Manager내부에서 define이 꼬인것 같다.

재설치나 협업중에는 Import순서가 중요하겠다.

- Package Manager/In App Purchasing Install -> Unity Service IAP Import


1. Unity/Window/Package Manager/In App Purchasing Install


2. Unity Service/IN-APP PURCHASING - Import(Reimport) -> Import Package

3. Import 확인

Plugins, Packages폴더



그래도 안될 경우

직접 Unity Servieces 파일을 수정 한다.

ProjectSettings/UnityConnectSettings.asset

  UnityPurchasingSettings:

    m_Enabled: 1


 m_Enabled: 0 으로 되어있으면 1로 수정

2020년 9월 2일 수요일

[IOS] Xcode 빌드 업로드에러 no accounts with app store connect access have been found for the team

ios Xcode 빌드 후 업로드를 하려는데 오류가 발생했다.

no accounts with app store connect access have been found for the team "xxxxxx" App Store Connect access is required for Developer ID distribution.



검색해 보니 xcode를 프로세서에서 완전 제거후에 다시 xcode를 실행 후 빌드하면
해당 증상이 없어졌다고 하는데

나는 그냥 맥 재부팅 후 빌드 하지 않고 "Organizer"에 빌드된 "Archive"를 다시 "Distribute App"으로 업로드 하니 잘되었다.


2020년 7월 9일 목요일

[Mac] sourcetree 계정 비밀번호를 계속 물어볼때 처리

[Mac] Sourcetree 계정 비밀번호를 계속 물어볼때 처리

1. 비밀번호 입력시 [store password in keychain] 체크

2. git 터미널에 아래 입력 후 다시 비밀번호 입력
 git config --global credential.helper osxkeychain



2020년 6월 2일 화요일

[Unity IOS] Mac에서 에셋번들(Asset Bundle) 다운로드 오류

[Unity IOS] Mac에서 에셋번들(Asset Bundle) 다운로드 오류

Mac에서 에셋번들(Asset Bundle)을 빌드하여 서버로 FTP(FileZila)를 이용해 업로드 하였다.
Mac Unity 에디터에서 해당 에셋번들 파일을 다운로드하면 에러가 아래와 같은 발생한다.


Error while downloading Asset Bundle: Failed to decompress data for the Assetbundle 'http://


해결법
FileZilla 기본 전송은 아스키로 되어있어서 Unity에서 다운로드 후 로드하면 에러가 발생한다.
전송 유형을 바이너리로 바꾸고 다시 업로드 하면 해결된다.

1. FileZilla -> 전송 -> 전송유형 -> 바이너리
2. 에셋번들 파일 업로드
3. Unity Editor에서 에셋번들 다운로드


2020년 2월 14일 금요일

error CS8107: '기본 리터럴' 기능은 C# 7.0에서 사용할 수 없습니다. 언어 버전 7.1 이상을 사용하세요.


error CS8107: '기본 리터럴' 기능은 C# 7.0에서 사용할 수 없습니다. 언어 버전 7.1 이상을 사용하세요.

Visual Studio 2017 사용시 기본 C# 버전은 7.0이다
7.x 의 기능을 사용하기 위해서는 언어 버전을 올려야한다.




https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/configure-language-version


프로젝트 속성 -> 빌드 -> 고급 -> 언어버전 -> C# 7.x 선택


csproj파일을 Notepad로 열어서 확인
<PropertyGroup>
  <OutputType>Exe</OutputType>
  <TargetFramework>netcoreapp2.0</TargetFramework>
  <LangVersion>7.1</LangVersion>
</PropertyGroup>