Xcode 6 Beta 4에서 앱을 실행할 때 "MyApp.app" 파일을 볼 수 있는 권한이 없기 때문에 열 수 없습니다.
Xcode 6 베타 4에서 앱을 실행하려고 할 때마다 다음과 같은 오류가 발생합니다.
The file "MyApp.app" couldn't be opened because you don't have permission to view it.
이 에러는, 타겟 하는 시뮬레이터나 디바이스에 관계없이 표시됩니다.
시도했습니다.
- Xcode의 Organizer에서 파생된 모든 데이터 삭제
- 드라이브에 대한 사용 권한 복구
- 빌드된 MyApp.app의 사용 권한 수동 상승
- 컴퓨터 재시작
이 문제에 부딪혀 해결책을 찾은 사람이 또 있나요?
Xcode6 GM을 사용하고 있습니다.저도 같은 문제에 부딪혔어요.[ Build Settings ]-> [ Build Options ]으로 이동합니다.그런 다음 "C/C++/Objective-C 컴파일러" 값을 기본 컴파일러로 변경했습니다.
(시뮬레이터뿐만 아니라) DEVICE에서도 문제가 발생하고 있습니까?
다른 솔루션들은 시뮬레이터로만 고쳐줬지 장치가 아니라
이 문제는 (Xcode 6에서) 앱 이름을 변경하면서 메인 info.plist 속성을 변경하려고 할 때 발생했습니다.
info.plist에서 나는 변경되었다.Executable File
이외의 ${EXECUTABLE_NAME}
저는 이 필드를 스프링보드 아이콘 아래에 있는 앱 이름을 변경하는 필드로 착각했습니다.
Xcode에서 다음을 수행합니다.
창 --> 주최자 --> 프로젝트 --> 문제가 있는 앱 --> 파생 데이터 삭제 버튼
그리고 나서 프로젝트를 청소하고는 부라(voila
작동하다
심플한 제품 -> Clean이 잘 작동했습니다.
빌드 폴더를 청소하여 수정했습니다.방금 '제품' 메뉴로 이동하여 옵션 + '청소'를 클릭하십시오.그 후 문제가 해결되었습니다.
프로젝트의 Info.plist에 문제가 있었습니다.Xcode 6 베타 4에서 같은 이름의 프로젝트를 새로 만들고 실제 프로젝트의 Info.plist를 새 프로젝트로 교체했습니다.그 후 프로젝트는 순조롭게 진행되었습니다.
차이를 보세요, 플리스트가 놀이터의 플리스트와 어떻게든 섞인 것 같습니다.번들 식별자는 "com.apple.dt.playground.i"입니다.OS-18300-13"과 실행 파일 및 번들 이름은 "iOS"로 되어 있으며, 기타 이상한 점도 있습니다.
이것은 참조용으로 필요한 사용자가 있는 경우의 완전한 차이입니다.
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
- <string>iOS</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>com.apple.dt.playground.iOS-18300-13</string>
+ <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
- <string>iOS</string>
+ <string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
- <string>AAPL</string>
+ <string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
- <key>CFBundleSupportedPlatforms</key>
- <array>
- <string>iPhoneSimulator</string>
- </array>
+ <key>CFBundleSignature</key>
+ <string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
- <key>DTPlatformName</key>
- <string>iphonesimulator</string>
- <key>DTSDKName</key>
- <string>iphonesimulator8.0</string>
- <key>LSBackgroundOnly</key>
- <true/>
<key>LSRequiresIPhoneOS</key>
<true/>
+ <key>UIMainStoryboardFile</key>
+ <string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
</dict>
</plist>
Xcode 8.2에서도 같은 에러가 발생했습니다.제가 알게 된 이유는 라이브러리(수동복사)를 추가할 때 프로젝트에 다른 Info.plist가 추가되어 있습니다.
따라서 Xcode가 올바른 Info.plist를 선택하는데 혼란스러워지고 있습니다.
추가한 라이브러리에서 Info.plist를 삭제했습니다.
그러면 허가 경고 없이 정상적으로 작동합니다.
실행 파일 => $(EXECUTABLE_NAME)를 다른 이름으로 변경했는지 확인하십시오.이 이름을 변경한 경우 이 오류가 표시됩니다.$(EXECUTABLE_NAME)로 대체하십시오.
제품 -> 청소(명령어 시프트 K)로 수리
세상에!!나는 이 문제를 해결하기 위해 몇 시간을 소비했다.
XCode 7.3에서는 문제없이 프로젝트를 진행하고 있었습니다.
내가 한 실수
물리적 폴더를 추가하고 파일을 이동하면 문제가 생깁니다.
나는 다 시도해봤어.
- 디폴트 컴파일러
- 청소 및 구축
- 시뮬레이터 리셋 및 재부팅 시뮬레이터, Xcode, iPhone mac까지 지원
- 갱신된 Info.plist
- 파생 데이터 삭제
- 프로젝트 폴더에 대한 사용 권한 편집
- 아키텍처 확인
아무것도 동작하지 않았다:(
해결 방법
새 프로젝트를 만들려다가 추가한 물리 폴더, 클린 빌드 및 YESS를 삭제했습니다!!
됐다!!
"cmd+shift+k"를 사용하여 프로젝트를 정리하고 재구축합니다.적어도 나한테는 먹혔어쨌든
새로운 버전의 Xcode에서 오래된 프로젝트를 열 때 이 메시지가 나타날 수 있습니다.
문제 탐색기로 이동하고 경고 힌트 '재구성된 설정으로 업데이트'를 따르십시오.
쾅, 마법!
샘플 코드 다운로드에 대해서도 같은 문제(xCode 6.2)가 있었습니다.Executable Name
로로 합니다.Default in Info.plist
근데 이거 안 되더라고요.
대신 C/C++/Objective-C용 컴파일러를 Unsupported Compiler(com.apple.compiler.llvmgcc42)가 아닌 기본 컴파일러(Apple LLVM 6.0)로 변경합니다.
어플리케이션은 XCode 9.4에서는 정상적으로 동작하고 있었지만, XCode 10에서 프로젝트를 열었을 때는 이 문제가 발생하고 있었습니다.나에게 문제는 빌드 설정이었다.이 페이지 https://forums.developer.apple.com/thread/112141에서 답을 찾았습니다.
즉, [File]> [ Workspace Settings ]...> [ Build System ]순서대로 선택하여 [Legacy Build System]로 변경합니다.
1) 먼저 빌드 옵션을 선택합니다.
2) 다음으로 "C/C++/Objective-C 컴파일러" 값을 기본 컴파일러로 변경합니다.
청소 및 동작 :-)
빌드 옵션에서 컴파일러를 LLVM 6.0으로 변경하면 충분하다는 것을 알았습니다(xcode 6.1).
4년 전에 gitHub에서 다운로드 받은 프로젝트에 대해 Xcode 6.1.1에서 동일한 오류가 발생하였습니다.저는 빌딩 설정에서 Architectures를 Standard Architectures(armv7, arm64) 디폴트값으로 설정하고 C/C++/Objective-C 컴파일러를 Default Compiler로 설정했습니다.
제 프로젝트에서도 같은 문제가 있었습니다.나중에 프로젝트에서 사용되는 서드파티(SQLite의 경우 fmdb) 파일에 Info.plist가 포함되어 있음을 알게 되었습니다.
Info.plist 파일을 삭제하는 것만으로 충분했습니다!
최근 Xcode 6.0.1에서 오래된 프로젝트(처음에는 Xcode 4.x에서 작성)를 실행하는 경우에도 같은 문제가 발생하였습니다.
Building Settings의 Architectures를 기본값인 "Standard Architectures(armv7, arm64)"로 변경하여 문제를 해결했습니다.
이것이 유사한 문제를 가진 모든 사람에게 도움이 되기를 바랍니다.
이전 프로젝트를 업데이트하기 위해 회의장에서 꺼내는 과정에서 이 오류가 발생했습니다.Xcode 6을 오래된 코드와 함께 사용하면 어떤 이유에서인지 그런 것 같습니다.
이 작업을 수행한 모든 프로젝트에서 다음을 통해 이 문제를 해결했습니다.
- 파생 데이터 삭제
- 제품: 청소하기
- 프로젝트 타겟의 빌드 설정으로 이동하여 빌드 옵션으로 이동하여 "C/C++/Objective-C 컴파일러" 값을 "기본 컴파일러"로 변경합니다.
나열된 모든 답을 시도해 봤지만 소용이 없었습니다.이 문제는 서브모듈에서 누에고치를 경유하여 링크된 다른 플리스트 파일이 존재하기 때문입니다.다행히 이것은 제 전용 모듈이었기 때문에 서브모듈 프로젝트에서 이 플리스트를 삭제하고 팟을 다시 설치했습니다.
해결 방법
의 열쇠가 그 두 번째 것을 . 즉, 간단히 말하면, 그 두 번째 목록의 이름일 뿐이다.단순히info.plist
. 하고 를 할 수 sources
그 두 번째 plist 파일은 독특한 이름을 가지고 있어서 Xcode가 좌절하지 않도록 되어 있었다.심지어 내 타겟 설정도 메인플리스트를 가리키지 않고info.plist
는 그 이름 Xcode에 대해 있는 것
Xcode 6.4 및 Xcode 7.0에서 발생한 버그
에는 그냥 요.Bundle Name
★★★★★★★★★★★★★★★★★」Executable file
의 값info.plist
이치노그것은 나에게 효과가 있었다.
제가 한 일은 다음과 같습니다.
- 프로젝트에서 VALIDARCHS를 삭제했습니다.
- 대상에서 VALIDARCHS를 삭제했습니다.
- Active Architecture Only = YES(디버깅용) 아키텍처 구축
- 표준 아키텍처 $(ARCS_STANDARD)
또한 File -> Project/Workspace Settings == New Build System
Xcode 버전12.0 (12A7209)
저도 비슷한 문제가 있었어요.어떤 이유에서인지 주요 실행 파일에 대한 내 값이 혼동되었습니다.${EXECUTABLE_NAME} (프로젝트 아래 > 정보)로 되돌리기만 하면 됩니다.날 위해 일했다!
이 에러 메시지의 텍스트를 구글로 검색하면, Xcode가 이 에러 메시지와 함께 컴파일된 실행 파일을 실행할 수 없는 것에 대해 StackOverflow, Apple dev 포럼, Reddit 등에 걸쳐 20 스레드를 찾을 수 있습니다.
이러한 스레드에서는, 많은 유저가, 제품명을 프로젝트명에 맞추어 변경, 빌드 단계 옵션의 변경, info.plist가 있는 것, 컴파일러를 Clang에서 또는 Clang에서 변경하는 등, 문제의 해결 방법에 대해 다양한 제안을 하고 있습니다.아마 누군가가 문제를 해결했기 때문에 제안이 선의로 제공되었을 것입니다만, 답변은 매우 다양하기 때문에, 에러 메세지가 범용적인 것은 분명합니다.이 에러는 바이너리에 뭔가 문제가 있는 것 같습니다.실제 텍스트는 무시합니다.권한과 무관할 수 있습니다.
이 오류에 대한 일반적인 해결책은 없습니다.오류 메시지는 완전히 일반적입니다. "bad binary file"을 의미한다고 가정합니다.이 에러를 수신하는 경우의 해결 방법은, 무엇을 하려고 하는지, 무엇이 변경되었는지, 이 에러가 갑자기 발생하는 이유에 따라 다릅니다.이 에러 메세지가 아닌, 고객의 상황을 구글로 검색해 주세요.
제 경우, 그리고 저는 이것이 일반적인 경우라고 생각합니다. 제가 하려고 했던 것은 9년 된 오래된 iOS 프로젝트를 현대 Xcode로 만드는 것이었습니다.해결책은 레거시 빌드 시스템으로 전환하는 것이었는데, 이전 프로젝트에는 수동으로 추가하여 수정할 수 있는 최신 아키텍처 대상이 없었기 때문에 컴파일 오류가 발생했습니다.
제 경우, 메인(...) 함수를 포함하는 main.m은 "빌드 단계"의 "컴파일 소스" 목록에 포함되지 않았습니다.이 경우 빌드 단계로 들어가 main.m이 "컴파일 소스" 목록에 표시되는지 확인합니다.
그 문제가 관련이 있는지는 모르겠지만 나처럼 머리를 잡아당기는 사람에게는 해결책이 될 수 있을 것 같아.
저 같은 경우에는 타깃이 많은 프로젝트가 있습니다. of of of which which which which which which which which which which which which which which which which which which which which which which which which which which which which which 를 커스터마이즈한 입니다.Cocoa Touch Static Library
타겟은 '아예'입니다.Applications
. 만약 그 일이main
파일이 라이브러리 컴파일에 추가되지만 각 타겟에는 추가되지 않습니다.래서서 내? ???.main
을 대다Compile Sources
션션랑빙빙빙빙다다다다다
의 ..CFBundleExecutable
두 단어 사이의 공간을 삭제하여 실행 파일의 이름을 변경했습니다(예: "Wild Racer"에서 "Wild Racer"로).★★★★★★★★★★★★★★★★!!
Xcode는 디버깅에 도움이 되지 않습니다!
이 문제를 해결한 것은 액티브 아키텍처만 빌드(Build Active Architecture Only)를 '아니오(No)'에서 '예(Yes)'로 설정하는 것이었습니다.
X 코드 6.3.2의 경우
[빌드 설정] 옵션.[모두] - [빌드 옵션]- [C/C++/Objective-C 컴파일러]- [디폴트 컴파일러 (Apple LLVM 6.1)]
그런 다음 프로젝트를 재구축하면 정상적으로 실행됩니다.
언급URL : https://stackoverflow.com/questions/24924809/the-file-myapp-app-couldnt-be-opened-because-you-dont-have-permission-to-vi
'programing' 카테고리의 다른 글
IF 함수 - 공식을 반복하지 않는 방법이 있습니까? (0) | 2023.04.24 |
---|---|
폴더의 파일 수 (0) | 2023.04.24 |
SQL Server에서의 왼쪽 조인과 왼쪽 외부 조인의 비교 (0) | 2023.04.19 |
C++에서 대소문자를 구분하지 않는 문자열 비교 (0) | 2023.04.19 |
Windows에서 Node.js에서 hello.js 파일을 실행하는 방법 (0) | 2023.04.19 |