code

`po`는`error :

codestyles 2021. 1. 8. 08:14
반응형

`po`는`error : : 1 : 1 : 오류 : 해결되지 않은 식별자 사용`


po함수를 출력하려고 시도하는 것이 자체적으로 작동하지만 변수 또는 상수를 출력하지 않는 콘솔 에서이 문제가 있습니다.

첫 번째 결과는 <code> po bar.boy () </ code>이고 두 번째 결과는 <code> unresolved </ code>입니다.

여기에서 볼 수 있듯이 var / let이의 내용을 보유하고 있다고 생각하지만 bar.boy()Swift는 어떻게 든 찾을 수 없습니다.


따라서 과거에 Swift 파일을 추가 할 때 Bridging 헤더를 추가 / 요청하는 버그가 있었을 가능성이 있지만 프로젝트에 해당 줄을 추가하지는 않습니다.

SWIFT_OPTIMIZATION_LEVEL = "-Onone";

이것은 당신이이 상태에 머물 것이라는 것을 의미합니다

SWIFT_OPTIMIZATION_LEVEL 가장 빠름

결과 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'이라는 질문이 생겼 습니다.

내 프로젝트에 브리징 헤더가없는 상태에서 빌드 설정을 다시 한 번 연구하고이 설정을 찾았습니다.

설정 [1]

이것은 초기에로 설정되었습니다 YES. 그것을 NO기호로 변경하면 다시 작동합니다.

SWIFT_INSTALL_OBJC_HEADER = NO


프로젝트에서 Swift를 사용하는 경우 프로젝트 / 타겟 구성에 두 개의 개별 "최적화 수준"설정이 있습니다. "SWIFT_OPTIMIZATION_LEVEL"뿐만이 아닙니다. 이 링크를 확인하십시오 : https://stackoverflow.com/a/32984193/2060180

누군가에게 유용 할 수 있도록 여기에 두겠습니다.

참조 URL : https://stackoverflow.com/questions/28497533/po-gives-error-expr11-error-use-of-unresolved-identifier

반응형