"Файл" MyApp.app "не вдалося відкрити, оскільки ви не маєте дозволу на його перегляд" під час запуску програми в Xcode 6 Beta 4


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. Спочатку проблема була лише з тренажером, тепер, після дописів у цій публікації, у мене є та сама помилка під час запуску мого цільового телефону.
Бамако

1
Я дотримувався рішення @YuAn. Він дуже добре працює на тренажері. Дякую Але, коли я намагаюся створити його на пристрої, я все одно отримую повідомлення із записом "У мене немає дозволу на перегляд". Файл myapp.app в каталозі продуктів у xcode, а також у похідному каталозі даних відображається заблокованим навіть після спроби побудови після видалення вмісту похідних даних.
Шрінівасан N

4
Ще один (дурний) спосіб викликати цю проблему: Скомпілюйте додаток лише з ресурсами та без вихідних файлів. Не запитуйте мене, як я це знаю :)
Крумельюр

4
Продукт> Чисто вирішити це для мене
mazorati

У моєму випадку нічого з цього не вийшло !! Як тільки я видаляю файл pilst з Xcode і знову додаю проект, він працює як шарм !! Сподіваюся, допоможуть вам хлопці !!
Раві

Відповіді:


252

Я використовую Xcode6 GM. Я зіткнувся з тією ж проблемою. Що я зробив, це перейти до Налаштування збірки -> Параметри збірки. Потім я змінив значення "Компілятор для C / C ++ / Objective-C" на Компілятор за замовчуванням.введіть тут опис зображення


146

Виникає проблема і на ПРИСТРІЙ (не тільки на тренажері)?


Інші рішення лише зафіксували це для мене на тренажері, а не на пристрої.

Для мене ця проблема виникла (у Xcode 6), коли я намагався змінити основні властивості info.plist , намагаючись змінити ім’я програми.

У info.plist я змінив Executable Fileім'я на щось інше, ніж за замовчуванням${EXECUTABLE_NAME} ...

Я помилився з цим полем для поля, яке змінює назву програми під значком на трампліні.


10
У моєму випадку це спрацювало спасибі. Я міняв інші подібні поля у своєму файлі <appname> -Info.plist, і як тільки я змінив виконуваний файл назад на $ {EXECUTABLE_NAME}, як ви запропонували, він створив і запустив.
Slowburner

Дякую .. Із моїм випадком
Бала Вішну

Дякую чимало @Albert Renshaw, ти відповів, що вирішив мою проблему. Я шукаю рішення для цього з останніх двох днів.
Нілеш Кікані

Ця ж проблема, назва поля - "Відображаюче ім'я" для зміни імені під значком
WebOrCode

1
Це підштовхнуло мене до мого рішення, яке полягало в тому, що я отримав додатковий Info.plist, коли я включив джерело для зовнішньої бібліотеки у свій код, і вони мали Info.plist у папці групи активів. Видалення додаткового Info.plist виправило мою проблему.
чадбаг

145

У Xcode виконайте наступне

Вікно -> Органайзер -> Проекти -> Додаток із проблемою -> Кнопка видалення в Отримані дані.

Потім я очистив проект і вуаля

працює


Я дотримувався рішення @YuAn. Він дуже добре працює на тренажері, але коли я намагаюся створити його на пристрої, я все одно отримую повідомлення із записом "Я не маю дозволу на його перегляд". Файл myapp.app в каталозі продуктів у xcode, а також у похідному каталозі даних відображається заблокованим навіть після спроби побудови після видалення вмісту похідних даних. Будь-яка ідея, що пішло не так?
Шрінівасан N

це працювало для мене, але це продовжується. Я не можу постійно видаляти отримані дані щоразу, коли хочу запустити додаток в тренажері ...
zumzum

Я зіткнувся з тією ж проблемою, спробував різні рішення, але не працював для мене .. Допомога буде оцінена
Giriraj.Mulay


45

Я виправив це, очистивши папку збірки. Просто перейдіть до меню "Продукт" і Варіант + натисніть "Очистити". Після цього проблема була вирішена.


30

Виникла проблема з інформаційним списком проекту. Я створив новий проект з такою ж назвою в Xcode 6 beta 4, а потім замінив реальний проект Info.plist на новий. Проект потім склався і пройшов чудово.

Подивіться на різницю, схоже, пліст міг якось змішатися з плістом дитячого майданчика. Ідентифікатор групи "com.apple.dt.playground.iOS-18300-13", імена виконуваних файлів та пакетів були "iOS" разом з деякими іншими дивацтвами.

Це повна різниця, якщо комусь це потрібно для довідки:

        <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 був у форматі двійкового файлу. Довелося його перетворити
Лука Торелла

28

У мене була така сама помилка в Xcode 8.2. Причину я дізнався для мене, інший Info.plist в моєму проекті додається додаючи бібліотеку (копіювати вручну).

Так що Xcode плутається через вибір правильного Info.plist .

Я щойно видалив цей Info.plist із доданої бібліотеки.

Тоді він працює нормально без попередження про дозвіл.


Ви також можете змінити ім'я Info.plist на FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher

Те саме тут, копіюючи з іншого проекту
Фірас Шруру

Саме це і було моїм питанням. Я додав ще одну папку швидких файлів, і в ній був файл плісту. Я видалив цей пліст-файл і все добре .. Дякую!
Лкабо

17

Перевірте, чи ви змінили виконуваний файл => $ (EXECUTABLE_NAME) на будь-яке інше ім’я. Якщо ви змінили це ім'я, то воно відображає цю помилку. Замініть його на $ (EXECUTABLE_NAME).


Так, трапилося зі мною при спробі змінити назву програми. Сезонний розробник так просто невдало ввійшов у пліст і змінив "Виконавчий файл", коли насправді я маю на увазі змінити "Ім'я пакету"
MobileMon

Це зафіксувало це для мене. Це сталося після того, як я перейменував свій проект. Дякую.
emiliomarin

14

Продукт -> Очистити (зсув команди K) виправили це для мене


Добре нагадування, що іноді найпростішим рішенням є те, що працює.
Песколлі

Тут потрібен чистий перезапуск Xcode під Xcode 7.2.1. Очищення одне лише призвело до "невідомої помилки" без спроби побудови.
Томмі

13

Боже мій!! Я витратив години на вирішення цього питання.

У XCode 7.3 у мене був проект без проблем.

Помилку я зробив

Я просто додав фізичні папки і перемістив свої файли в них, почалася проблема.

Я все спробував

  • Компілятор за замовчуванням
  • Очистіть і побудуйте
  • Скиньте тренажер та перезавантажте тренажер, Xcode, iPhone, навіть mac
  • Оновлений Info.plist
  • Видалення отриманих даних
  • Редагування дозволу в папці проекту
  • Перевірка моїх архітектур

нічого не працювало :(

Як я вирішив

Я збирався створити новий проект, а потім я просто видалив ті додані до нього фізичні папки , чиста збірка та ТАК !!

Це працює!!

введіть тут опис зображення


1
Так це було і для мене.
yeahdixon

це мені допомогло. але я подумав, що можу використовувати посилання на папки. дивно.
user1105951


11

У мене була схожа проблема (xCode 6.2) для завантаженого зразка коду. Я спробував встановити , Executable Nameщоб , Default in Info.plistале це не спрацювало.

Замість цього замініть Компілятор для C / C ++ / Objective-C на компілятор за замовчуванням (Apple LLVM 6.0) замість Непідтримуваний компілятор (com.apple.compilers.llvmgcc42) для проекту.

Знімок екрана


@iOSRocks: Ласкаво просимо!
Джайпракаш Дюбі

10

1) Перейдіть по-перше.

2) Потім змінив значення "Компілятор для C / C ++ / Objective-C" на Компілятор за замовчуванням.

чистий і робочий :-)


1
Для того, щоб очистити його: 1. Перейдіть в розділ Налаштування збірки (Виберіть All і Комбінований ) 2. Пошук Опції збірки 3. Встановити компілятор для C / C ++ / Objective-C для компіляції по замовчуванням
nburk

Чому люди голосують за це копіювання найвищої оцінки?
Кіран

10

Іноді відкриття старого проекту в новій версії Xcode отримає це повідомлення.

Перейдіть до «Навігатор випуску» та дотримуйтесь підказки «Використовувати для повторних налаштувань».

Бум, магія!


10

Я виявив, що зміна мого компілятора на LLVM 6.0 в параметрах збірки була достатньою для мене (xcode 6.1)

введіть тут опис зображення


10

Я отримав таку ж помилку в своєму Xcode 6.1.1 для проекту, завантаженого з gitHub, який було вчинено 4 роки тому. Для мене встановлення параметрів Архітектури за замовчуванням Стандартні архітектури (armv7, arm64) та Компілятор для C / C ++ / Objective-C для компілятора за замовчуванням у Налаштуваннях будівлі працювали.


9

Нещодавно я зустрічаюсь з тією ж проблемою для запуску старого проекту (спочатку створеного в Xcode 4.x) в Xcode 6.0.1.

Я вирішив проблему, змінивши архітектури в Налаштуваннях будівлі s на значення за замовчуванням, яке є " Стандартні архітектури (armv7, arm64) ".

Сподіваюся, це може допомогти кожному, у кого виникли подібні проблеми :)


Цю відповідь слід позначити як правильну @drewag
Fede Cugliandolo

схоже, що за цим критичним повідомленням про помилку стоять різні проблеми, все-таки це вирішило мою птоблему з XCode 6.1
Fabio Napodano

9

У мене була помилка в ряді моїх старих проектів, які я виходжу з шафи для оновлення. Здається, що використання Xcode 6 зі старшим кодом, здається, викликає це з якихось причин.

Я це зафіксував у всіх проектах, з якими я це робив:

  1. Видалити отримані дані
  2. у Товарі: чистіть
  3. перейдіть до "Налаштування збірки" в проектному цілі та перейдіть до "Параметри збирання" та змініть значення "Компілятор для C / C ++ / Objective-C" на " Компілятор за замовчуванням ".

9

У мене був такий самий випуск у моєму проекті. Пізніше виявлено, що сторонній ( fmdb для SQLite) файл, що використовується в проекті, містив Info.plist .

Просто видалення файлу Info.plist працювало на мене!

Info.plist


Працював і для мене.
mkll

9

Мій додаток добре працював на XCode 9.4, але коли я відкрив свій проект у XCode 10, у мене виникла ця проблема. Для мене проблемою були налаштування збірки. Відповідь я знайшов на цій сторінці https://forums.developer.apple.com/thread/112141 .

Якщо коротко, перейдіть у меню Файл> Налаштування робочої області…> Створіть систему та змініть її на «Спадкова система збирання»


8

Ну а в моєму випадку я просто перейменую значення Bundle Nameта Executable fileзначення в те info.plistсаме, що і назва проекту. Це працювало для мене.


8

Я перепробував усі перераховані відповіді, і жодна з них не була корисною. Проблема була пов’язана з існуванням ще одного файлу плістів, пов’язаного із підмодуля через cocoapods. На щастя, це був мій власний модуль, тому я просто видалив цей пліст із проекту підмодулі та перевстановив стручки.

рішення

Згодом я зрозумів, що головна проблема полягала в назві другого списку: просто info.plist. Ви можете перейменувати файл і повторно пов’язати його через sourcesрозділ підмодуля

У другому файлі плістів було унікальне ім’я, тому Xcode не повинен був розчаруватися. Навіть мої цільові налаштування вказували на основний список, а не на a info.plist. Схоже, що Xcode має особливі міркування щодо цього імені

Помилка відтворена в Xcode 6.4 та Xcode 7.0


Зі мною трапилось подібне. Мій Info.plist не був налаштований належним чином, тому XCode взяв перше, Info.plistщо трапилося знайти в папці проекту, яка належала якійсь незв'язаній залежності.
Охад Шнайдер

слава богу, ти щойно врятував мені години безглуздої налагодження Xcode '
Алекс

6

У мене була така схожа проблема. Якось значення для ключа, що виконується, змішався. Просто поверніть його на $ {EXECUTABLE_NAME} (У рамках проекту> Інформація). Працювали для мене!


1
Варто зазначити, що проблема була встановлена ​​на $ (EXECUTABLE_NAME) і оновлення її до $ {EXECUTABLE_NAME} вирішило проблему для мене.
Ерік

5

Не знаю, чи проблема пов’язана, але, можливо, це може бути вирішенням для тих, хто тягне волоски, як я.

У моєму випадку у мене є проект з великою кількістю цілей. Кожна метою є налаштуванням цього базового проекту , який є Cocoa Touch Static Libraryі цілями, Applications. Навіть якщо mainфайл додається до компіляції бібліотеки, але не в кожній цілі, з'являється повідомлення про помилку. Так що я зробив? Вручну додав mainфайл до кожної цілі в Compile Sourcesрозділі та бінго, все добре.


Дякую, це дуже допомогло.
JakeP

5

Для мене помилка була у файлі .plist за ключем CFBundleExecutable. Я перейменував виконуваний файл, видаляючи пробіл між двома словами. (Наприклад: від "Wild Racer" до "WildRacer"). Взяв 1 день, щоб помітити його !!

Xcode є soooo не допомагає у налагодженні!


4

У моєму випадку main.m, що містить головну (...) функцію, не містився у списку "Компілювати джерела" в "Фази збірки". Щоб перевірити, чи це так, введіть фази збірки та подивіться, чи є ваш main.m в списку "Джерела компіляції".


1
Я не знаю, як ви це виявили, і це була не моя точна проблема, але це привело мене до рішення, так ДЯКУЮ !!
Ri_

3

Для мене це вирішило встановити лише Активувати архітектуру лише з " Ні" на " Так" .


3

з X-кодом 6.3.2

[Параметри побудови] Параметри. [Усі] - [Параметри збірки] - [Компілятор для C / C ++ / Objective-C] - [Компілятор за замовчуванням (Apple LLVM 6.1)]

Потім відновіть проект, і він працює добре.


2

У моєму випадку це допомогло просто закрити Xcode, відремонтувала дозволи з Disk Utility. Лише після перезавантаження це спрацювало як шарм.


У мене виникла ця проблема після оновлення OSX сьогодні. Це було розібрано менше ніж за хвилину.
tonyedwardspz

2

Оскільки я також зіткнувся з цим питанням сьогодні вранці, і жодна з відповідей не допомогла мені особливо в моєму випадку. І, пробуючи години, я вирішив проблему.

Насправді, працюючи в раскадровці помилково, я просто перейменував свою " Main.storyboard " на " .storyboard " і змінивши її на " Main.storyboard ", вирішив мою проблему.

РІШЕННЯ (Згідно з моєю проблемою) . Можливо, ви перейменовували будь-який файл, через який xcode не міг завантажити його, і виникла проблема. Наприклад: як було зазначено вище, випадок зміни імені " Виконавчого файлу "
Можлива область випуску. Можливо, це останні кілька файлів, в яких ви працювали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.