ionic-team / capacitor

Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web ⚡️
https://capacitorjs.com
MIT License
11.47k stars 977 forks source link

Create better docs about Android permissions #852

Closed jcesarmobile closed 5 years ago

jcesarmobile commented 5 years ago

At the moment the base app includes all the permissions required by core plugins and some other Web APIs, but if the user doesn't use those plugins or APIs he can safely remove the permissions.

We should document this better as it can cause confusion or users publishing apps with more permissions than required.

In special we should document camera permissions as it's not even required by camera plugin, nor for input file with capture attribute as both use an intent to the camera and that doesn't need a permission. It's only required if using navigator.getUserMedia to capture the camera feed.

jcesarmobile commented 5 years ago

Camera docs got updated and the AndroidManifest.xml has comments on the permissions to explain them, and plugins also explain the permissions they require, so going to close. If we missed some permission better create a separate issue.

patrickhofer commented 5 years ago

I got much more needed permissions for iOS however i don't use PhotoLibrary, Pushnotifications or Geolocation. There was also a Record Audio but when i removed this i got no errors from apple after the build upload. image

This is my package.json

{
  "name": "myApp",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^7.2.2",
    "@angular/core": "^7.2.2",
    "@angular/forms": "^7.2.2",
    "@angular/http": "^7.2.2",
    "@angular/platform-browser": "^7.2.2",
    "@angular/platform-browser-dynamic": "^7.2.2",
    "@angular/router": "^7.2.2",
    "@capacitor/android": "^1.0.0",
    "@capacitor/cli": "1.0.0",
    "@capacitor/core": "1.0.0",
    "@capacitor/ios": "^1.0.0",
    "@google/markerwithlabel": "^1.2.3",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.1.0",
    "@ionic/lab": "^2.0.3",
    "@types/googlemaps": "^3.36.5",
    "core-js": "^2.5.4",
    "gsap": "^2.1.3",
    "howler": "^2.1.2",
    "moment": "^2.24.0",
    "node-js-marker-clusterer": "^1.0.0",
    "rxjs": "~6.5.1",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.29"
  },
  "devDependencies": {
    "@angular-devkit/architect": "~0.13.8",
    "@angular-devkit/build-angular": "~0.13.8",
    "@angular-devkit/core": "~7.3.8",
    "@angular-devkit/schematics": "~7.3.8",
    "@angular/cli": "~7.3.8",
    "@angular/compiler": "~7.2.2",
    "@angular/compiler-cli": "~7.2.2",
    "@angular/language-service": "~7.2.2",
    "@ionic/angular-toolkit": "~1.5.1",
    "@types/node": "~12.0.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~8.1.0",
    "tslint": "~5.16.0",
    "typescript": "~3.1.6"
  },
  "description": "An Ionic project"
}

Does somebody have an idea what caused these permissions by iOS?

jcesarmobile commented 5 years ago

Capacitor apps ship with all the core plugins included, that means the code that requires those usage descriptions is present despite you might not be using it. If you are not really using it, it's safe to ignore, Apple is telling you to be aware of it or in case you forgot, because if you use it but don't add the usage descriptions the app will crash. But if you are not using it nothing bad will happen.

About the push entitlement, that warning can be disabled, see https://capacitor.ionicframework.com/docs/apis/push-notifications#disabling-push-notifications-plugin

edu1998 commented 4 years ago

greetings, i have the following error with capacitor camera. first of all, i have an web site that i'm opening in an iframe from my app but when that web site tries to access the device camera there is an error, also it works when i'm using a ssl certificate in the app, but i just don't know how to implement a ssl certificate in my ionic-react application.

Can someone help me with this ?

ionitron-bot[bot] commented 1 year ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Capacitor, please create a new issue and ensure the template is fully filled out.