Xcode 4 каже: «закінчено працювати <мій додаток>» на цільовому пристрої - нічого не відбувається


223

Додаток не встановлюється і не працює на моєму пристрої. Усі профілі резервування оновлені. Я вже спробував їх видалити та повторно встановити.

Рядок стану показує, що Xcode будує мій проект, потім він говорить, що запустити мій проект далі, і він каже "закінчено працювати". Протягом усього цього періоду екран iPod залишається чорним. IPod виявляється в Організаторі, і я не бачу нічого поганого в його конфігурації. Все працювало чудово лише пару днів тому з Xcode 3.

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


1
Якщо ви створюєте абсолютно новий проект, використовуючи один із шаблонів xcode і намагаєтеся запустити його або в тренажері, або на пристрої, чи буде він працювати? Я намагаюся визначити, чи встановлена ​​/ конфігурація xcode порушена чи щось у програмі, про яку ви питаєте, впливає на поведінку.
kennbrodhagen

2
Створили новий шаблон проекту і він спрацював. Отже, тепер ми знаємо, що щось потрібно неправильно налаштувати в моєму проекті.
D-Nice

D-Nice, ти коли-небудь це вирішував? У мене з цією грою виникає саме таку проблему, і я не можу її вирішити на все життя.
Адам Джонсон

Відповіді:


268

Для тих, хто читає це стосовно Xcode 4.2 та спроб запустити на більш ранньому пристрої (наприклад, iPhone 3G, 2G, iPod 1st gen тощо), у мене є ще одне рішення. Нові проекти, створені за замовчуванням у Xcode 4.2, вкажіть "armv7" у "Необхідні можливості пристрою". Видалити це потрібно, якщо ви хочете підтримувати пристрої, які працюють під управлінням armv6 (наприклад, iPhone 3G).

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

Видаліть armv7 із "Необхідні можливості пристрою" у своємуProjectName-Info.plist

Вам також може знадобитися змінити параметри збірки для компіляції з armv6 замість armv7.

Це за замовчуванням:

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

Двічі клацніть на "Стандартний (armv7)", щоб додати ще одне, потім натисніть "+" у спливаючому вікні та введіть "armv6":

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

Натисніть "Готово" і це має виглядати приблизно так:

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


1
Бінго: Я повинен був виконати два описані кроки, щоб правильно запустити свій старий iPhone 3G. Дякую MattyG!
Аріель Малька

1
Завдяки мільйонів! Я дав би вам 10 голосів, якщо зумів. Я переглядав усі сценарії на цій сторінці без везіння. Якось це значення, мабуть, було змінено, коли я перейшов до XCode 4.3.
IcyBlueRose

Дякуємо за ваші зусилля, щоб детально пояснити процедуру.
алехін

4
Дякую і мені! Багато людей запропонували додати "armv6", але видалення armv7 - це хитрість!
Гаррі Вуд

1
«Видалити ARMv7 від" можливостей пристрою Обов'язкових "в yourProjectName-Info.plist» -> Спасибі
Одед Регев

43

У мене просто була ця проблема, але для мене це було тому, що я лише вказав armv7 у своїх архітектурах, але 3G - armv6. Переконайтесь, що у вас обоє.


Це було для мене основною причиною. Так легко його забути. Дякую.
Лукаш

5
Для додавання опції «ARMv6» дивіться тут: stackoverflow.com/questions/7488657 / ...
pauloya

Мій старший iPod Touch також повинен бути armv6, тому що ця фіксація теж працювала на нього.
progrmr

Так, я впевнений, що оригінальний iPhone, 3G та перші два IPod дотики були armv6.
axiixc

21

У мене виникла ця проблема, і виявляється, що XCode за замовчуванням встановила ціль розгортання до 4,3, тоді як мій телефон 4.2.1. Зміна націлення на розгортання до 4.0 здавалося, що це вирішує.


Саме те, що я шукав.
укриття

У мене виникла ця проблема при встановленні цілі розгортання на 5.1, коли мій пристрій був лише до
версії

12

Після того, як ви додасте "armv6" до архітектури Project і Targets, переконайтеся, що у розділі "Необхідні можливості пристрою" вашого списку info.plist немає "armv7". Якщо так, просто вийміть його, і він повинен працювати!


Так, це причина моєї справи. Поняття не маю, як "Необхідні можливості пристрою" armv7 потрапили до списку. Дякую!
GeneCode

11

Тут же проблема з додатком, який не працює на пристрої. Видалення програми з пристрою не допомогло. Проект -> Очистити потім Проект -> Запустити знову теж не допоміг. Виявилося, що просто Вихід та перезапуск Xcode 4 вирішили це.


9

У мене це теж було. Я додав розділ UIRequiredDeviceCapability до info.plist, вимагаючи gamekit, і додаток не буде скопійовано на iPhone 3G під управлінням iOS 4.2. Видалено необхідну можливість, все добре.


Як ви маєте тестувати додатки, для яких потрібен gamekit на самому пристрої?
Роб

Ви все ще отримуєте GameCenter без вашого інформаційного списку, який говорить про те, що вам потрібен пристрій, який має його. Будь-який пристрій під керуванням 4.2 має GameCenter, тому немає потреби в додатковому інформаційному списку "Мені потрібно!"
Грехем Перкс

6

Спробуйте видалити додаток на пристрої (як і ваш звичайний додаток для видалення) та запустіть його з Xcode ще раз. Допоміг мені з тією ж проблемою, крім того, що тренажер не працює.


Про додаток на пристрої більше немає сліду. Я більше не думаю, що це питання резервування ... в моєму проекті щось зіпсувалося, але я не маю поняття, що це може бути.
D-Nice

6

Шахтний випадок: я помилково встановив: Необхідні можливості пристрою -> акселерометр на НІ (в Info.plist). Просто потрібно повернути його так

Також переконайтесь, що потрібні можливості пристрою належного типу: напр. Булеві або рядкові. Неправильний тип незмінно зробить тест невдалим, а додаток не завантажиться.


4

Для тих, хто все ще мешкає, ще одна річ, яку мені довелося зробити, це зробити назву продукту моєї цілі такою самою для конфігурацій налагодження та випуску. Він "запускав" версію налагодження, яку я не будував.


4

додавання архітектури armv6 виправило це для мене.


це було для мене; нова версія Xcode вирішує видалити armv6 з налаштування збірки "Архітектури", тому вам потрібно буде додати його вручну

2

І мені трапляється іноді. Чисте (Меню продукту -> Очистити) та запустіть (Меню проекту -> Виконати) завжди це виправляє.


Дякую! Це трапляється часто. Кожен раз, коли я пробую щось нове! Це помилка в Xcode?
Намратха

2

У мене була така ж проблема: переніс проект з xcode3 на xcode4, а після створення програми xcode не хотів встановлювати та запускати додаток на своєму телефоні.

Моє рішення (яке працювало на мене):

  • Відредагуйте схему (яка призначена для запуску)
  • У списку зліва виберіть "Запустити xyz.app"
  • На вкладці "Інформація" у меню "Виконавчий" було вибрано ".app". Змініть це, переглянувши каталог каталогу і виберіть додаток.

Працював для мене, і відтепер я можу використовувати: "Продукт -> Виконати дію -> Запустити без побудови" для запуску останньої збірки. Це швидше, ніж просто натискання кнопки Виконати, оскільки ніяких дій по збірці не буде вживатися.


немає шаблону збірки для шахти? дивно.
Сем Джарман

1

Просто перезавантажте пристрій. Робіть чистий проект. Видаліть додаток із пристрою та відновіть його.


0

Налаштування збірки були різними для проекту та цілей. Я просто натискаю suppr на програмі «Створення продуктів продукту» та «Проміжний шлях» файлів в обох розділах, і це вирішило мою проблему.


0

У мене була така ж проблема з моїм ігровим проектом, що використовує Cocos2D. "Hello world" з шаблону спрацював чудово, мій проект відмінно працював у тренажері, але на пристрої не вдалося виконати повідомлення з повідомленням: "Завершено працювати".

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


0

Я переживав це двічі з двома різними програмами, коли переходив до останньої версії Xcode. Перший раз, коли працювало, було складання програми з компілятором GCC LLVM. Вдруге те, що працювало, було додавання назад в архітектуру armv6 як підтримувану архітектуру, оскільки вона була видалена, коли Xcode автоматично оновлював проект.


0

Я вирішив це, змінивши "акселерометр" з "НІ" на "ТАК" у своєму Info.plist.

Основна довідка списку інформаційних властивостей Apple говорить, що ви можете повністю видалити налаштування "акселерометра", якщо "ваша програма виявляє лише зміни орієнтації пристрою".


ваш додаток підтримує акселерометр?
мак

0

Моє рішення полягало в тому, щоб додати UIInterfaceOrientationPortraitдо UISupportedInterfaceOrientationsмасиву в Info.plist, навіть якщо моя програма не підтримує портрет.


0

Поле під назвою «Додаток вимагає середовища для iPhone» зробило це якимось чином до мого списку. Я її зняв і вуаля! Він працював на моєму iPod.


0

У моєму Info.plist було встановлено цільове членство для моєї цілі побудови. Видалення його з цільового членства вирішило проблему.


0

Я використовував альтернативне ім’я для Info.plist, але неправильно встановив налаштування Info.plist Fileзбірки для моєї цілі. Я виявив це, переглянувши пакет програм і побачивши, що він не містить Info.plist.


0

Переконайтеся, що цільова версія розгортання <= версія iOS на вашому пристрої. Ось як я вирішив цю проблему.


0

У мене з тією ж проблемою було близько 45 хвилин. Прибирання не допомогло, повторне створення проекту не допомогло, армійська версія не допомогла. У мене було відкрито кілька повідомлень "Не вдалося синхронізувати з iTunes", яких я раніше не бачив. Натиснувши ОК на тих, здавалося, виправили проблему :(


0

Збірка, запуск та завершення XCode, але додаток не вдалося розгорнути і навіть не було скопійовано на пристрій.

Насправді в проекті XCode повинно бути щось, що порушено. Найкращий крок - це побудувати новий проект з нуля. Не забудьте додати підтримку armv6, як сказано в попередньому дописі.

Це добре працює для мене!


0

Це трапилося зі мною, намагаючись запустити на пристрої додаток watchOS, оскільки версія моєї Apple Watch watchOS була вищою, ніж підтримувана моїм Xcode, що підтримується. Я перейшов до найновішого Xcode (який також вимагав від мене оновлення до найновішого macOS), і він закінчився нормально після цього .

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