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

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
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

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
, |