[ios] Xcode가 하드웨어에서 프로젝트 실행을 갑자기 중단했습니다. “xxx.app을 시작할 수 없습니다 : .. 해당 파일이 없습니다.”

Xcode가 내 앱을 실행할 수 없게했으며 장치에서 앱을 삭제 한 후 바로 시작하여 Xcode에서 다시 실행하여 다시 설치하려고 시도했습니다 (수백 번 전에 수행 한 작업).

그것은 말한다

“XXX.app을 (를) 시작할 수 없습니다”

“이러한 파일이나 디렉토리가 없습니다 (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp).”

전화를 재부팅하고 Xcode를 다시 시작하고 모든 것을 청소하고 모든 것을 다시 작성했습니다. 이 오류 메시지는 사라지지 않습니다.

이것은 Xcode 4.5에서 사용할 수있게되었으므로 사용했습니다. 4.3.2로 되 돌리면 Xcode에 “Finished running app”이 표시되지만 실제로는 아무것도하지 않습니다. 앱이 설치되거나 실행되지 않습니다.

나는 완전히 붙어있어 더 이상 장치에서 아무것도 실행할 수 없습니다.

어떤 제안?



답변

정말 성가신 일입니다. 이 오류는 여러 가지 다른 상황에서 발생합니다. 때때로 Xcode를 다시 시작하면 문제가 해결됩니다. 그렇지 않은 경우 다음 단계를 수행하십시오.

장치를 분리하십시오.

기기에서 앱을 삭제합니다.

Xcode를 종료하십시오 (단지 창을 닫고 종료하지 마십시오)

파생 데이터 폴더 삭제 ( ~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp또는 이와 유사한 것)

이제 Xcode를 다시 시작하고 장치를 연결하고 프로젝트를 실행하십시오. 잘 작동합니다.

DhilipSiva 블로그에서


답변

-Info.plist 파일에서 “필수 장치 기능”을 삭제하십시오.

3G에서는 armv7을 요구할 수 없으며 최신 장치에서는 armv6을 요구할 수 없으므로이 속성을 완전히 삭제하면됩니다.


답변

답을 찾았습니다. iOS 배포 대상 버전이 기기의 OS 버전과 다릅니다.


답변

먼저 info.plists를 사용하여 위의 일부를 시도하고 파생 데이터를 삭제하거나 정리하는 등

내 해결책 : XCode를 종료하고 프로젝트를 다시여십시오. Finder에서 파생 된 데이터로 이동하십시오. 모든 프로젝트의 데이터를 삭제했습니다 (모두 휴지통에 넣을 수 있었지만 문제가있는 프로젝트 데이터를 먼저 삭제하려고합니다). 그리고 다시 작동했습니다. XCode에서 파생 데이터를 삭제하지 못했습니다.


답변

다음은 내 문제를 해결했습니다 … 내 앱이 디버그 / 릴리스에서 나를 위해 일한 다음 몇 가지 임시 아카이브를 빌드하고 디버그 / 릴리스 빌드가 작동을 멈췄습니다.

조짐:

  • Xcode에서 장치로 시작할 때 잘못된 권한 오류 (권한으로 재생 …)
  • 시뮬레이터를 실행할 때 오류가없는 즉시 중단 (완료된 실행)
  • Xcode에서 장치로 실행할 때 … blabla … / build / product / debug-iphoneos / … 디렉토리를 시작할 수 없습니다.

결국 대상 [AppName]에서 찾은 다른 사람의 고통으로부터 이익을 얻으려고 노력한 후 :

Build Settings
Build Locations
Build Products Path build

해야한다

Build Products Path build/Products

이것이 어떻게 잘못 설정되었는지 모릅니다. ‘제품’이 Xcode와 장치 콘솔 모두에 나타나기 때문에 Xcode / Springboard 어딘가에 하드 코딩되어 있어야합니다. 이것은 Xcode 4.5.1입니다.

빌드 / 제품을 설정할 위치를위한 스크린 샷


답변

나는이 문제를 해결했다.

내 XCode 프로젝트 위의 디렉토리 이름 바꾸기

프로젝트 이름을 변경하면 XCode나를 위해 고정되었습니다.

에서이 XCode프로젝트 네비게이터에서 프로젝트 이름을 클릭하고 방금 파인더에서 파일과 같은 이름을 바꿀 수 있도록해야한다. 파생 데이터를 삭제해도 도움이되지 않았습니다.


답변

CMake를 사용하여 XCode 프로젝트를 빌드했으며 info.plist에서 “Executable file”속성을 삭제하거나 비 웠습니다. 다시 $ {EXECUTABLE_NAME} (으)로 설정 한 후 다시 작동했습니다.

마침내 그 문제를 발견 할 때까지 모든 제안과 수정을 통해 많은 시간을 보냈습니다.

이것이 동일한 문제로 어려움을 겪고있는 사람을 도울 수 있기를 바랍니다.

편집하다:

CMake가 plist 파일을 엉망으로 만들었습니다. 내 Info.plist를 만들고 다음과 같이 사용했습니다.

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

내 plist 안에 다음과 같은 항목이 있습니다.

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

불행히도 CMake는 여전히 해당 파일을 구문 분석하고 CMake 변수 구문 이후 $ {EXECUTABLE_NAME}을 빈 문자열로 바꿨습니다. 내 빠른 해결 방법은 다음과 같습니다.

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

이제는 매력처럼 작동합니다.

나는 아마도이 문제로 혼자 있을지 모르지만 누가 알 수 있습니다.