React Native 빌드 에러 (6)
1. [iOS] no template named 'unary_function' in namespace 'std'; did you mean '__unary_function'?
Xcode 15 로 업데이트하면서 발생하기 시작한 에러다. ios/Podfile
에 아래 코드를 추가해주면 된다.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
end
end
end
2. [iOS] Cycle inside Manta; building could produce unreliable results.
이것도 Xcode 15 로 업데이트하면서 발생하기 시작한 에러다.
(정확히는 1번 에러를 잡고 나니 발생했다.)
(검색해보면 Xcode 15 이전에도 발생한 사람들이 있긴 하다.)
상세 에러 메시지는 아래와 같다.
Cycle inside PROJECT_NAME; building could produce unreliable results.
Cycle details:
→ Target 'PROJECT_NAME': ExtractAppIntentsMetadata
○ Target 'PROJECT_NAME': CodeSign /Users/USER_NAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-ejrtwkqpgvibqachrnmzabjwsgqc/Build/Products/Debug-iphoneos/PROJECT_NAME.app/Frameworks/AppLovinQualityService.framework
○ Target 'PROJECT_NAME' has copy command from '/Users/USER_NAME/workspace/PROJECT_NAME/app/ios/AppLovinQualityService/AppLovinQualityService.xcframework/ios-armv7_arm64/AppLovinQualityService.framework' to '/Users/USER_NAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-ejrtwkqpgvibqachrnmzabjwsgqc/Build/Products/Debug-iphoneos/PROJECT_NAME.app/Frameworks/AppLovinQualityService.framework'
○ That command depends on command in Target 'PROJECT_NAME': script phase “[CP-User] [RNFB] Core Configuration”
○ Target 'PROJECT_NAME' has process command with output '/Users/USER_NAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-ejrtwkqpgvibqachrnmzabjwsgqc/Build/Products/Debug-iphoneos/PROJECT_NAME.app/Info.plist'
○ Target 'PROJECT_NAME' has copy command from '/Users/USER_NAME/workspace/PROJECT_NAME/app/ios/AppLovinQualityService/AppLovinQualityService.xcframework/ios-armv7_arm64/AppLovinQualityService.framework' to '/Users/USER_NAME/Library/Developer/Xcode/DerivedData/PROJECT_NAME-ejrtwkqpgvibqachrnmzabjwsgqc/Build/Products/Debug-iphoneos/PROJECT_NAME.app/Frameworks/AppLovinQualityService.framework'
내 경우 AppLovinQualityService
라는 녀석이 순환 참조를 일으키는 것 같다. 중간에 "That command depends on command in Target 'PROJECT_NAME': script phase “[CP-User] [RNFB] Core Configuration" 라는 구문도 보인다.
검색해보면 Xcode 의 Build Phase 순서를 변경해서 해결해줬다는 이야기가 있다. 나도 동일하게 시도해보았고
에러는 사라졌다.
3. [공통] Could not get BatchedBridge, make sure your bundle is packaged correctly
종종 뜨는 에러인데 매번 까먹는다. 아래처럼 metro 서버를 다시 실행하면 해결된다.
$ yarn start --reset-cache