Як я можу розгорнути додаток iPhone з Xcode на реальний пристрій iPhone, не маючи сертифікату Apple 99 доларів США?
Як я можу розгорнути додаток iPhone з Xcode на реальний пристрій iPhone, не маючи сертифікату Apple 99 доларів США?
Відповіді:
Здається, що програма не підписана. Завантажте ldid від Cydia та використовуйте його так:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
Також переконайтеся, що двійковий код позначений як виконуваний: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
Я використовував поєднання двох HOWTOs: Джейсон і Алекса . З другим ми маємо перевагу в можливості налагодження. Я здебільшого просто копіюю обидва нижче (і спрощую Алекс):
Оновлення січня 2012 року: це все ще працює на SDK 4.2.1 та iOS 5.0.1 - я лише протестував це все на новому комп’ютері та пристрої!
Виправте свій SDK для iPhone, щоб дозволити використовувати цей сертифікат:
Запустіть Keychain Access.app. Якщо в меню Keychain не вибрано жодних елементів, виберіть Assistant Certificate Assistant, а потім створіть сертифікат.
Клацніть Продовжити
Клацніть Продовжити
Blank поза на Email поле адреси.
Клацніть Продовжити до завершення .
Ви повинні побачити "Цей кореневий сертифікат не довіряється" . Це очікується.
Встановіть iPhone SDK для дозволу використовувати самопідписаний сертифікат:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Якщо у вас відкритий Xcode, перезапустіть його, щоб ці зміни вступили в силу.
А якщо ви на iOS 5, це все! Спробуй зараз! Це може не дозволити налагодження, але додаток буде там!
Я був дуже здивований цим, тому що, як ви повинні знати , я не маю уявлення про те, що всі ці хакінг! Все, що я зробив, було трохи покращити те, що я знайшов деінде, як я вказував.
Так, так, весь метод більше не працює так само, і я не міг потрудитися знайти новий ... За винятком цього, який використовує інструмент під назвою Theos, але я не зміг пройти весь процес.
Нарешті, якщо вам потрібно з будь-якої причини видалити його , перевірте кінець цієї публікації. У моєму випадку мені довелося це зробити, тому що я не міг зрозуміти, чому все синє це весь метод перестав працювати, і мені вже не було байдуже, оскільки у нас вже є довгоочікувана ліцензія. (Зрозумілий номер DUNS займає так довго ...)
.
.
.
.
.
На свій iPhone, що перебуває у в'язниці , встановіть додаток AppSync , додавши джерело ** http://repo.hackyouriphone.org **
Видаліть вимоги SDK щодо знаку коду та прав (я люблю sed !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
Зверніть увагу наiPhoneOS5.0.sdk
деталь. Наприклад, якщо ви використовуєте iOS 4.2 SDK, просто замініть його відповідно:
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Зробіть висновок про видалення вимоги через виправлення Xcode. Це означає, що двійкове редагування:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\xc3\x26\x00\x00" >> working
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
Якщо у вас відкритий Xcode, перезапустіть його, щоб ця зміна (і остання) вступила в силу.
Відкрийте «Проект> Редагувати параметри проекту» (у меню). Перейдіть на вкладку «Побудувати» . У списку знайдіть "Ідентифікатор підпису коду" та його дочірнє обладнання "Будь-який пристрій iPhoneOS" та встановіть обоє на запис "Не підписуйте код" :
Після цього сміливо скасуйте крок 3. Принаймні, в моєму випадку це все було добре.
Налаштування Xcode для кодового знаку за допомогою нашого власноруч виготовленого самопідписаного сертифіката (перша інструкція). Цей крок, ймовірно, може бути пропущений, якщо ви не хочете мати можливість налагодження:
mkdir /Developer/iphoneentitlements401
cd /Developer/iphoneentitlements401
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
Підключіть свій iPhone і відкрийте Xcode. Відкрийте вікно> Органайзер. Виберіть пристрій зі списку зліва та натисніть «Використовувати для розробки». Вам буде запропоновано ввійти на веб-сайт із забезпеченням, натисніть Скасувати. Це є для того, щоб полегшити законне надання послуг, але не ускладнить нелегітимне незабезпечення.
Тепер ви повинні виконати цю останню частину для кожного нового проекту, який ви робите . Перейдіть до меню Проект> Фаза нової збірки> Фаза нового запуску сценарію. У вікні скопіюйте та вставте це:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
/Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi
.
.
.
.
Для 1-ї частини:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
Для другої частини:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
якщо ви зробили крок 3 замість 2, просто змініть його відповідно:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
для решти, це просто повернення того, що ви робили на XCode, і видалення, /Developer/iphoneentitlements401/gen_entitlements.py
якщо хочете:
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
The identity used to sign the executable is no longer valid. ... (0xE8008018)
Навіть коли я відклав 3650 днів до закінчення терміну. Схоже, телефон сам робить перевірку.
Щоб перевірити ваш додаток на реальному пристрої, а не сплачувати плату Apple Developer (або джейлбрейк вашого пристрою), ви можете використовувати нове безкоштовне забезпечення, яке підтримує Xcode 7 та iOS 9.
Ось кроки, зроблені в більшій чи меншій мірі з документації (що досить добре, тому прочитайте це):
1. Додайте свій ідентифікатор Apple у Xcode
Перейдіть до XCode> Налаштування> вкладка Облікові записи> Кнопка Додати (+)> Додати Apple ID. Докладнішу інформацію див. У документах .
2. Перейдіть на вкладку Загальне в Навігаторі проектів
3. Виберіть свій ідентифікатор Apple в меню "Команда".
4. Підключіть свій пристрій і виберіть його в меню схем.
5. Натисніть кнопку Виправити проблеми
Якщо ви отримаєте помилку про те, що ім'я пакету недійсне, змініть його на щось унікальне.
6. Запустіть додаток
У Xcode натисніть кнопку Побудувати і запустити.
7. Довіряйте розробнику програми в налаштуваннях пристрою
Після запуску програми ви отримаєте помилку безпеки, оскільки додаток, яке ви хочете запустити, не з App Store.
На своєму пристрої перейдіть у Налаштування> Загальне> Профіль> ваше-Apple-ID-ім'я > Довіряйте своєму Apple-ID-імені > Довіряйте.
8. Запустіть додаток на своєму пристрої ще раз.
Це воно. Тепер ви можете запустити свої власні (або будь-які інші програми, для яких у вас є вихідний код), не витрачаючи 99 доларів. Дякую, Apple, що нарешті це дозволили.
Вам доведеться втекти з ладу свій пристрій.
Існує спосіб розгортати додатки для iPhone, не платячи за яблуко. Вам доведеться зняти збиткові пристрої та дотримуватися вказівок на веб-сайті http://www.alexwhittemore.com/?p=398
Ніщо, що я бачив де-небудь, не вказує на те, що ви можете спеціально розгорнути на справжньому iPhone без сертифікату (платного).
Я вчора ввечері переживав розробника Apple, і там, у наданні сертифікату, знайшов щось на кшталт «Члени команди, що підписують». Я думаю, що є спосіб додати членів команди до оплачуваного профілю. Ви можете просто попросити власника App Id (платного), щоб додати вас як члена команди. Я не впевнений. Досі шукаю на цьому.
Ні, це легко зробити. У Xcode встановіть Активну конфігурацію на Release. Змініть пристрій з Simulator на Device - незалежно від SDK. Якщо ви хочете безпосередньо експортувати на свій iPhone, підключіть його до комп'ютера. Натисніть "Збірка та перехід". Якщо ваш iPhone не підключений до комп'ютера, з'явиться повідомлення про те, що ваш iPhone не підключений.
Якщо це стосується вас: (iPhone не підключено)
Перейдіть у папку проектів, а потім у папку збірки всередині. Перейдіть у папку Release-iphoneos і перенесіть додаток всередину, перетягніть значок iTunes. Коли ви синхронізуєте пристрій iTouch, він скопіює його на ваш пристрій. Він також з’явиться в iTunes як додаток для iPhone.
Сподіваюся, це допомагає!
PS: Якщо це говорить про те, що сертифікат недійсний, просто натисніть на проект у Xcode, маленький значок проекту у стеку файлів ліворуч та натисніть Apple + I або отримайте інформацію з панелі меню. Клацніть на Створити вгорі. У розділі Підписання коду змініть особу підпису коду - будь-який пристрій iPhone ОС не підписуватиметься.
Це насправді все залежить від того, яку версію Xcode ви використовуєте, оскільки різні версії використовують різні методи для розгортання на вашому iPhone без профілю надання.
Xcode 3.2.1 - це хороша версія, її легко розібрати, але нам потрібно знати, яку версію ви використовуєте.
Рішення, розміщене Cawas, чудово працює і з XCode4. Однак у користувальницькому інтерфейсі IDE є деякі зміни, тому вам потрібно зробити кілька досліджень, щоб знайти Run Script :)
У вікні «Навігатор проектів» натисніть на головний елемент проекту, потім у середньому вікні виберіть «Ціль», потім виберіть вкладку «Фази збірки», а внизу ви побачите кнопку «Додати фазу збірки», натисніть і виберіть «Додати запустити сценарій», а потім вставте «кодизайн "сценарій, опублікований Кавасом.
Немає способу вирішення. Можна додатково розгортати додатки лише в тому випадку, якщо вони зареєстровані на вашому пристрої. Це не дозволяє створити власний магазин додатків ..