Проблем с инсталирането на .deb приложение на iPhone

Имам много странен проблем. Разработих приложение за себе си, което има следните три файла

  • MyApp.app
  • MyAppDaemon.app
  • Стартирайте Daemon.plist

Когато копирам всеки файл в конкретна папка с помощта на ssh, приложението ми работи перфектно.

  • MyApp.app в /Applications
  • MyAppDaemon.app в /private/var/mobile/
  • LaunchDaemon.plist в /System/Library/LaunchDaemons/

Приложението работи чудесно, ако ssh използвам cyberduck и поставя всеки файл в горепосочените папки.

Сега проблемът е, когато се опитвам да опаковам файловете в .deb файл и след това да ги прехвърля на iPhone и след това с помощта на терминал го инсталирам [dpkg -i MyApp.deb] файловете се копират добре в папките, които посочих по-рано, но приложението ми не работа. Проверих всички разрешения, но все още не работят.

Доста странно, всичко се прави по същия начин, както аз, използвайки ssh, но в случай на .deb файл не работи, но работи чудесно, ако копирам файловете поотделно

Някакви съвети за това??


person raziiq    schedule 09.02.2010    source източник
comment
Има ли някаква конкретна причина, поради която не следвате официалните методи за разработване на приложения за iPhone и сте избрали пътя за джейлбрейк...?   -  person Jasarien    schedule 09.02.2010
comment
Въз основа на името MyAppDaemon.plist изглежда, че иска да стартира нещо във фонов режим, което е забранено от SDK. Но така или иначе, негова работа е дали иска да следва официалните методи или не.   -  person benzado    schedule 10.02.2010
comment
Да, бензадо е прав. Официалният SDK няма да ми позволи LaunchDaemons и приложението ми се нуждае от LaunchDaemon.   -  person raziiq    schedule 10.02.2010


Отговори (5)


Благодаря за отговорите, момчета, намерих решението на моя проблем, въпреки че все още не знам защо възниква проблемът. Ето какво направих

Бях пакетирал моя AppDaemon в папката с ресурси на MyApp в xcode и във файла postinst на DEBIAN премествах тази папка в /private/var/mobile, което всъщност причиняваше проблем. Папката се копираше в /private/var/mobile, но може да не е с всички разрешения и собственост. И така, това, което направих, е, че преди да го опаковам в .deb файл, изтрих AppDaemon от папката с ресурси на MyApp в xcode и го направих самостоятелно приложение. След това направих тази файлова архитектура за пакетиране в .deb

+- MyApp
   +- Applications
      +Myapp.app
   +-DEBIAN
    -control
    -postinst
    -postrm
   +-System
     +-Library
       +-LaunchDaemons
         +- com.myLaunchDaemon.plist
   +-private
     +-var
       +-mobile
         +- AppDaemon.app

След това опаковах папката с .deb команди като този saurik, инструктиран в неговия сайт.

Всичко мина добре, проблемът е разрешен. Въпреки това все още не знам защо се появи проблемът?

person raziiq    schedule 10.02.2010

Може би .deb инсталацията избутва файловете с друг собственик?

person jessecurry    schedule 09.02.2010

Вашият проблем най-вероятно е в процеса на създаване на .deb. Следвахте ли инструкциите на сайта на saurik или друг метод? http://www.saurik.com/id/7

person Aaron Ash    schedule 09.02.2010

Нямам много опит със създаването на debs, но като jessecurry мисля, че разрешенията може да са проблемът, ако можете да опитате да стартирате приложението от терминала и да видите какво ще получите.

person Roman A. Taycher    schedule 09.02.2010

Страшно предположение (не съм се занимавал с разработка с джейлбрейк), но може би символна връзка се дереферира, когато опаковате като .deb файл?

Приложенията за iPhone, които са подписани, имат символна връзка в папката CodeSignature в пакета. Ако компресирате и разархивирате пакета, без да сте внимателни (напр. като предоставите опцията -y на zip), символната връзка ще бъде заменена с копие на файла, което нарушава подписа. Това води до мистериозно повредени приложения.

Дори ако не подписвате код, опитайте да разопаковате своя deb файл и да сравните изхода с оригиналния пакет с приложения, за да видите дали има разлика.

person benzado    schedule 09.02.2010