Xcode 6 Beta 4에서 앱을 실행하는 경우“볼 수있는 권한이 없기 때문에“MyApp.app”파일을 열 수 없습니다”


273

Xcode 6 Beta 4에서 앱을 실행하려고 할 때마다 오류가 발생합니다.

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

이 오류는 대상 시뮬레이터 나 장치에 관계없이 나타납니다.

나는 시도했다 :

  • Xcode의 오거나이저에서 파생 된 모든 데이터 삭제
  • 내 드라이브에 대한 권한 복구
  • 빌드 된 MyApp.app의 권한을 수동으로 높이기
  • 내 컴퓨터를 다시 시작

다른 사람 이이 문제에 부딪 치고 해결책을 찾았습니까?

스크린 샷


1
XCode 6.1과 동일한 문제가 발생합니다. 처음에는 문제가 시뮬레이터에서만 발생했습니다.이 게시물의 일부 리드를 따른 후 대상 전화를 실행할 때도 동일한 오류가 발생합니다.
Bamaco

1
@YuAn 솔루션을 따랐습니다. 시뮬레이터에서 잘 작동합니다. 감사하지만 장치에서 빌드하려고 할 때 여전히 '보기 권한이 없습니다'라는 메시지가 나타납니다. xcode의 products 디렉토리와 파생 데이터 디렉토리에있는 myapp.app 파일은 파생 데이터의 컨텐츠를 삭제 한 후 빌드를 시도한 후에도 차단 된 것으로 표시됩니다.
Srinivasan N

4
이 문제를 유발하는 또 다른 (멍청한) 방법 : 소스 파일이없고 리소스 만있는 앱을 컴파일하십시오. 내가 아는 방법을 묻지 마십시오. :)
Krumelur

4
제품> 청소 나를 위해이 문제를 해결
mazorati

내 경우에는 이것들 중 아무것도 작동하지 않았다!! Xcode에서 pilst 파일을 삭제하고 다시 프로젝트에 연결하면 매력처럼 작동합니다! 당신을 도와주세요!
Ravi

답변:


252

Xcode6 GM을 사용합니다. 같은 문제가 발생했습니다. 내가 한 것은 빌드 설정-> 빌드 옵션으로 이동하는 것입니다. 그런 다음 "C / C ++ / Objective-C 용 컴파일러"의 값을 기본 컴파일러로 변경했습니다.여기에 이미지 설명을 입력하십시오


146

DEVICE에도 문제가 있습니까 (시뮬레이터뿐만 아니라)?


다른 솔루션은 장치가 아닌 시뮬레이터에서만 나를 고쳤습니다.

나 에게이 문제는 (Xcode 6에서) 내 app.plist 속성을 변경하려고 할 때 내 앱 이름을 변경 하려고 할 때 발생했습니다 .

에서 의 Info.plist 나는 변경했다 Executable File기본 이외의 다른 이름을 ${EXECUTABLE_NAME}...

스프링 보드의 아이콘 아래에서 앱 이름을 변경하는 필드 로이 필드를 잘못 생각했습니다.


10
내 경우에는 이것이 효과가있었습니다. 감사합니다. 내 <appname> -Info.plist 파일에서 다른 유사한 필드를 변경하고 제안한대로 실행 파일을 $ {EXECUTABLE_NAME} (으)로 다시 변경하면 빌드 및 실행됩니다.
Slowburner

Thanks..Same 내 사건이었다
발라 비슈누

많은 @Albert Renshaw에게 감사드립니다. 당신은 내 문제를 해결했습니다. 지난 이틀부터 그 해결책을 찾고 있습니다.
Nilesh Kikani

같은 문제, 필드 이름은 아이콘 아래에 이름을 변경하기위한 "번들 표시 이름"
WebOrCode

1
이로 인해 내 솔루션으로 연결되었습니다.이 코드는 외부 라이브러리의 소스를 코드에 포함시키고 Info.plist를 자산 그룹 폴더에 넣었을 때 추가 Info.plist를 얻었습니다. 추가 Info.plist를 제거하면 문제가 해결되었습니다.
chadbag

145

Xcode에서 다음을 수행하십시오.

파생 데이터의 창-> 구성자-> 프로젝트-> 이슈가있는 앱-> 삭제 버튼.

그런 다음 프로젝트와 짜잔을 청소했습니다.

공장


@YuAn 솔루션을 따랐습니다. 시뮬레이터에서는 잘 작동하지만 장치에서 빌드하려고 할 때 여전히 '보기 권한이 없습니다'라는 메시지가 나타납니다. xcode의 products 디렉토리와 파생 데이터 디렉토리에있는 myapp.app 파일은 파생 데이터의 컨텐츠를 삭제 한 후 빌드를 시도한 후에도 차단 된 것으로 표시됩니다. 어떤 생각이 잘못 되었습니까?
Srinivasan N

이것은 나를 위해 일했지만 계속 일어나고 있습니다. 시뮬레이터에서 앱을 실행하려고 할 때마다 파생 된 데이터를 계속 삭제할 수 없습니다.
zumzum

나는 도움이 이해할 수있을 것이다 .. 같은 문제가 다양한 솔루션을 시도했지만 나를 위해 일하지 않았다 직면하고있다
Giriraj.Mulay


45

빌드 폴더를 정리하여 수정했습니다. '제품'메뉴로 이동 한 후 Option + 클릭하여 '청소'를 클릭하십시오. 그 후 문제가 해결되었습니다.


30

프로젝트의 Info.plist에 문제가있었습니다. Xcode 6 베타 4에서 동일한 이름의 새 프로젝트를 만든 다음 실제 프로젝트의 Info.plist를 새 프로젝트로 바꿨습니다. 그런 다음 프로젝트는 잘 구축되고 실행되었습니다.

diff를보십시오. plist가 어떻게 든 놀이터의 plist와 섞여있는 것처럼 보입니다. 번들 식별자는 "com.apple.dt.playground.iOS-18300-13"이고 실행 파일과 번들 이름은 다른 이상한 점과 함께 "iOS"였습니다.

누군가가 참조 할 필요가있는 경우 전체 diff입니다.

        <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>

네, 비슷한 문제가있었습니다. Info.plist 파일은 이진 파일 형식이었습니다. 그것을 변환했다
Luca Torella

28

Xcode 8.2 에서이 오류가 동일했습니다. 내가 알게 된 또 다른 Info.plist 는 가 라이브러리에 추가하는 동안 프로젝트에 추가됩니다 (수동으로 복사).

Xcode가 올바른 Info.plist 를 선택하는 데 혼란을 겪고 있습니다.

추가 된 라이브러리에서 해당 Info.plist를 제거했습니다.

그런 다음 권한 경고없이 정상적으로 작동합니다.


또한 FRAMEWORK_NAME_HEREInfo.plist에 Info.plist 파일의 이름을 변경할 수 있습니다
제레미 켈러허에게

다른 프로 제트에서 복사 한 동일
Firas Shrourou

이것이 바로 내 문제였습니다. 빠른 파일의 다른 폴더를 추가했으며 거기에 plist 파일이 있습니다. plist 파일을 삭제했는데 모두 정상입니다. 감사합니다!
Lkabo

17

실행 파일 => $ (EXECUTABLE_NAME)을 다른 이름으로 변경했는지 확인하십시오. 이 이름을 변경하면이 오류가 표시됩니다. $ (EXECUTABLE_NAME)으로 바꾸십시오.


예, 앱 이름을 변경하려고 할 때 나에게 일어났습니다. 시즌 개발자는, 그래서 그냥 무심히 PLIST에 가서 내가 "번들 이름"으로 변경하는 것을 의미 현실에서 "실행 파일"로 변경
MobileMon

이것은 나를 위해 그것을 고쳤다. 프로젝트 이름을 바꾼 후에 발생했습니다. 감사.
emiliomarin

14

제품-> 청소 (명령 시프트 K)가 나를 위해 수정했습니다.


때로는 간단한 해결책이 효과가 있다는 것을 잘 기억하십시오.
Pescolly

Xcode 7.2.1에서 깨끗하고 Xcode를 다시 시작해야했습니다. 청소 만해도 빌드를 시도하지 않고 "알 수없는 오류"가 발생했습니다.
Tommy

13

이럴 수가!! 이 문제를 해결하기 위해 몇 시간을 보냈습니다.

엑스 코드 7.3 나는 문제없이 프로젝트를 가지고 있었다.

내가 한 실수

방금 실제 폴더를 추가하고 파일을 폴더로 옮겼습니다. 문제가 시작되었습니다.

나는 모든 것을 시도했다

  • 기본 컴파일러
  • 청소 및 구축
  • 시뮬레이터 재설정 및 시뮬레이터, Xcode, iPhone 심지어 Mac 재부팅
  • 업데이트 된 Info.plist
  • 파생 데이터 삭제
  • 프로젝트 폴더에 대한 권한 편집
  • 내 아키텍처 확인

아무것도 효과가 없었습니다 :(

어떻게 해결

나는 새 프로젝트를 만들려고 했는데 추가 한 실제 폴더 , 깨끗한 빌드 및 YESS를 삭제했습니다!

효과가있다!!

여기에 이미지 설명을 입력하십시오


1
네, 이것도 저를위한 것이 었습니다.
yeahdixon

이것은 나를 도왔다. 그러나 폴더 참조를 사용할 수 있다고 생각했습니다. 이상한.
user1105951

13

"cmd + shift + k"를 사용하여 프로젝트를 정리하고 다시 빌드하십시오. 적어도 그것은 나를 위해 일했다


11

샘플 코드 다운로드와 비슷한 문제 (xCode 6.2)가있었습니다. 나는 세트에 시도 Executable NameDefault in Info.plist 작동하지 않았습니다.

대신 프로젝트 의 지원되지 않는 컴파일러 (com.apple.compilers.llvmgcc42) 대신 C / C ++ / Objective-C 용 컴파일러기본 컴파일러 (Apple LLVM 6.0)로 변경하십시오 .

스크린 샷


@iOSRocks : 친구 환영합니다!
Jayprakash Dubey

10

1) 먼저 빌드 옵션으로 이동하십시오.

2) 그런 다음 "C / C ++ / Objective-C 용 컴파일러"의 값을 기본 컴파일러로 변경했습니다.

깨끗하고 작동 :-)


1
이를 정리하려면 : 1. 빌드 설정으로 이동 ( 모두 선택 및 결합 ) 2. 빌드 옵션 검색 3. C / C ++ / Objective-C 용 컴파일러
nburk

사람들이이 최고 등급의 답변을 복사 한 이유는 무엇입니까?
Kiran

10

때때로 새 버전 Xcode에서 이전 프로젝트를 열면이 메시지가 나타납니다.

이슈 탐색기로 이동하여 '다시 재구성 된 설정에 업데이트'경고 힌트를 따릅니다.

붐, 마술!


10

빌드 옵션에서 컴파일러를 LLVM 6.0으로 변경하면 충분하다는 것을 알았습니다 (xcode 6.1)

여기에 이미지 설명을 입력하십시오


10

4 년 전에 커밋 된 gitHub에서 다운로드 한 프로젝트에 대해 Xcode 6.1.1 에서 동일한 오류가 발생했습니다 . 나를 위해 아키텍처 를 기본값 표준 아키텍처 (armv7, arm64)로 설정 하고 C / C ++ / Objective-C 용 컴파일러를 건물 설정의 기본 컴파일러로 설정 했습니다.


9

최근 Xcode 6.0.1에서 이전 프로젝트 (Xcode 4.x에서 생성)를 실행하는 것과 동일한 문제가 발생합니다.

Building SettingsArchitectures 를 기본값 인 " Standard architectures (armv7, arm64) " 로 변경하여 문제를 해결했습니다 .

이것이 비슷한 문제가있는 사람을 도울 수 있기를 바랍니다. :)


이 답변은 올바른 것입니다. @drewag
Fede Cugliandolo

이 암호 오류 메시지 뒤에 다른 문제가있는 것처럼 보입니다. 어쨌든 이것은 XCode 6.1로 내 ptoblem을 해결 한 것입니다.
Fabio Napodano

9

나는 찬장에서 나가 업데이트 할 많은 오래된 프로젝트 에서이 오류가 발생했습니다. 오래된 코드와 함께 Xcode 6을 사용하면 어떤 이유로이 문제가 발생하는 것으로 보입니다.

나는이 작업을 수행 한 모든 프로젝트 에서이 문제를 해결했습니다.

  1. 파생 데이터 삭제
  2. 제품 : 깨끗한을
  3. 프로젝트 대상에서 빌드 설정으로 이동하고 빌드 옵션으로 이동하여 "C / C ++ / Objective-C 용 컴파일러 " 의 을 ' 기본 컴파일러 '로 변경하십시오.

9

내 프로젝트에서 같은 문제가있었습니다. 나중에 프로젝트에 사용 된 타사 ( SQLite의 경우 fmdb ) 파일에 Info.plist가 포함 되어 있음을 발견했습니다 .

단순히 Info.plist 파일을 삭제하면 나를 위해 일했습니다!

Info.plist


나도 일했다.
mkll

9

내 응용 프로그램은 XCode 9.4에서 제대로 작동했지만 XCode 10에서 프로젝트를 열 때이 문제가 발생했습니다. 나에게 문제는 빌드 설정이었습니다. 이 페이지에서 답을 찾았습니다 https://forums.developer.apple.com/thread/112141 .

간단히 말해서 파일> 작업 공간 설정…> 빌드 시스템으로 이동하여 "레거시 빌드 시스템"으로 변경하십시오.


8

내 경우에는 프로젝트 이름과 동일한 Bundle NameExecutable file값의 이름을 바꿉니다 info.plist. 그것은 나를 위해 일했다.


8

나열된 답변을 모두 시도했지만 그중 아무것도 유용하지 않았습니다. 문제는 코코아 포드를 통해 서브 모듈과 연결된 다른 plist 파일이 존재했기 때문입니다. 운 좋게도 이것은 내 자신의 모듈이므로 하위 모듈 프로젝트 에서이 plist를 삭제하고 포드를 다시 설치했습니다.

해결책

나중에 나는 문제의 핵심이 두 번째 plist의 이름이라는 것을 이해했다 info.plist. 파일 이름을 바꾸고sources 하위 모듈 섹션을

두 번째 plist 파일은 고유 한 이름을 가지므로 Xcode는 좌절하지 않아야했습니다. 내 목표 설정조차도 메인 plist가 아닌info.plist . Xcode가 그 이름에 대해 특별한 고려를하는 것처럼 보입니다.

Xcode 6.4Xcode 7.0 에서 재현 된 버그


나에게도 비슷한 일이 일어났다. 내 Info.plist가 올바르게 구성되지 않았으므로 XCode는 Info.plist프로젝트 폴더에서 처음 으로 발견되었으며 관련이없는 종속성에 속했습니다.
Ohad Schneider

고마워, 당신은 나에게 무의미한 Xcode debuggin의 시간을 절약했다 '
Alex

6

나는 비슷한 문제가 있었다. 어떻게 든 핵심 실행 파일에 대한 나의 가치가 혼란스러워졌습니다. $ {EXECUTABLE_NAME} (프로젝트> 정보)으로 다시 변경하십시오. 나를 위해 일했다!


1
한 가지 주목할 점은 광산이 $ (EXECUTABLE_NAME)으로 설정되어 있고 $ {EXECUTABLE_NAME} (으)로 업데이트하면 문제가 해결되었다는 것입니다.
Eric

5

문제가 관련되어 있는지 모르지만 아마도 나 같은 머리카락을 당기는 사람에게는 해결책이 될 수 있습니다.

제 경우에는 많은 목표를 가진 프로젝트가 있습니다. 각 대상은 기본 프로젝트 인 a Cocoa Touch Static Library및 대상 Applications입니다. main파일이 라이브러리 컴파일에 추가되었지만 각 대상이 아닌 경우에도 해당 오류 메시지가 나타납니다. 내가 무엇을 했습니까? 섹션과 빙고 main의 각 대상에 파일을 수동으로 추가했습니다 Compile Sources.


고마워요, 이것은 많은 도움이되었습니다.
JakeP

5

나에게 오류는 키의 .plist 파일에 CFBundleExecutable있었습니다. 두 단어 사이의 공백을 제거하여 실행 파일의 이름을 바꿨습니다. (예 : "Wild Racer"에서 "WildRacer"로) 그것을 발견하기 위해 1 일 걸렸다!!

Xcode는 디버깅에 도움이되지 않습니다!


4

필자의 경우 main (...) 함수를 포함하는 main.m이 "빌드 단계"의 "컴파일 소스"목록에 포함되지 않았습니다. 이런 경우인지 확인하려면 Build Phases에 들어가서 main.m이 "Compile Sources"목록에 나타나는지 확인하십시오.


1
나는 당신이 이것을 어떻게 발견했는지 모른다. 그리고 그것은 내 정확한 문제는 아니지만 솔루션으로 이어진다.
Ri_

3

나를 위해 해결 한 것은 Build Active Architecture OnlyNo 에서 Yes 로 설정하는 것이 었습니다 .


3

X 코드 6.3.2 사용

[빌드 설정] 옵션. [모두]-[빌드 옵션]-[C / C ++ / Objective-C 용 컴파일러]-[기본 컴파일러 (Apple LLVM 6.1)]

그런 다음 프로젝트를 다시 빌드하면 정상적으로 실행됩니다.


2

필자의 경우 Xcode를 닫고 디스크 유틸리티로 권한을 복구하는 데 도움이되었습니다. 재부팅 후에 만 매력처럼 작동했습니다.


오늘 OSX를 업그레이드 한 후이 문제가 발생했습니다. 이것은 1 분 안에 정렬되었습니다.
tonyedwardspz

2

오늘 아침 에도이 문제에 직면 했으므로 답변이 도움이되지 않았습니다. 그리고 몇 시간 동안 노력한 후에 나는 문제를 알아 냈습니다.

실제로 실수로 스토리 보드에서 작업하는 동안 방금 " Main.storyboard "의 이름 을 " .storyboard "로 바꾸고 " Main.storyboard "로 다시 변경하면 문제가 해결되었습니다.

해결책 (내 문제에 따라) : xcode에서로드 할 수 없어 문제가 발생한 파일의 이름을 변경했을 수 있습니다. 예를 들어, 위에서 언급 한 것처럼 ' 실행 파일 "이름
가능한 경우 영역 : 작업중인 마지막 파일 일 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.