`po`는`error : : 1 : 1 : 오류 : 해결되지 않은 식별자 사용`
po
함수를 출력하려고 시도하는 것이 자체적으로 작동하지만 변수 또는 상수를 출력하지 않는 콘솔 에서이 문제가 있습니다.
여기에서 볼 수 있듯이 var / let이의 내용을 보유하고 있다고 생각하지만 bar.boy()
Swift는 어떻게 든 찾을 수 없습니다.
따라서 과거에 Swift 파일을 추가 할 때 Bridging 헤더를 추가 / 요청하는 버그가 있었을 가능성이 있지만 프로젝트에 해당 줄을 추가하지는 않습니다.
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
이것은 당신이이 상태에 머물 것이라는 것을 의미합니다
결과 error: <EXPR>:1:1: error: use of unresolved identifier
!
내 프로젝트에서 파일을 이동하고 ObjC 파일을 프로젝트에 추가했을 때 Bridging 헤더에 대해 물었고 (이미 가지고 있었지만!) 운 좋게도 SWIFT_OPTIMIZATION_LEVEL
. 이것은 기본값이라고 생각하는 버그라고 생각할 수 fastest
있지만 다시 한 번 이것은 과거의 버그였으며 지금 수정되었습니다.
그래도 none
릴리스 빌드에 추가하면 다른 방향으로 버그가 될 수 있습니다 . 나는 이것을 테스트하기 위해 Debug
빌드 만 있었기 때문에 지금 테스트 할 수 없습니다 . 나는 그것을 애플 엔지니어들을위한 연습으로 남겨 둘 것이다.
내가 설정 스위프트 컴파일러를 "-O"에
SWIFT_OPTIMIZATION_LEVEL = "-O";
다시 "-Onone"으로 설정합니다.
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
그런 다음 작동합니다.
버그는 foo
컴파일 중에 최적화되었으며 컴파일 된 코드에 심볼이 더 이상 존재하지 않기 때문이라고 확신합니다 (디버그에 없어야하고 여전히 LLDB 버그 인 경우에도).
아마도 foo
다음 줄 (심지어 println)에 사용을 추가하면 해당 기호가 IR에 유지되기를 바라며 다음 작업을 수행 할 수 있습니다.po foo
(나는 그것이 여전히 버그라는 데 동의하지만 적어도 작동한다면 해결 방법과 약간의 설명 감각이있을 것입니다)
설정 후 수정 :
Optimization Level = None[-Onone]
아래 스위프트 컴파일러 - 코드 생성
해당 설정 주 Optimization Level
에서 애플 LLVM 8.0 - 코드 생성은 효과가 없습니다
비슷한 문제가 발생했지만 이미 올바른 구성이 있고 모든 최적화가 None
. 그러나 나는 여전히 어떤 가치도 얻지 못했습니다.
좀 더 자세히 조사한 후 Xcode가 유형을 해결할 수 없기 때문에 문제가 발생했음을 알았습니다.
(lldb) frame variable self
<could not resolve type>
그로 인해 문제가 설명되고 브리징 헤더가 문제를 일으키는 것처럼 보이는 xcode 8 Debugger 'Could not resolve type'이라는 질문이 생겼 습니다.
내 프로젝트에 브리징 헤더가없는 상태에서 빌드 설정을 다시 한 번 연구하고이 설정을 찾았습니다.
이것은 초기에로 설정되었습니다 YES
. 그것을 NO
기호로 변경하면 다시 작동합니다.
SWIFT_INSTALL_OBJC_HEADER = NO
프로젝트에서 Swift를 사용하는 경우 프로젝트 / 타겟 구성에 두 개의 개별 "최적화 수준"설정이 있습니다. "SWIFT_OPTIMIZATION_LEVEL"뿐만이 아닙니다. 이 링크를 확인하십시오 : https://stackoverflow.com/a/32984193/2060180
누군가에게 유용 할 수 있도록 여기에 두겠습니다.
'code' 카테고리의 다른 글
"#! / bin / env"는 무엇을 의미합니까 (node.js 스크립트 맨 위에 있음)? (0) | 2021.01.08 |
---|---|
unique_ptr을 기본 클래스로 가져 오는 함수에 대한 인수로 파생 클래스에 대한 unique_ptr (0) | 2021.01.08 |
지연된 실행을 위해 Thread.Sleep 및 Timer 사용 비교 (0) | 2021.01.08 |
너겟 패키지 종속성 계층보기 (0) | 2021.01.08 |
SpringData JPA Repository에서 save () 후에 반환 된 인스턴스를 사용하는 이유는 무엇입니까? (0) | 2021.01.08 |