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

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
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
04-26 00:00

Unity 2021.3.36f1

Xcode 15.3

----

 

[결론] 

Privacy Manifest 관련 대응 버전은 Unity 2023.2.13, 2022.3.21, 2021.3.36 이라고 한다.(메이저 버전별 해당 버전이후로 업데이트 필요)

위에 적힌 버전 이상 설치 돼 있으면, iOS 빌드를 할 때 알아서 PrivacyInfo.xcprivacy를 생성해 준다고 한다.

Unity 2021.3.36f1으로 iOS 빌드했는데, PrivacyInfo.xcprivacy도 추가돼있고, 내용도 제대로 들어있는 걸 확인했다.(필요한 거 확인해서 알아서 넣어준다고 어디선가 적힌걸 본 것 같은데..)

Unity 2021.3.36f1으로 iOS 빌드하면 PrivacyInfo.xcprivacy가 자동 생성된다.

 

쉽게 해결하려면 엔진 버전업 하자.

 

SDK 등 Third Party 플러그인들은 해당 Third Party에서 업데이트 대응해줘야 되는거니 내가 뭔가 할 건 없는 것 같다.

 

P.s. 

수동으로 작업하려면 'PolicyInfo.xcprivacy' 파일을 생성해서 수정하고, '../Assets/Plugins' 폴더에 파일을 넣어두면 된다고 한다.

자동으로 추가되는 정보 외에 별도로 추가하고 싶으면 파일을 해당 위치에 넣어두자.

 

[참조] https://forum.unity.com/threads/apple-privacy-manifest-updates-for-unity-engine.1529026/

 

Official - Apple privacy manifest updates for Unity Engine

Introduction At WWDC 2023 Apple announced a number of additions to its privacy program, including the introduction of Privacy Manifests. Since then,...

forum.unity.com

 

----

[링크1] [Unity] Apple Privacy Manifest 대응

 

[Unity] Apple Privacy Manifest 대응

안녕하세요. Apple이 공개한 Privacy Manifest를 반드시 포함해야 하는 SDK 목록 중에 UnityFramework가 있었고 이번에 Unity에서 공식적인 입장과 가이드를 공개했어요. https://forum.unity.com/threads/apple-privacy-man

phillip5094.tistory.com

 

[링크2] 개인정보 보호 매니페스트 및 서명을 필요로 하는 SDK

 

개인정보 보호 매니페스트 및 서명을 필요로 하는 SDK

안녕하세요. 이전에 Privacy manifest에 대해서 공부했는데요. [WWDC23] Get started with privacy manifests 안녕하세요. 이번엔 WWDC23 'Get started with privacy manifests' 세션을 보고 내용 정리해 볼게요. #개요 앱 사용

phillip5094.tistory.com

 

 

[참조] 【Xcode/iOS】Privacy Manifests에 대응하는 방법! PrivacyInfo.xcprivacy란?

 

Webエンジニア学習部屋

駆け出しwebエンジニアのあめの学習記録webサイトです。WordPressなどのCMSを使わずに自分でHTMLファイルやphpファイルを作成しサーバーにアップしています。プログラミングで悩んだポイントや

appdev-room.com

반응형
Posted by blueasa
, |

Unity 2021.3.33f1

Xcode 15.3

AppsFlyer v6.13.10

----

 

[추가] 2024-04-17

AppsFlyer v6.14.0에서 Xcode 15.3 관련 버그가 수정됐다.

v6.14.0으로 버전업 하면 해결.

 

[AppsFlyer Releases] https://github.com/AppsFlyerSDK/appsflyer-unity-plugin/releases

AppsFlyer v6.14.0

 

 

----

[빌드 에러 로그]

----

[Error] Type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int
[Warning] Incompatible pointer to integer conversion passing 'void *' to parameter of type 'int'
----
BOOL __swizzled_didReceiveRemoteNotification(id self, SEL _cmd, UIApplication* application, NSDictionary* userInfo,void (^UIBackgroundFetchResult)(void) ) {
    NSLog(@"swizzled didReceiveRemoteNotification");
    
    [[AppsFlyerLib shared] handlePushNotification:userInfo];
    
    if(__original_didReceiveRemoteNotification_Imp){
        return ((BOOL(*)(id, SEL, UIApplication*, NSDictionary*, (UIBackgroundFetchResult)))__original_didReceiveRemoteNotification_Imp)(self, _cmd, application, userInfo, nil);
    }
    return YES;
}

----

 

[2024-03-13] Xcode 15.3이 나와서 업데이트 하고 iOS 빌드 하니 위와 같은 에러가 난다.

에러 위치는 AppsFlyer 인데..

검색(아래 링크 참조)해보니 Xcode 15.3 업데이트 하고나서 같은 에러를 겪고 있는 것 같다.

AppsFlyer에서 대응해줘야 될 것 같은데, 링크에서 임시방편으로 수정하는 방법을 알려주고 있다.

일단 빌드를 할 수 없으니 Xcode 15.2로 다운그레이드 했다.

 

[결론]

Xcode 15.3을 쓰려면 두가지 방법중 하나를 고르자.

1. [임시방편] 당장 써야겠다면, 해당 에러 위치를 아래 내용을 참조해서 수정하자.

    1.1. AppsFlyer+AppController.m 파일 위치

          1.1.1. 수동 설치 했으면 : ..\Assets\AppsFlyer\Plugins\iOS\AppsFlyer+AppController.m

          1.1.2. Package로 설치했으면 : /Library/PackageCache/appsflyer-unity-plugin@xxxxxxxxxx/AppsFlyer+AppController.m

    1.2. AppsFlyer+AppController.m line:144 위치의 return 하는 소스를 아래와 같이 수정하자.

          -> return ((BOOL(*)(id, SEL, UIApplication*, NSDictionary*, int(UIBackgroundFetchResult)))__original_didReceiveRemoteNotification_Imp)(self, _cmd, application, userInfo, nil);

[참조] https://github.com/AppsFlyerSDK/appsflyer-unity-plugin/issues/263

 

[추가]

Xcode 15.3부터 C99 이상 강제하는 것 같다.

AppsFlyer 현재 버전이 C89인지.. C99 지원을 안하는 것 같은데..

결국 AppsFlyer가 C99 대응 업데이트를 해줘야 Xcode 15.3에서 정상적으로 빌드가 되지 싶다.

 

 

[참조] https://github.com/AppsFlyerSDK/appsflyer-unity-plugin/issues/263

 

Cannot build with xCode 15.3 · Issue #263 · AppsFlyerSDK/appsflyer-unity-plugin

Hello! I just updated xCode to 15.3 and there seems to be an ISO C99 issue with the AppsFlyer+AppController.mfile. The attached image is a screenshot from xCode 15.2 where the issue Type specifier ...

github.com

반응형
Posted by blueasa
, |

[링크] https://es1015.tistory.com/391

 

[Mac] Xcode 빠르게 설치하기 (AppStore 다운로드 실패 해결)

Mac에서 Xcode를 설치하는 가장 기본적인 방법은 AppStore를 통해서 다운로드하는 방법이다. 하지만 이 방법은 시간도 엄청 오래 걸리고, 도중에 멈추거나 실패하는 경우가 많다. 가령 아래와 같이 Ap

es1015.tistory.com

 

 

 

반응형
Posted by blueasa
, |

Xcode 15

Unity 2023.3.10f1

----

 

[Xcode Build Error]

Assertion failed: (false && "compact unwind compressed function offset doesn't fit in 24 bits"), function operator(), file Layout.cpp, line 5758.

 

Xcode 15로 업데이트 후 빌드를 했더니,

유니티 빌드는 정상적으로 됐는데 Xcode로 넘어와서는 위와 같은 에러를 내면서 빌드가 안된다.

혹시나해서 Mac OS 14로 업데이트도 해봤는데 빌드 실패함.

 

OTHER_LDFLAGS에 -ld_classic을 추가하라는 내용을 보고(아래 링크 참조) 추가해서 정상적으로 빌드 되는 것을 확인 함.

 

    ...
    var pbxProject = new PBXProject();
    pbxProject.ReadFromFile(projectPath);
 
    //Unity Framework
    target = pbxProject.GetUnityFrameworkTargetGuid();
    pbxProject.AddBuildProperty(target, "OTHER_LDFLAGS", "-ld_classic");

 

 

[참조] https://forum.unity.com/threads/project-wont-build-using-xode15-release-candidate.1491761/#post-9355667

 

Bug - Project won't build using Xode15 release candidate.

Hi there, just tried to build the project using Xcode15 RC (Released yesterday). And failed with the following error: Showing Recent Issues...

forum.unity.com

[참조] https://issuetracker.unity3d.com/issues/building-projects-with-il2cpp-scripting-backend-for-apple-platforms-fails-with-xcode-15-dot-0b6-or-newer

 

Unity IssueTracker - Building projects with IL2CPP scripting backend for Apple platforms fails with Xcode 15.0b6 or newer

Xcode >= 15.0b6 contains a change to the "ProductName" in the "version.plist", which Unity will fail to parse. Because of that, U...

issuetracker.unity3d.com

 

 

반응형
Posted by blueasa
, |

오늘 저는 다음 정보와 함께 "Command CodeSign failed with a nonzero exit code" 오류를 받았습니다 .

ID 서명: "내 ID"
/usr/bin/codesign --force --sign xxxxxxxx --timestamp=none /path/to/derived/data...
xxxxxxxx: ID를 찾을 수 없음 0이 아닌
종료 코드로 인해 명령 CodeSign이 실패함

이 오류가 발생하는 데는 몇 가지 이유가 있을 수 있습니다. 방금 나에게 일어난 일을 공유하겠습니다.

#문제의 원인

키체인 액세스 앱 에서 키체인을 망칠 때 이 문제가 발생합니다 . 새 인증서를 만들고 이전 인증서를 삭제하려고 했습니다. 그리고 Xcode가 삭제된 것을 사용하려고 시도한 것 같습니다.

 

#해결책

내 솔루션은 Xcode 문제가 발생했을 때 항상 수행하는 작업인 Clean Build Folder입니다.

  1. 옵션 키 또는 ⌘ - CMD + ⇧ - SHIFT⌥ + - option + K 를 누른 상태에서 메뉴 제품 > 빌드 폴더 정리를 클릭합니다 .
  2. Xcode를 닫습니다. 이것은 저에게 매우 중요한 단계입니다. 닫아야 작동합니다.
  3. 앱을 다시 열면 키체인에 액세스하라는 대화 상자가 표시될 수 있습니다. 액세스 권한을 부여하면 문제가 해결됩니다.

 

----

Today I got the "Command CodeSign failed with a nonzero exit code" error with the following information.

Signing Identity: "My identity"
/usr/bin/codesign --force --sign xxxxxxxx --timestamp=none /path/to/derived/data...
xxxxxxxx: no identity found
Command CodeSign failed with a nonzero exit code

There might be several reasons that cause this error. I will share one that just happened to me.

#Cause of the problem

I got this problem when I mess up with keychains in the Keychain Access app. I created a new certificate and tried to delete an old one. And I think Xcode was attempting to use the deleted one.

 

#Solution

My solution is what we always do when we got an Xcode problem, Clean Build Folder.

  1. Click menu Product > Clean Build Folder while holding down option key or ⌘ - CMD + ⇧ - SHIFT + ⌥ - option + K.
  2. Close the Xcode. This is a very important step for me. I need to close it to work.
  3. Reopen the app, and you might see the dialog asking to access the keychain. Grant the access, and the problem should go away.

 

 

[출처] https://sarunw.com/posts/how-to-fix-command-codesign-failed/

 

How to fix "no identity found - Command CodeSign failed with a nonzero exit code" error in Xcode | Sarunw

There might be several reasons that cause this error. I will share one that just happened to me.

sarunw.com

[참조] https://intrepidgeeks.com/tutorial/error-handling-ios-development-error-command-codesign-failed-with-nonzero-exit

 

[오류 처리] iOS 개발 오류, command codesign failed with a nonzero exit code

문제. Xcode 실행 코드, error입니다. 아래와 같습니다.command codesign failed with a nonzero exit code 해결하다 1. 클렌징, command+shift+k 2. 컴퓨터를 재부팅하고 다시 실행

intrepidgeeks.com

 

반응형
Posted by blueasa
, |

[링크] https://cjh94.tistory.com/3

 

[ios]codesign이 변경하려고 합니다. 허용하려면 관리자 이름 및 암호를 입력하십시오.

새로운 프로젝트와 키체인을 받아서 작업 완료 후에 TestFlight에 올리려고 하니 발생했던 상황 빌드 파일마다 암호를 요청하고 보통 이런 경우 해결 방법은 비밀번호를 누르고. 허용이 아닌 항상

cjh94.tistory.com

 

 

반응형
Posted by blueasa
, |

[Link] https://stackoverflow.com/questions/69366799/xcode-13-ios15-is-taking-longer-than-expected-to-launch-it-shows-a-lldb-related

 

Xcode 13/iOS15 is taking longer than expected to launch, it shows a LLDB related message

I am using Xcode 13 on a Macbook Pro (Intel/2019) with macOS Big Sur 11.6 I am building and launching the app on a connecting iPhone X running iOS 15.0, I am also running a UI test suite based on

stackoverflow.com

 

반응형
Posted by blueasa
, |

 

[링크] https://velog.io/@jihoson94/xcode-failed-to-prepare-device-for-development-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95

 

xcode "failed to prepare device for development" 해결방법

React Native 개발 중 실제 device에 연결해서 테스트를 해야할 때, 빌드는 완료됐지만 ios장비와 xcode가 연결이 안된채 와 같은 dialog가 계속 spinning 되는 경우가 있습니다.이에 대한 해결책으로 검색해

velog.io

 

[추가]

Finder - 응용 프로그램(Applications) - Xcode.app에서 하위가 원래 안보이는데,

Xcode.app에서 '마우스 우클릭' -  '패키지 내용 보기' 눌러서 들어가면 된다.

반응형
Posted by blueasa
, |

Unity 2021.3.16f1

Xcode 14.2

Firebase 10.4.0

----

 

[빌드 에러]

pod install output:



Analyzing dependencies

[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":

  In Podfile:

    Firebase/Auth (= 10.6.0) was resolved to 10.6.0, which depends on

      FirebaseAuth (~> 10.6.0) was resolved to 10.6.0, which depends on

        GTMSessionFetcher/Core (< 4.0, >= 2.1)



    GoogleSignIn (= 6.0.2) was resolved to 6.0.2, which depends on

      GTMAppAuth (~> 1.0) was resolved to 1.3.1, which depends on

        GTMSessionFetcher/Core (< 3.0, >= 1.5)



    GoogleSignIn (= 6.0.2) was resolved to 6.0.2, which depends on

      GTMSessionFetcher/Core (~> 1.1)

 

Firebase 10.6.0이 업데이트 돼서 다시 한 번 iOS 빌드를 시도해 봤는데 여전히 에러가 난다.

(참조 : https://blueasa.tistory.com/2706)

 

[XCode] [!] Cocoapods could not find compatible versions for pod "GTMSessionFetcher/Core"

Unity 2021.3.16f1 Xcode 14.2 Firebase 10.4.0 ---- [빌드에러] pod install output: Analyzing dependencies [!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core": In Podfile: Firebase/Auth (= 10.4.0) was resolved to 10.4.0, whic

blueasa.tistory.com

 

그래도 다시 이리저리 검색해보다보니 해결했다는 글이 아래와 같이 있다.

UnayOzan commented on Feb 5
Fixed this error with changing the version in "GoogleSignIn.podspec.json" file.

Firebase/Auth (= 10.4.0) was resolved to 10.4.0, which depends on
FirebaseAuth (~> 10.4.0) was resolved to 10.4.0, which depends on
GTMSessionFetcher/Core (< 4.0, >= 2.1)

GoogleSignIn (~> **5.0.2**) was resolved to **5.0.2**, which depends on
  GTMSessionFetcher/Core (~> **1.1**)
I found the file in {user}.cocoapods/repos/cocoapods/Specs and then just search for "GoogleSignIn.podspec.json".
Find the folder with the same version with the error, in my case 5.0.2.
And then change its dependencies with the version 7.0.0 or something that works with the other packages.
In my project the solution was this;

 "dependencies": {
    "AppAuth": [
      "~> 1.5"
    ],
    "GTMAppAuth": [
      ">= 1.3",
      "< 3.0"
    ],
    "GTMSessionFetcher/Core": [
      ">= 1.1",
      "< 4.0"
    ]
After that I exited Xcode, deintagrated pods, cleaned cache and installed it again.
Everything works fine now.

[링크] https://github.com/firebase/firebase-unity-sdk/issues/621

 

[Bug] FirebaseAuth and GoogleSignIn iOS Build failure · Issue #621 · firebase/firebase-unity-sdk

[REQUIRED] Please fill in the following fields: Unity editor version: 2021.3.17f1 Firebase Unity SDK version: 10.4.0 Source you installed the SDK: .unitypackage Problematic Firebase Component: Auth...

github.com

 

글을 보면 아래와 같은 내용이 있다.

And then change its dependencies with the version 7.0.0 or something that works with the other packages.
In my project the solution was this;

에러도 나와 거의 같아서 확인해보니 GoogleSignIn 버전이 현재 6.0.2여서 GTMSessionFetcher/Core (~> 1.1)를 지원하는데,

설치한 FirebaseAuth 10.6.0은 GTMSessionFetcher/Core (< 4.0, >= 2.1)을 사용하고 있어서

GTMSessionFetcher/Core 버전이 서로 호환이 안되는 것 같다.

 

위 링크의 내용대로

GoogleSignIn 버전을 7.0.0(2023-03-27 기준 최신) 버전으로 변경하고 빌드를 다시해보니 깔끔하게 빌드가 잘 된다.

 

[추가]

빌드는 잘 되는데 회사 플랫폼에서 사용하는 GoogleSignIn이 6.0.2여서 7.0.0으로 올리면서 API 호환이 안돼서 로그인 시도할 때 Crash가 나면서 앱이 강제종료 된다.

6.2.4
  2.x 버전을 허용하도록 GTMSessionFetcher 종속 항목을 업데이트했습니다. (#207)

GoogleSignIn에서 해당 빌드 오류 이슈를 해결한 버전은 6.2.4여서 6.2.4로 버전을 내렸다.

나처럼 다른 이슈로 7.0.0으로 못올리는 사람은 6.2.4로 한 번 시도해 보면 좋을 것 같다.

 

[GoogleSignIn 버전 참조] https://developers.google.com/identity/sign-in/ios/release?hl=ko

 

Google 로그인 iOS 및 macOS SDK 출시 노트  |  Authentication  |  Google Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Google 로그인 iOS 및 macOS SDK 출시 노트 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분

developers.google.com

 

반응형
Posted by blueasa
, |

Unity 2021.3.16f1

Xcode 14.2

Firebase 10.4.0

 

----

[빌드에러]

pod install output:



Analyzing dependencies

[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":

  In Podfile:

    Firebase/Auth (= 10.4.0) was resolved to 10.4.0, which depends on

      FirebaseAuth (~> 10.4.0) was resolved to 10.4.0, which depends on

        GTMSessionFetcher/Core (< 4.0, >= 2.1)

 

최근 Firebase 10.x 버전이 Xcode 14.x 버전에서 위와 같은 오류를 내면서 빌드가 제대로 되지 않는 문제가 있어서 이리저리 알아보니 구글에서 확인하고 수정중이라고 하는 것 같다.

[참조] https://github.com/firebase/firebase-ios-sdk/issues/10359

 

GTMSessionFetcher/Core dependency conflict between Firebase/Auth and GoogleMLKit/LanguageID with Firebase 10.0.0 · Issue #10359

Description Attempting a pod update causes Firebase/Analytics and Auth to be downgraded from 9.6.0 to 3.6.0, and GoogleUtilities from 7.8.0 to 1.3.2 leading to a compile error related to a GoogleUt...

github.com

 

수정 전까지 대안으로 아래와 같이 Podfile에서 FirebaseAuth 버전을 내리라고 설명하고 있다.

유니티를 사용중이라서 Podfile을 만지는건 애매하고, Firebase의 AuthDependencies.xml 파일에서 수정해보기로 했다.

 

<iosPod name="Firebase/Auth" version="10.4.0" minTargetSdk="8.0"></iosPod>

위의 내용을 아래와 같이 수정했다.

<iosPod name="Firebase/Auth" version="~> 9.6.0" minTargetSdk="8.0"></iosPod>

 

그래서 FirebaseAuth는 사라졌는데..

 

Messaging 쪽 에러가 다시 나오면서 빌드 실패.

[에러메시지]

pod install output:



Analyzing dependencies

[!] CocoaPods could not find compatible versions for pod "Firebase/Messaging":

  In Podfile:

    Firebase/Messaging (= 10.4.0)



None of your spec sources contain a spec satisfying the dependency: `Firebase/Messaging (= 10.4.0)`.

 

[결론]

그냥 고쳐질 때까지 Firebase 9.6.0을 써야 될 것 같다..

 

 

반응형
Posted by blueasa
, |