Проблема установки приложения iPhone .deb - PullRequest
1 голос
/ 09 февраля 2010

У меня очень странная проблема. Я разработал приложение для себя, которое имеет следующие три файла

  • MyApp.app
  • MyAppDaemon.app
  • LaunchDaemon.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 не работает, однако он прекрасно работает, если я копирую файлы по отдельности

Любые советы по этому вопросу?

Ответы [ 5 ]

2 голосов
/ 10 февраля 2010

Спасибо за ответы, ребята, я нашел решение моей проблемы, хотя я до сих пор не знаю, почему возникла проблема. Вот что я сделал

Я упаковал свой 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, как это сделал Саурик на своем сайте.

Все прошло хорошо, проблема решена. Однако я до сих пор не знаю, почему возникла проблема?

1 голос
/ 10 февраля 2010

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

1 голос
/ 09 февраля 2010

Может быть, установка .deb отправляет файлы другому владельцу?

0 голосов
/ 10 февраля 2010

Дикая догадка (я не имел дело с разработкой джейлбрейка), но, возможно, ссылка на символическую ссылку разыменовывается, когда вы упаковываете в файл .deb?

Подписанные приложения iPhone имеют символическую ссылку в папке CodeSignature внутри пакета. Если вы заархивируете и распакуете пакет без особой осторожности (например, предоставив опцию -y для zip), символическая ссылка будет заменена копией файла, которая нарушает подпись. Это приводит к таинственно сломанным приложениям.

Даже если вы не подписываете код, попробуйте распаковать файл deb и сравнить выходные данные с исходным пакетом приложения, чтобы увидеть, есть ли разница.

0 голосов
/ 10 февраля 2010

У меня нет большого опыта в создании дэбов, но, как и в jessecurry, я думаю, что проблема может быть в разрешениях, если вы можете попробовать запустить приложение из терминала и посмотреть, что вы получите.

...