"Файл" MyApp.app "не может быть открыт, потому что у вас нет разрешения на его просмотр" при запуске приложения в Xcode 6 Beta 4
Всякий раз, когда я пытаюсь запустить приложение в Xcode 6 Beta 4, я получаю сообщение об ошибке:
The file "MyApp.app" couldn't be opened because you don't have permission to view it.
Эта ошибка появляется независимо от того, на какой тренажер или устройство я нацелен.
Я пробовал:
- Удаление всех полученных данных из организатора в Xcode
- Восстановление разрешений на моем диске
- Вручную добавление разрешений встроенного MyApp.app
- Перезагрузка моего компьютера.
Кто-нибудь еще сталкивается с этой проблемой и находит решение?
![Screenshot]()
Ответы
Ответ 1
Возникла проблема с Info.plist проекта. Я создал новый проект с тем же именем в Xcode 6 beta 4, а затем заменил реальный проект Info.plist новым. Затем проект строился и работал нормально.
Посмотрите на diff, это похоже на то, что 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>
Ответ 2
Я использую Xcode6 GM. Я столкнулся с той же проблемой. То, что я сделал, это перейти в "Настройки сборки" → "Параметры сборки". Затем я изменил значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию. ![enter изображение здесь]()
Ответ 3
В Xcode выполните следующие действия
Окно → Органайзер → Проекты → Приложение с проблемой → кнопка удаления в Производных данных.
Затем я очистил проект и вуаля
работы
Ответ 4
Проблема с УСТРОЙСТВОМ тоже (не только симулятор)?
Другие решения только фиксировали это для меня на симуляторе, а не на устройстве.
Для меня эта проблема возникла (в Xcode 6), когда я попытаюсь изменить основные свойства info.plist, пытаясь изменить имя моего приложения.
В info.plist Я изменил имя Executable File
на нечто иное, чем значение по умолчанию ${EXECUTABLE_NAME}
...
Я ошибался в этом поле для поля, которое меняет имя приложения под значком на трамплине.
Ответ 5
Для меня простой Продукт → Чистый работал отлично
Ответ 6
Я исправил его, очистив папку сборки. Просто перешел в меню "Продукт" и Option + "Очистить". После этого проблема была решена.
Ответ 7
У меня была такая же ошибка в Xcode 8.2. Причина, по которой я узнал для меня, еще один Info.plist добавлен в мой проект при добавлении библиотеки (вручную копировать).
Так что Xcode путается для выбора правильного Info.plist.
Я просто удалил этот Info.plist из добавленной библиотеки.
Затем он работает нормально без предупреждения о разрешении.
Ответ 8
Перейдите к настройкам сборки из целевой цели проекта, затем перейдите в "Параметры сборки", затем измените значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию. Я использую Xcode 6 beta 4, и это сработало и для меня.
Ответ 9
Пожалуйста, проверьте, если вы изменили исполняемый файл = > $(EXECUTABLE_NAME) на любое другое имя. Если вы изменили это имя, оно показывает эту ошибку. Пожалуйста, замените его на $(EXECUTABLE_NAME).
Ответ 10
Продукт → Очистить (командный сдвиг K) зафиксировал его для меня
Ответ 11
Мое добро! Я потратил несколько часов, чтобы решить эту проблему.
В XCode 7.3 У меня был проект без проблем.
Ошибка, которую я сделал
Я только что добавил физические папки и переместил в них файлы, проблема началась.
Я пробовал все
- Компилятор по умолчанию
- Очистить и построить
- Reset симулятор и симулятор перезагрузки, Xcode, iPhone даже mac
- Обновлен Info.plist
- Удаление исходных данных
- Редактирование разрешения в папке проекта
- Проверка моей архитектуры
ничего не получилось: (
Как я решил
Я был о создании нового проекта, а затем я просто удалил эти физические папки Я добавил, чистая сборка и YESS!!
Это работает!!
![введите описание изображения здесь]()
Ответ 12
Попробуйте "cmd + shift + k", чтобы очистить проект и перестроить. По крайней мере, это сработало для меня.
Ответ 13
У меня была аналогичная проблема (xCode 6.2) для загруженного образца кода. Я попытался установить Executable Name
на Default in Info.plist
, но это не сработало.
Вместо этого замените Компилятор для C/С++/Objective-C на Компилятор по умолчанию (Apple LLVM 6.0) вместо Unsupported Compiler (com.apple.compilers.llvmgcc42) для проект.
![Screenshot]()
Ответ 14
1) Сначала выберите варианты сборки.
2) Затем изменилось значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию.
чистая и рабочая: -)
Ответ 15
Иногда открытие старого проекта в новой версии Xcode получит это сообщение.
Перейдите к навигатору проблем и следуйте подсказке "Upate to reconmmeded settings".
Бум, волшебство!
Ответ 16
Я обнаружил, что изменить мой компилятор на LLVM 6.0 в настройках сборки достаточно для меня (xcode 6.1)
![enter image description here]()
Ответ 17
У меня была эта ошибка с рядом моих старых проектов, которые я выхожу из шкафа для обновления. Похоже, что использование Xcode 6 со старым кодом, по-видимому, вызывает это по какой-то причине.
Я исправил это во всех проектах, которые я сделал с помощью:
- Удалить Производные данные
- в Продукт: сделать чистый
- перейдите в "Настроить параметры" в проекте "Цель" и перейдите к "Параметры сборки" и измените значение "Компилятор для C/С++/Objective-C" на " По умолчанию
Компилятор.
Ответ 18
Я получил ту же ошибку на моем Xcode 6.1.1 для проекта, загруженного с gitHub, который был совершен 4 года назад.
Для меня настройка Архитектуры на значение по умолчанию Стандартные архитектуры (armv7, arm64) и Компилятор для C/С++/Objective-C для компилятора по умолчанию в Настройки здания.
Ответ 19
У меня была та же проблема в моем проекте. Позже обнаружил, что сторонний (fmdb для SQLite) файл, используемый в проекте, содержал Info.plist.
Простое удаление файла Info.plist сработало для меня!
![Info.plist]()
Ответ 20
Недавно я столкнулся с той же проблемой для запуска старого проекта (изначально созданного в Xcode 4.x) в Xcode 6.0.1.
Я исправил проблему, изменив Архитектуры в Настройка здания s на значение по умолчанию, которое " Стандартные архитектуры (armv7, arm64)".
Надеюсь, это поможет любому, у кого возникли подобные проблемы:)
Ответ 21
В моем случае я просто переименую значения Bundle Name
и Executable file
в info.plist
так же, как имя проекта. Это сработало для меня.
Ответ 22
Я попробовал все перечисленные ответы, и ни один из них не был полезен. Проблема заключалась в существовании другого файла plist, связанного с подмодулем через cocoapods. К счастью, это был мой собственный модуль, поэтому я просто удалил этот plist из проекта подмодуля и переустановил контейнеры.
Решение
Позже я понял, что ключ к проблеме был во имя этого второго plist: просто info.plist
. Вы можете переименовать файл и связать его с помощью раздела sources
подмодуля
Второй файл plist имел уникальное имя, поэтому Xcode не должен был расстраиваться. Даже мои целевые настройки указывали на основной слой, а не на info.plist
. Похоже, Xcode принимает особые соображения по поводу этого имени
Ошибка, выраженная в Xcode 6.4 и Xcode 7.0
Ответ 23
У меня была подобная проблема. Как-то мое значение для ключевого исполняемого файла было замешано. Просто измените его на ${EXECUTABLE_NAME} (в вашем проекте > Информация). Работал для меня!
Ответ 24
Не знаю, связана ли проблема, но, возможно, это может быть решением для тех, кто тянет волосы, как я.
В моем случае у меня есть проект с большим количеством целей. Каждая цель - это настройка базового проекта, который является Cocoa Touch Static Library
и целями, Applications
. Даже если файл main
добавляется в компиляцию библиотеки, но не в каждой цели, появляется это сообщение об ошибке. Так что я сделал? Вручную добавили файл main
к каждой цели в разделе Compile Sources
и бинго, все в порядке.
Ответ 25
Для меня ошибка была в файле .plist с ключом CFBundleExecutable
.
Я переименовал исполняемый файл, удалив пробел между двумя словами. (Например: от "Wild Racer" до "WildRacer" ). Взял 1 день, чтобы определить это!
Xcode бесполезен в отладке!
Ответ 26
В моем случае main.m, содержащий основную (...) функцию, не содержался в списке "Скомпилировать источники" в разделе "Фазы сборки". Чтобы проверить, действительно ли это так, введите "Фазы сборки" и посмотрите, если ваш main.m появляется в списке "Источники компиляции".
Ответ 27
Мое приложение работало нормально на XCode 9.4, но когда я открыл свой проект в XCode 10, я столкнулся с этой проблемой. Для меня проблема заключалась в настройке сборки. Я нашел ответ на этой странице https://forums.developer.apple.com/thread/112141.
Вкратце зайдите в File> Workspace Settings…> Build System и измените его на "Legacy Build System"
Ответ 28
Для меня это решило установить Только встроенную активную архитектуру Нет до Да.
Ответ 29
с X-кодом 6.3.2
[Настройки сборки].
[All] - [Опции сборки] - [Компилятор для C/С++/ Objective-C] - [Компилятор по умолчанию (Apple LLVM 6.1)]
Затем перестройте проект, и он работает нормально.
Ответ 30
В моем случае это помогло просто закрыть Xcode, восстановил разрешения с помощью Disk Utility. Только после перезагрузки он работал как шарм.