Всякий раз, когда я пытаюсь запустить приложение в Xcode 6 Beta 4, я получаю сообщение об ошибке:
The file "MyApp.app" couldn't be opened because you don't have permission to view it.
Эта ошибка появляется независимо от того, на какой тренажер или устройство я нацелен.
Я пробовал:
Кто-нибудь еще сталкивается с этой проблемой и находит решение?
Возникла проблема с 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>
Я использую Xcode6 GM. Я столкнулся с той же проблемой. То, что я сделал, это перейти в "Настройки сборки" → "Параметры сборки". Затем я изменил значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию.
В Xcode выполните следующие действия
Окно → Органайзер → Проекты → Приложение с проблемой → кнопка удаления в Производных данных.
Затем я очистил проект и вуаля
работы
Другие решения только фиксировали это для меня на симуляторе, а не на устройстве.
Для меня эта проблема возникла (в Xcode 6), когда я попытаюсь изменить основные свойства info.plist, пытаясь изменить имя моего приложения.
В info.plist Я изменил имя Executable File
на нечто иное, чем значение по умолчанию ${EXECUTABLE_NAME}
...
Я ошибался в этом поле для поля, которое меняет имя приложения под значком на трамплине.
Для меня простой Продукт → Чистый работал отлично
Я исправил его, очистив папку сборки. Просто перешел в меню "Продукт" и Option + "Очистить". После этого проблема была решена.
У меня была такая же ошибка в Xcode 8.2. Причина, по которой я узнал для меня, еще один Info.plist добавлен в мой проект при добавлении библиотеки (вручную копировать).
Так что Xcode путается для выбора правильного Info.plist.
Я просто удалил этот Info.plist из добавленной библиотеки.
Затем он работает нормально без предупреждения о разрешении.
Пожалуйста, проверьте, если вы изменили исполняемый файл = > $(EXECUTABLE_NAME) на любое другое имя. Если вы изменили это имя, оно показывает эту ошибку. Пожалуйста, замените его на $(EXECUTABLE_NAME).
Перейдите к настройкам сборки из целевой цели проекта, затем перейдите в "Параметры сборки", затем измените значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию. Я использую Xcode 6 beta 4, и это сработало и для меня.
Мое добро! Я потратил несколько часов, чтобы решить эту проблему.
В XCode 7.3 У меня был проект без проблем.
Ошибка, которую я сделал
Я только что добавил физические папки и переместил в них файлы, проблема началась.
Я пробовал все
ничего не получилось: (
Как я решил
Я был о создании нового проекта, а затем я просто удалил эти физические папки Я добавил, чистая сборка и YESS!!
Это работает!!
Продукт → Очистить (командный сдвиг K) зафиксировал его для меня
Попробуйте "cmd + shift + k", чтобы очистить проект и перестроить. По крайней мере, это сработало для меня.
У меня была аналогичная проблема (xCode 6.2) для загруженного образца кода. Я попытался установить Executable Name
на Default in Info.plist
, но это не сработало.
Вместо этого замените Компилятор для C/С++/Objective-C на Компилятор по умолчанию (Apple LLVM 6.0) вместо Unsupported Compiler (com.apple.compilers.llvmgcc42) для проект.
Я обнаружил, что изменить мой компилятор на LLVM 6.0 в настройках сборки достаточно для меня (xcode 6.1)
Иногда открытие старого проекта в новой версии Xcode получит это сообщение.
Перейдите к навигатору проблем и следуйте подсказке "Upate to reconmmeded settings".
Бум, волшебство!
1) Сначала выберите варианты сборки.
2) Затем изменилось значение "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию.
чистая и рабочая: -)
Я получил ту же ошибку на моем Xcode 6.1.1 для проекта, загруженного с gitHub, который был совершен 4 года назад. Для меня настройка Архитектуры на значение по умолчанию Стандартные архитектуры (armv7, arm64) и Компилятор для C/С++/Objective-C для компилятора по умолчанию в Настройки здания.
У меня была эта ошибка с рядом моих старых проектов, которые я выхожу из шкафа для обновления. Похоже, что использование Xcode 6 со старым кодом, по-видимому, вызывает это по какой-то причине.
Я исправил это во всех проектах, которые я сделал с помощью:
У меня была та же проблема в моем проекте. Позже обнаружил, что сторонний (fmdb для SQLite) файл, используемый в проекте, содержал Info.plist.
Простое удаление файла Info.plist сработало для меня!
Я попробовал все перечисленные ответы, и ни один из них не был полезен. Проблема заключалась в существовании другого файла plist, связанного с подмодулем через cocoapods. К счастью, это был мой собственный модуль, поэтому я просто удалил этот plist из проекта подмодуля и переустановил контейнеры.
Позже я понял, что ключ к проблеме был во имя этого второго plist: просто info.plist
. Вы можете переименовать файл и связать его с помощью раздела sources
подмодуля
Второй файл plist имел уникальное имя, поэтому Xcode не должен был расстраиваться. Даже мои целевые настройки указывали на основной слой, а не на info.plist
. Похоже, Xcode принимает особые соображения по поводу этого имени
Ошибка, выраженная в Xcode 6.4 и Xcode 7.0
Info.plist
он обнаружил в папке проекта, которая принадлежала некоторой не связанной зависимости.
В моем случае я просто переименую значения Bundle Name
и Executable file
в info.plist
так же, как имя проекта. Это сработало для меня.
Недавно я столкнулся с той же проблемой для запуска старого проекта (изначально созданного в Xcode 4.x) в Xcode 6.0.1.
Я исправил проблему, изменив Архитектуры в Настройка здания s на значение по умолчанию, которое " Стандартные архитектуры (armv7, arm64)".
Надеюсь, это поможет любому, у кого возникли подобные проблемы:)
У меня была подобная проблема. Как-то мое значение для ключевого исполняемого файла было замешано. Просто измените его на ${EXECUTABLE_NAME} (в вашем проекте > Информация). Работал для меня!
Для меня ошибка была в файле .plist с ключом CFBundleExecutable
.
Я переименовал исполняемый файл, удалив пробел между двумя словами. (Например: от "Wild Racer" до "WildRacer" ). Взял 1 день, чтобы определить это!
Xcode бесполезен в отладке!
Не знаю, связана ли проблема, но, возможно, это может быть решением для тех, кто тянет волосы, как я.
В моем случае у меня есть проект с большим количеством целей. Каждая цель - это настройка базового проекта, который является Cocoa Touch Static Library
и целями, Applications
. Даже если файл main
добавляется в компиляцию библиотеки, но не в каждой цели, появляется это сообщение об ошибке. Так что я сделал? Вручную добавили файл main
к каждой цели в разделе Compile Sources
и бинго, все в порядке.
В моем случае main.m, содержащий основную (...) функцию, не содержался в списке "Скомпилировать источники" в разделе "Фазы сборки". Чтобы проверить, действительно ли это так, введите "Фазы сборки" и посмотрите, если ваш main.m появляется в списке "Источники компиляции".
с X-кодом 6.3.2
[Настройки сборки]. [All] - [Опции сборки] - [Компилятор для C/С++/ Objective-C] - [Компилятор по умолчанию (Apple LLVM 6.1)]
Затем перестройте проект, и он работает нормально.
Для меня это решило установить Только встроенную активную архитектуру Нет до Да.
У меня были похожие проблемы. По-видимому, я включил Info.plist из внешней папки проекта. Это приводит к той же ошибке, отображаемой после каждой сборки (за исключением того, что я запускаю ее после очистки проекта).
Чтобы исправить это, мне просто пришлось включить Info.plist из папки проекта.
Как и сегодня, я столкнулся с этой проблемой, и ни один из ответов не помог мне, особенно в моем случае. И после нескольких часов я выяснил проблему.
На самом деле, работая в раскадровке по ошибке, я просто переименовал свою " Main.storyboard" в ".storyboard" и изменил ее на " Main. раскадровка" решила мою проблему.
РЕШЕНИЕ (Согласно моей проблеме). Возможно, вы переименовали любой файл, из-за которого xcode не смог загрузить его и вызвал проблему.
Например: как упоминалось выше, случай изменения имени Исполняемый файл "
Возможная область проблем: Может быть, последние несколько файлов, в которых вы работали.
В моем случае это помогло просто закрыть Xcode, восстановил разрешения с помощью Disk Utility. Только после перезагрузки он работал как шарм.
Я изменил имя на новое имя, тогда я вернул старое имя в свой проект, и это помогло мне.
Я использую Xcode 6 GM. Я столкнулся с той же проблемой. Я сделал, чтобы перейти к настройкам сборки → Параметры сборки (вы можете искать "компилятор" ), а затем изменил опцию "Компилятор для C/С++/ Objective-C" на компилятор по умолчанию.
Я обновил свои cocoa-бобы и добавил новые поддерживаемые архитектуры в настройках сборки, и это исправило это.
Сообщение об ошибке является общим и на самом деле не говорит вам, что оно на самом деле означает.
Для меня я должен был восстановить более ранние реверсии github, которые дали:
armv7 armv7s arm64
к архитектуре.
У меня была та же проблема с Xcode 10 и реагировать на родной. Все вышеперечисленные решения не помогли мне.
Мое решение: создать новый проект с тем же именем. И измените файлы проекта и рабочей области на файлы из дублированного проекта. И это работает !!! (после некоторых небольших проблем со сборкой и т.д.)
Я пришел к этой проблеме как на симуляторе, так и на устройстве.
И есть сложное явление. Если я копирую проект на новое место, есть шанс, что этот вопрос исчезнет при первом запуске. Но после того, как я уберу и бегу, эта проблема возникает.
Я попробовал почти все решения из ответов на этот вопрос, но не делаю.
С помощью системы управления версиями git я могу проверить предыдущую версию кода и посмотреть, какая модификация приведет к этой проблеме.
В моем проекте версия HEAD работоспособна, и моя последняя измененная модификация приведет к этой проблеме.
Поэтому я проверяю каждый файл из работоспособной версии моего кода, чтобы найти проблему. Когда я проверяю coin.xcodeproj/project.pbxproj
(монета - это мое имя приложения), эта проблема исчезла.
Решение: просто проверьте работоспособный coin.xcodeproj/project.pbxproj
, для моего случая я просто использую версию HEAD в порядке.
git checkout HEAD coin.xcodeproj/project.pbxproj
Сделать это сводкой:
$(EXECUTABLE_NAME)
или напрямую установите имя вашего приложения. Xcode- > предпочтения - > местоположения - > Производные данные
, затем удалите его с помощью rm -r/Users/roofe/Library/Developer/Xcode/DerivedDatacode>
Я исправил это, очистив полученные данные от предпочтений в xcode
Пожалуйста, также проверьте, добавили ли вы какие-либо сторонние библиотеки с plist. Некоторое время у третьей стороны lib есть информационный plist, вызывающий проблему.
Выберите меню схемы, нажав нужную кнопку справа от кнопок запуска/остановки:
Нажмите Edit Scheme...:
Выберите исполняемый файл:
У меня возникла проблема с отсутствием AppDelegate.
Создание минимального решения проблемы:
import UIKit
@UIApplicationMain
final class AppDelegate: UIResponder,UIApplicationDelegate {
}
С моей стороны, что вызвало эту ошибку, я имел в корне моей папки ресурсов папку с тем же именем, что и мой окончательный исполняемый файл.
Итак, при запуске исполняемого файла, я думаю, что Xcode нашел папку и возникла проблема с созданием папки!; -)
У меня была эта проблема, когда мой класс appdelegate не был связан с моей главной целью приложения, а с отдельной статической структурой. Связывание его напрямую с целевым приложением устранило проблему.
Проверить разрешения на чтение + запись для папки проекта (щелкните правой кнопкой мыши папку проекта в Finder > Get Info)
Это потому, что вы можете использовать репозиторий, клонированный из git или svn. Попробуйте клонировать новую версию и запускать ее.
Мое решение было:
Введите это в свой терминал: open ~/Library/Разработчик/CoreSimulator/Devices/
Удалить соответствующую папку
Скомпилируйте снова, он должен работать
Мне удалось восстановить проект из резервной копии pre-xcode 6.1,
Как только я открою свое рабочее пространство из другого каталога, я смог запустить свою цель без этой ошибки. Теперь симулятор отлично работает.
То, что мы не делали правильно, - это не применять точный код при входе в настройки сборки. Мы решили проблему следующим образом: Войдите в настройки сборки → Подпись кодов → Идентификатор кода. Затем примените свой идентификатор разработчика iOS для "Отладки", но обязательно примените его к профилю распространения iOS для "Release". Мы не применили правильно, поэтому у нас не было разрешения запрашивать приложение с сервера, на самом деле. В любом случае этот пост заставил нас пересмотреть все параметры и требования, поэтому мы очень ценим все ваши ответы. С Уважением, Т.
Я исправил это сам, переключаясь между архитектурами "arm32" и "arm64". Из "Настройки сборки" я изменил "Архитектуры" и "Действительные архитектуры" с "arm32" на "arm64", и он сработал. После изменения ряда других параметров, переключение между arm32 и arm64 больше не имеет значения, поэтому я скептически отношусь к этому вопросу.
Раньше я пробовал все другие предложения здесь:
Для меня ошибка была в файле info.plist
, поле Bundle identifier
. Как-то он был изменен на
com.myCompany.${PRODUCT_NAME:rfc1034identifier}
из
com.myCompany.${PRODUCT_NAME}
Я бы пошел в папку, где находятся ваши документы Xcode, и нажмите команду + I, чтобы получить информацию. Внизу нажмите на замок, чтобы разблокировать папку для редактирования разрешения. Если разрешения выглядят хорошо, установите флажок, который говорит, чтобы применить к закрытым папкам, и пусть это сделает это. Я не видел этого лично и не уверен, что вы говорили в своем посте, когда редактируете разрешения на сборку.