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

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

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

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

나는 시도했다 :

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

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

스크린 샷



답변

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


답변

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


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

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

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

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


답변

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

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

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

공장


답변

나를 위해 간단한 제품-> 청소 훌륭하게 작동했습니다.


답변

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


답변

프로젝트의 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>


답변

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

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

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

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