Привилегированное приложение не запускается в симуляторе Firefox OS

В настоящее время я работаю над своим первым приложением для Firefox OS и использую симулятор для разработки, поскольку у меня нет реального оборудования.
Для моего приложения мне нужно разрешение redirects (для использования OAuth), и поэтому оно должно быть привилегированное.
Мое приложение или те его части, которые фактически уже сделаны, работают нормально, пока я не добавляю "type": "privileged" в манифест приложения. Если я это сделаю, весь мой JS-код больше не будет работать (включая такие простые вещи, как прослушиватели событий). Я протестировал поведение с помощью симуляторов FFOS 1.2 и 1.3 из App-Manager в Aurora, и в инструментах разработки ничего не выводится.
Вы можете мне помочь?

Вот манифест:

{  
  "default_locale": "en",  
  "description": "Feed the Reader is a free and open-source RSS-Reader. It works as a standalone app and with Feedly, The Old Reader and Tiny Tiny RSS as well.",  
  "developer": {  
    "name": "Philipp Trommler",  
    "url": ""  
  },  
  "icons": {  
    "16": "/icons/ftr_16.png",  
    "32": "/icons/ftr_32.png",  
    "48": "/icons/ftr_48.png",  
    "60": "/icons/ftr_60.png",  
    "64": "/icons/ftr_64.png",  
    "128": "/icons/ftr_128.png"  
  },  
  "launch_path": "/app.html",  
  "name": "Feed the Reader",  
  "permissions": {  
    "browser": {  
      "description": "Used for OAuth authentication."  
    },  
    "systemXHR": {  
      "description": "Used for asynchronous loading."  
    }  
  },  
  "redirects": [  
    {"from": "http://localhost",  
     "to": "/redirects.html"}  
  ],  
  "type": "privileged",  
  "version": "1.0"  
}

person Ferruck    schedule 12.02.2014    source источник


Ответы (3)


это работает для меня.

  "type": "privileged",
  "permissions": {
    "storage": {
      "description": "Required to store podcast audio files and images."
    },
    "systemXHR": {
      "description": "Required to download podcasts."
    },
    "contacts": {
      "description": "Required for autocompletion in the share screen",
      "access": "readcreate"
    }   
  }
person James    schedule 12.02.2014

Я не думаю, что ваша проблема связана с манифестом. Вы запускаете какой-либо скрипт, встроенный в HTML? Это, вероятно, терпит неудачу из-за нарушений CSP. Переместите все свои js во внешнюю библиотеку js и используйте функцию самовызова (function(){})() или что-то вроде window.init для загрузки и запуска кода, который вы делали встроенным. Взгляните на шаблон Firefox OS для примера использования функции самовызова. https://github.com/robnyman/Firefox-OS-Boilerplate-App

person Jason Weathersby    schedule 12.02.2014

Спасибо за ответы!

У меня была опечатка в моем Javascript, но вместо того, чтобы отображаться в консоли отладки, файл даже не был загружен. Пришлось переименовывать, потом консоль выдавала ошибку, чтобы я мог это исправить. Теперь файл загружается снова, даже со старым именем... Странно, но ОК.
Я не понимаю, чем консоль симулятора отличается от обычной, но очевидно, что это так, потому что последняя дает мне гораздо больше информации и предупреждений.

person Ferruck    schedule 13.02.2014