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

카테고리

분류 전체보기 (2838)
Unity3D (886)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (188)
협업 (64)
3DS Max (3)
Game (12)
Utility (140)
Etc (99)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (52)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

[링크] https://docs.unity3d.com/Packages/com.unity.localization@1.2/manual/index.html

 

About Localization | Localization | 1.2.1

About Localization Use the Localization package to configure localization settings for your application. Add support for multiple languages and regional variants, including: String localization: Set different strings to display based on locale. Use the Sma

docs.unity3d.com

 

반응형
Posted by blueasa
, |

techyworm10 commented 15 days ago

@chkuang-g I created fixed editor dll files (until it will be officially fixed):
https://github.com/techyworm10/firebase-unity-sdk-editor-python-fix

 

techyworm10 commented 3 days ago

@daltonbr Did you try to clear ./Library/PackageCache folder?

 

 

[출처] https://github.com/firebase/quickstart-unity/issues/1232

 

[Bug] Python2 is removed on macOS 12.3 !! Please update the Editor script · Issue #1232 · firebase/quickstart-unity

[REQUIRED] Please fill in the following fields: Unity editor version: 2020.3, 2021,2 Firebase Unity SDK version: 7.0 - 8.8 Source you installed the SDK: unitypackage (.unitypackage or Unity Package...

github.com

 

반응형
Posted by blueasa
, |

----------------------------------------------------

Unity 2020.3.27f1

Xcode 13.2.1

FBAEMKit 12.2.1

FBSDKCoreKit 12.2.1

FBSDKCoreKit_Basics 12.2.1

FBSDKLoginKit 12.2.1
GoogleMobileAds 6.1.2
GoogleMobileAds-FacebookUnityAdapter-3.6.0

----------------------------------------------------

회사 플랫폼에서 Firebase Auth를 쓰면서 FBSDK(12.2.1) framework 가 들어가게 됐는데,

여기서 광고를 쓰기 위해 GoogleMoblieAds(6.1.2)를 추가하고,

페이스북 광고를쓰기위해 GoogleMobileAds의 미디에이션인 FacebookUnityAdapter(3.6.0)을 추가했는데..

Android는 잘되는데 iOS에서 에러 남.

 

플러그인 추가 진행 상황은 아래와 같다.

----------------------------------------------------

1) 플랫폼 SDK 추가하면서 FBSDK(12.2.1) 추가

  1.1)Plugins/iOS에 프레임워크 추가 돼 있음(FBAEMKit.framework/FBSDKCoreKit.framework/FBSDKCoreKit_Basics.framework/FBSDKLoginKit.framework)

 

2) GoogleMobileAds(6.1.2) 추가 -> 빌드 잘 됨

 

3) GoogleMobileAds-FacebookUnityAdapter(3.6.0) 추가 -> 빌드 에러

  3.1) [에러메시지] Undefined Symbols for architecture arm64: "_OBJC_CLASS_$_GAD...

  3.2) [해결방법] Unity Editor-Menu-External Dependency Manager-iOS Resolver-Settings : Link frameworks statically <- 체크

  3.3) [참조] https://blueasa.tistory.com/2587

 

4) 3) 해결 후, 빌드는 되는데 런타임에서 에러 남 -> 런타임 에러

  4.1) [에러메시지] Library not loaded: @rpath/FBAEMKit.framework...

    4.1.1) [추천] 4.2.4 방식 먼저 시도

  4.2.) [해결방법] 구글링 하다보니 아래와 같은 내용이 있음.

     4.2.1) General->Frameworks, Library, and Embedded Content. If it's "Do Not Embed", change to "Embed Without Signing"

      (참조: https://stackoverflow.com/questions/58144104/xcode11-dyld-library-not-loaded-reason-image-not-found)

    4.2.2) 빌드하고 수정하긴 그래서 XcodePostProcessor.cs에 아래 내용을 추가함.

        (처음엔 weak 파라미터를 false로 추가해봤었는데 여전히 런타임 에러 남)

      [추가소스]

      /// Initialize PbxProject
      var projectPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
      PBXProject pbxProject = new PBXProject();
      pbxProject.ReadFromFile(projectPath);
      string targetGuid = pbxProject.GetUnityFrameworkTargetGuid();

 

      // 플랫폼 SDK에서 아래 4개 프레임워크를 추가해놔서 여기서도 4개 추가시킴

      pbxProject.AddFrameworkToProject(targetGuid, "FBAEMKit.framework", true); // weak 부분을 true로 넘김

      pbxProject.AddFrameworkToProject(targetGuid, "FBSDKCoreKit.framework", true);

      pbxProject.AddFrameworkToProject(targetGuid, "FBSDKCoreKit_Basics.framework", true);

      pbxProject.AddFrameworkToProject(targetGuid, "FBSDKLoginKit.framework", true);

 

    4.2.3) 위의 4.2.2) 방법이 안된다면 (스크립트로 프레임워크 추가를 안하고) 직접 넣어도 됨

              직접 넣는 건 아래 링크에서 원하는 버전의 FacebookSDK-Static_XCFramework를 다운받아서 추가.

              (iOS는 받아서 압축풀어보면 여러개의 폴더가 나오는데 ios-arm64(또는 ios-arm64_armv7) 폴더를 사용하면 된다)

              [링크] https://github.com/facebook/facebook-ios-sdk/releases

 

Releases · facebook/facebook-ios-sdk

Used to integrate the Facebook Platform with your iOS & tvOS apps. - facebook/facebook-ios-sdk

github.com

 

    4.2.3.1) static 프레임워크 추가하고  Undefined symbol: _vDSP 에러가 나면 Accelerate.framework도 추가하자.

                [참조] https://minmong.tistory.com/242

 

페이스북 sdk 빌드 에러 iOS Facebook SDK Static Framework build error

지난 번에 Facebook 심사를 위한 앱검수 얘기를 했었는데요. 페이스북 권한을 사용하는 컨텐츠를 동영상으로 촬영해야 된다고 말씀드렸습니다. 그리고 iOS의 경우는 시뮬레이터 빌드를 준비해야

minmong.tistory.com

 

  4.2.4) 최근(2023-05-10)에 FacebookSDK 버전을 올리려고 확인 해보면서 FacebookSDK_Dynamic.xcframework를 적용해봤는데 이걸로 해도 잘되는 것 같다.

    4.2.4.1) FacebookSDK_Dynamic.xcframework 추가

    4.2.4.2) 기존 Dependencies.xml은 버전 맞춰 주기(난 15.0.0으로 맞춤)

      [참조] <iosPod name="FBSDKLoginKit" version="15.0.0" minTargetSdk="12.0"> </iosPod>

 

 

5) 4)까지 하고 빌드하니 런타임에서도 에러 안나고 잘 됨. -> 빌드 잘 됨

 

6) 빌드 성공!

 

 

[첨언]

결론적으로 GoogleMobileAds가 Static Framework을 강제(Link frameworks statically)하면서 생기는 문제로 보인다.

결국 GoogleMobileAds를 사용해야 된다면 dynamic framework 추가 방식은 불가능하므로, Facebook 관련 SDK 소스를 직접 추가(4.2.3)하는게 맞는 것 같다.

 

반응형
Posted by blueasa
, |

Unity 2020.3.27f1

GoogleMobileAds-v6.1.2

GoogleMobileAds-FacebookUnityAdapter-3.6.0

 

[에러메시지]

Undefined Symbols for architecture arm64: "_OBJC_CLASS_$_GAD...

 

[해결방법]

Unity Editor-Menu-External Dependency Manager-iOS Resolver-Settings : Link frameworks statically 체크

 

[참조] https://newreleases.io/project/github/googleads/googleads-mobile-unity/release/v6.0.0

  - [GooglemobileAds  6.0.0] You need to enable "Link frameworks statically" in Unity Editor -> Assets -> External Dependency Manager -> iOS Resolver -> Settings, or else the GMA plugin does not work.

 

-----------------------------------------------------------------------------------------------------

[펌]

Unity【iOS】「Undefined symbols for architecture arm64: _OBJC_CLASS_$_GADMediaView」エラーの対処法に関するメモ

 

Unityで開発したアプリをiOSでビルドした際に出たエラーの対処法がわかりづらかったのでメモ。

Xcodeでビルドした際に以下のエラーが出ました。

ld: warning: Could not find or use auto-linked framework 'AVFAudio'

Undefined symbols for architecture arm64:

  "_OBJC_CLASS_$_GADMediaView", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADRequest", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADNativeAdImageAdLoaderOptions", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADNativeAdViewAdOptions", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADBannerView", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADInterstitialAd", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADNativeAdView", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_kGADAdSizeMediumRectangle", referenced from:

      -[ALGoogleMediationAdapter adSizeFromAdFormat:withServerParameters:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADMobileAds", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_kGADAdSizeLeaderboard", referenced from:

      -[ALGoogleMediationAdapter adSizeFromAdFormat:withServerParameters:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADAdLoader", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth", referenced from:

      -[ALGoogleMediationAdapter adSizeFromAdFormat:withServerParameters:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

      +[ALGoogleMediationAdapter currentOrientationAchoredAdaptiveBannerSizeWithWidth:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADQueryInfo", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADExtras", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_kGADAdSizeBanner", referenced from:

      -[ALGoogleMediationAdapter adSizeFromAdFormat:withServerParameters:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_OBJC_CLASS_$_GADRewardedAd", referenced from:

      objc-class-ref in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

  "_kGADAdLoaderAdTypeNative", referenced from:

      -[ALGoogleMediationAdapter loadAdViewAdForParameters:adFormat:andNotify:] in AppLovinMediationGoogleAdapter(ALGoogleMediationAdapter.o)

ld: symbol(s) not found for architecture arm64

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

 

このエラーの厄介なところは、具体的にどんな対処をすればいいのかわからない点です。この部分でエラーが出ているよってことがわかればなおせますが、複数の要因により出ていると思われるエラーは修正することで泥沼にいっちゃうこともあるので慎重に対処するのが大事かなと思います。

 

 「Undefined symbols for architecture arm64: _OBJC_CLASS_$_GADMediaView」エラーに関する対処法

僕の環境では以下の方法で解決できました。(具体的なエラー原因がまだわかっていないので、上記のエラーが出た場合の対処法の一つ程度だと思ってもらえれば幸いです)

 

1.Unityで iOS ResolverのSettingsを開く

 

2.Link frameworks staticallyにチェックを入れる

3.iOSプロジェクトを出力して再ビルド

上記の方法でエラーが解消されました。

最近結構出るエラーなので、また発生したら今回のメモを参考にしたいと思います。

 

 

 

 

 お知らせ

謎解き推理ゲーム「イラスト探偵」を最近リリースしました!

もしよろしければダウンロードお願い致します!

 

[출처] https://develop.hateblo.jp/entry/unity-ios-error-build-arm64

 

Unity【iOS】「Undefined symbols for architecture arm64: _OBJC_CLASS_$_GADMediaView」エラーの対処法に関するメ

Unityで開発したアプリをiOSでビルドした際に出たエラーの対処法がわかりづらかったのでメモ。Xcodeでビルドした際に以下のエラーが出ました。ld: warning: Could not find or use auto-linked framework 'AVFAu

develop.hateblo.jp

 

반응형
Posted by blueasa
, |

[상황]

Firebase 8.8.0-RemoteConfig 추가하고 연동하면서 에러 발생

 

[에러 메시지]

오류 CS0433 'Task' 형식이 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' 및 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'에 모두 있습니다.

 

[해결방법]

/Parse/Plugins 아래에서 안쓰는 버전의 Unity.Compat, Unity.Tasks 제거

(.NET 4.x 버전을 쓰고 있어서 .NET 3.5 버전 Unity.Compat, Unity.Tasks 제거함)

 

 

[참조] https://drehzr.tistory.com/1080

 

문제해결)error CS0012: The type `System.Threading.Tasks.Task' is defined in an assembly that is not referenced. Consider add

error CS0012: The type `System.Threading.Tasks.Task' is defined in an assembly that is not referenced. Consider adding a reference to assembly 그전의 Firebase 패키지를 처리하는 도..

drehzr.tistory.com

 

반응형
Posted by blueasa
, |

[링크] UniTask

Unity3D/Plugins / 2022. 1. 11. 16:21

[링크] https://openupm.com/packages/com.cysharp.unitask/

 

📦 UniTask - com.cysharp.unitask

 

openupm.com

 

반응형

'Unity3D > Plugins' 카테고리의 다른 글

[링크] Localization(AppName)  (0) 2022.04.05
[Package] Unity Quick Search  (0) 2022.02.18
[펌] Unity Timers  (0) 2021.10.20
[펌] Unity Bezier Solution  (0) 2021.10.12
[에셋] I2 Localization(Android/iOS app_name Localization)  (0) 2021.02.25
Posted by blueasa
, |

[추가]

[Fixed] iOS: Fixed game objects' colors in light mode. (1379817)

2020.3.27f1 버전에서 해당 이슈가 수정되었다.

 

--------------------------------------------------------------------------------------------------------

Unity 2020.3.21f1에서 Unity 2020.3.22f1으로 업데이트 하고나니 Android는 문제없는데, iOS에서 기존에 발생하지 않던 쉐이더 문제가 생겼다.

 

[증상] 기존에 검은 느낌이던 텍스쳐가 약간 회색빛이 나옴

아래 이미지에서 A이던 느낌이 B느낌이 남

그래서 Unity 2020.3.21f1으로 내리니 다시 정상동작 하는걸 확인했다.

링크 내용을 보니 iOS Dark Mode 관련 버그라고 한다.

 

현재 임시로 해결하는 방법은 iOS Info.plist에서 강제로 Dark Mode로 셋팅 하는 방법이 있다고 한다.

 

버그가 수정될 때까지 Dark Mode로 셋팅하거나, Unity 2020.3.21f1 이하 버전을 사용해야 될 것 같다.

 

 

 

[Unity 소스상에서 Info.plist 수정]

var projectPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
var plistPath = System.IO.Path.Combine(pathToBuiltProject, "Info.plist");
var plist = new PlistDocument();
plist.ReadFromFile(plistPath);

// [iOS15+Unity2020.3.22f1 이슈] Force Dark Mode(Automatic/Light/Dark) - Appearance
plist.root.SetString("UIUserInterfaceStyle", "Dark");

 

 

 

[Info.plist 수정 참조 링크] https://stackoverflow.com/questions/56537855/is-it-possible-to-opt-out-of-dark-mode-on-ios-13/64015200

 

Is it possible to opt-out of dark mode on iOS 13?

A large part of my app consists of web views to provide functionality not yet available through native implementations. The web team has no plans to implement a dark theme for the website. As such,...

stackoverflow.com

 

 

 

[출처] https://stackoverflow.com/questions/70239569/unity-shader-glitches-according-to-the-dark-mode-on-ios-15

 

Unity shader glitches according to the Dark Mode on iOS 15

I'm using a shader (code below) which allows me to turn an image color into a grayscale (with transparency if needed). Everything was perfect until I updated my device to iOS 15. Since that update,...

stackoverflow.com

 

반응형
Posted by blueasa
, |

[링크] https://novemberfirst.tistory.com/90

 

[Unity] Device Simulator를 Package Manager에서 찾을 수 없을 때

2020.3 버전을 다운받았다. 너무 오랜만에 켜서 이것저것 찾아보다가 Device Simulator라는 기능을 써보고 싶어 추가하려는데 난 도저히 찾을 수 없었다. 그러다가 발견했다. Edit >Project Settings > Package M

novemberfirst.tistory.com

 

[참조] https://skuld2000.tistory.com/79

 

[Unity] 유니티에 새로 추가되는 디바이스 시뮬레이터(Device Simulator) 소개

1. 유니티 디바이스 시뮬레이터 (Unity Device Simulator) 유니티 디바이스 시뮬레이터(Unity Device Simulator)는 유니티 에디터에서 개발중인 게임을 실행했을 때 Game 윈도우에서 실행되는 대신 Game XCode 나..

skuld2000.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project

 

GitHub - unity3d-jp/UnityChanToonShaderVer2_Project: UnityChanToonShaderVer2 Project / v.2.0.8 Release

UnityChanToonShaderVer2 Project / v.2.0.8 Release. Contribute to unity3d-jp/UnityChanToonShaderVer2_Project development by creating an account on GitHub.

github.com

 

반응형
Posted by blueasa
, |

[펌] Unity Timers

Unity3D/Plugins / 2021. 10. 20. 14:23

 

 

 

We may decide to execute a function not right now, but at a certain time later. That’s called “scheduling a call”. The Timers class helps you to do so with a clean and short syntax without having to worry about enumerators.

Installation · Documentation · License

Made with ♥ by Jeffrey Lanters

 

Installation

Using the Unity Package Manager

Install the latest stable release using the Unity Package Manager by adding the following line to your manifest.json file located within your project's Packages directory, or by adding the Git URL to the Package Manager Window inside of Unity.

"nl.elraccoone.timers": "git+https://github.com/jeffreylanters/unity-timers"

Using OpenUPM

The module is availble on the OpenUPM package registry, you can install the latest stable release using the OpenUPM Package manager's Command Line Tool using the following command.

openupm add nl.elraccoone.timers

Documentation

Syntax

using ElRaccoone.Timers;
Timers.SetTimeout(/* miliseconds */ 1000, /* callback */ () => { /* ... */ });
Timers.SetInterval(/* miliseconds */ 1000, /* callback */ () => { /* ... */ });

Description

We may decide to execute a function not right now, but at a certain time later. That’s called “scheduling a call”. Note that the timers are using unscaled time.

There are two methods for it:

  • setTimeout allows to run a function once after the interval of time.
  • setInterval allows to run a function regularly with the interval between the runs.

Examples

public class MyClass {
  private void Awake () {
    Timers.SetTimeout(1000, () => {
      Debug.Log("A second has passed!");
    });
    Timers.SetTimeout(1000, Notifiy);
    Timers.SetInterval(2500, Notifiy);
  }
  private void Notify () {
    Debug.Log("Notify!!");
  }
}

 

 

[출처] https://openupm.com/packages/nl.elraccoone.timers/#installation

 

📦 Timers - nl.elraccoone.timers

 

openupm.com

 

반응형

'Unity3D > Plugins' 카테고리의 다른 글

[Package] Unity Quick Search  (0) 2022.02.18
[링크] UniTask  (0) 2022.01.11
[펌] Unity Bezier Solution  (0) 2021.10.12
[에셋] I2 Localization(Android/iOS app_name Localization)  (0) 2021.02.25
[링크] 유니티 Easy Save 정리  (2) 2020.04.03
Posted by blueasa
, |