본문 바로가기
flutter

"Error 'DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead' in Xcode 15 beta 5"

by Rogan_Kim 2023. 9. 20.
728x90

Unable to boot device because it cannot be located on disk.

 

The device's data is no longer present at /Users/kimjunho/Library/Developer/CoreSimulator/Devices/DA5639F7-A1A8-4471-949D-42F6CF8A4875/data. Use the device manager in Xcode or the simctl command line tool to either delete the device properly or erase contents and settings.

 

details

더보기

Unable to boot device because it cannot be located on disk.
Domain: NSPOSIXErrorDomain
Code: 2
Failure Reason: The device's data is no longer present at /Users/kimjunho/Library/Developer/CoreSimulator/Devices/DA5639F7-A1A8-4471-949D-42F6CF8A4875/data.
Recovery Suggestion: Use the device manager in Xcode or the simctl command line tool to either delete the device properly or erase contents and settings.
User Info: {
    DVTErrorCreationDateKey = "2023-09-20 07:50:21 +0000";
    IDERunOperationFailingWorker = "_IDEInstalliPhoneSimulatorWorker";
}
--

Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : {
    "device_model" = "iPhone16,2";
    "device_osBuild" = "17.0 (21A328)";
    "device_platform" = "com.apple.platform.iphonesimulator";
    "dvt_coredevice_version" = "348.1";
    "dvt_mobiledevice_version" = "1643.2.4";
    "launchSession_schemeCommand" = Run;
    "launchSession_state" = 1;
    "launchSession_targetArch" = arm64;
    "operation_duration_ms" = 22;
    "operation_errorCode" = 2;
    "operation_errorDomain" = NSPOSIXErrorDomain;
    "operation_errorWorker" = "_IDEInstalliPhoneSimulatorWorker";
    "operation_name" = IDERunOperationWorkerGroup;
    "param_debugger_attachToExtensions" = 0;
    "param_debugger_attachToXPC" = 1;
    "param_debugger_type" = 3;
    "param_destination_isProxy" = 0;
    "param_destination_platform" = "com.apple.platform.iphonesimulator";
    "param_diag_MainThreadChecker_stopOnIssue" = 0;
    "param_diag_MallocStackLogging_enableDuringAttach" = 0;
    "param_diag_MallocStackLogging_enableForXPC" = 1;
    "param_diag_allowLocationSimulation" = 1;
    "param_diag_checker_tpc_enable" = 1;
    "param_diag_gpu_frameCapture_enable" = 0;
    "param_diag_gpu_shaderValidation_enable" = 0;
    "param_diag_gpu_validation_enable" = 0;
    "param_diag_memoryGraphOnResourceException" = 0;
    "param_diag_queueDebugging_enable" = 1;
    "param_diag_runtimeProfile_generate" = 0;
    "param_diag_sanitizer_asan_enable" = 0;
    "param_diag_sanitizer_tsan_enable" = 0;
    "param_diag_sanitizer_tsan_stopOnIssue" = 0;
    "param_diag_sanitizer_ubsan_stopOnIssue" = 0;
    "param_diag_showNonLocalizedStrings" = 0;
    "param_diag_viewDebugging_enabled" = 1;
    "param_diag_viewDebugging_insertDylibOnLaunch" = 1;
    "param_install_style" = 0;
    "param_launcher_UID" = 2;
    "param_launcher_allowDeviceSensorReplayData" = 0;
    "param_launcher_kind" = 0;
    "param_launcher_style" = 0;
    "param_launcher_substyle" = 0;
    "param_runnable_appExtensionHostRunMode" = 0;
    "param_runnable_productType" = "com.apple.product-type.application";
    "param_structuredConsoleMode" = 1;
    "param_testing_launchedForTesting" = 0;
    "param_testing_suppressSimulatorApp" = 0;
    "param_testing_usingCLI" = 0;
    "sdk_canonicalName" = "iphonesimulator17.0";
    "sdk_osVersion" = "17.0";
    "sdk_variant" = iphonesimulator;
}
--


System Information

macOS Version 13.5.2 (Build 22G91)
Xcode 15.0 (22265) (Build 15A240d)
Timestamp: 2023-09-20T16:50:21+09:00

 

 

해결 과정

1. 에러의 내용대로 DT_TOOLCHAIN_DIR > TOOLCHAIN_DIR로 변경

 

vscode로 모든 파일 검색후에 한번에 바꾸었다.

 

또한 vscode로 파일 서치가 안되는 firebaseAnalytics는 xcode를 열어서 변경하였다.

 

2. 다시 빌딩 후의 에러

더보기
Error (Xcode): type argument 'nw_proxy_config_t' (aka 'struct nw_proxy_config *') is neither an Objective-C object nor a block type /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h:119:46
Could not build the application for the simulator.
Error launching application on iPhone 15 Pro Max.

xcode 15버전 그리고 ios 17.0버전에서 일어나는 에러인것같다.

( 블로깅을 위해 다시 해봤을때 해당 버전에서 에러가 재현되서 이런 원인으로 추측)

- 솔루션 ( 아래에 링크에 해결 방법이 나와있습니다. )

https://github.com/pichillilorenzo/flutter_inappwebview/issues/1735#issuecomment-1683434110

 

Cannot build on latest xcode 15 b5 for ios 17 · Issue #1735 · pichillilorenzo/flutter_inappwebview

I have read the Getting Started section I have already searched for the same problem Environment Technology Version Flutter version 3.7.12 Plugin version 6.0.0 b24 Android version iOS version 17.0 ...

github.com

 

에러가 아래와 같거나 비슷하게 나올 건데

Failed to build iOS app
Error (Xcode): type argument 'nw_proxy_config_t' (aka 'struct nw_proxy_config *') is neither an Objective-C object nor a block
type
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h:116:46

Parse Issue (Xcode): Could not build module 'WebKit'
/build/ios/Release-iphoneos/flutter_inappwebview/flutter_inappwebview.framework/Headers
/flutter_inappwebview-Swift.h:286:8

 

WKWebsiteDataStore.h 내용을 수정하면 된다고 한다.

더보기

Remember guys that every new xcode build (like latest beta 8) you have to made this change again.
I recommend workaround 2, because its working each time.
so Line 113 of file /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h

Change from:
   || ((TARGET_OS_IOS || TARGET_OS_MACCATALYST) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 170000) \
to:
   || ((TARGET_OS_IOS || TARGET_OS_MACCATALYST) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000) \

 

 

중요한것은 텍스트 편집기로 수정할것  sudo로 해도 안됨.

 

해당 디렉토리까지 접근한 후에 

 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/

open . 으로 열기

open .

 

그 다음 아래처럼 텍스트 편집기로 열어서 수정하면되는데

 

 

텍스트를 지우거나 혹은 입력하면 아래와 같은 문장이 나온다

 

 

우선 접근하기 편한 경로에 저장한 후에 드래그앤드롭으로 파일을 바꿔치기 하면 끝

 

그다음 다시 프로젝트를 실행하면 동작한다.

 

 

 

 

728x90

댓글