iOS app not asking for Photos full access

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version (eg, 20.0.5): 27.1.8
Operating system and version (eg, Ubuntu 20.04): 22.04.4 LTS
Apache or nginx version (eg, Apache 2.4.25): I couldn’t find out, sorry! I installed Nextcloud server two days ago using snap → 27.1.8snap1
PHP version (eg, 7.4): I couldn’t find out, sorry! I installed Nextcloud server two days ago using snap → 27.1.8snap1

The issue you are facing:

The Nextcloud iOS app (v 5.2.7.0) is apparently supposed to request “Full Access” Photo permissions before I can grant them. Or so I have read.

Currently I only have two options in Settings → Nextcloud:

  1. None
  2. Add Photos Only

I believe option (2) is the one where you manually go through your photo library and manually select photos to make available to the app.

Other apps that have access to my photos have a third option:
3. Full Access

But the Nextcloud app is just constantly throwing an error at me whenever I try and manually upload a photo, or whenever I try and turn on Auto upload. The error is:

“Error. Please allow Photos from Settings”

I don’t know what else to try other than restarting iPhone, restarting the app, resetting permissions, trying again and again with no result.

Edit: I have also made sure I am using none of the “Screen Time” privacy settings.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Open Nextcloud app
  2. Tap “More”
  3. Tap “Settings”
  4. Tap “Auto upload”
  5. Tap “Open settings”
  6. Tap “Photos”

The output of your Nextcloud log in Admin > Logging:

{"reqId":"pWA8P1oiMIb6OQFCRUn0","level":3,"time":"2024-04-27T12:49:18+00:00","remoteAddr":"","user":"--","app":"no app in context","method":"","url":"--","message":"Could not create folder \"/appdata_ocw0h1fkius9/photos/geonames\"","userAgent":"--","version":"27.1.8.1","exception":{"Exception":"OCP\\Files\\NotPermittedException","Message":"Could not create folder \"/appdata_ocw0h1fkius9/photos/geonames\"","Code":0,"Trace":[{"file":"/snap/nextcloud/41512/htdocs/lib/private/Files/AppData/AppData.php","line":147,"function":"newFolder","class":"OC\\Files\\Node\\Folder","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/photos/lib/Service/ReverseGeoCoderService.php","line":53,"function":"newFolder","class":"OC\\Files\\AppData\\AppData","type":"->"},{"function":"__construct","class":"OCA\\Photos\\Service\\ReverseGeoCoderService","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":84,"function":"newInstanceArgs","class":"ReflectionClass","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":124,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":142,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":494,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":466,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":97,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->"},{"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":84,"function":"array_map"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":124,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php","line":142,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":494,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/ServerContainer.php","line":155,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Console/Application.php","line":224,"function":"query","class":"OC\\ServerContainer","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Console/Application.php","line":132,"function":"loadCommandsFromInfoXml","class":"OC\\Console\\Application","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/console.php","line":99,"function":"loadCommands","class":"OC\\Console\\Application","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/occ","line":11,"args":["/snap/nextcloud/41512/htdocs/console.php"],"function":"require_once"}],"File":"/snap/nextcloud/41512/htdocs/lib/private/Files/Node/Folder.php","Line":162,"message":"Could not create folder \"/appdata_ocw0h1fkius9/photos/geonames\"","exception":{},"CustomMessage":"Could not create folder \"/appdata_ocw0h1fkius9/photos/geonames\""}}
{"reqId":"AfvpIsbWi8JgZhcV1V8I","level":2,"time":"2024-04-27T13:21:34+00:00","remoteAddr":"192.168.50.210","user":"admin","app":"core","method":"POST","url":"/index.php/login/confirm","message":"Login failed: 'admin' (Remote IP: '192.168.50.210')","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0","version":"27.1.8.1","data":{"app":"core"}}
{"reqId":"bCs0lsz5RvYCceItNNmA","level":2,"time":"2024-04-27T13:21:42+00:00","remoteAddr":"192.168.50.210","user":"admin","app":"core","method":"POST","url":"/index.php/login/confirm","message":"Login failed: 'admin' (Remote IP: '192.168.50.210')","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0","version":"27.1.8.1","data":{"app":"core"}}
{"reqId":"Ud6s3rXYCLCUVZ3SEtY3","level":3,"time":"2024-04-27T13:29:43+00:00","remoteAddr":"192.168.50.210","user":"Ben","app":"webdav","method":"MKCOL","url":"/remote.php/dav/uploads/Ben/865186796","message":"OCA\\DAV\\Connector\\Sabre\\Directory::__construct(): Argument #2 ($info) must be of type OCP\\Files\\FileInfo, bool given, called in /snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php on line 93","userAgent":"Mozilla/5.0 (Windows) mirall/3.13.0stable-Win64 (build 20240423) (Nextcloud, windows-10.0.22631 ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"27.1.8.1","exception":{"Exception":"TypeError","Message":"OCA\\DAV\\Connector\\Sabre\\Directory::__construct(): Argument #2 ($info) must be of type OCP\\Files\\FileInfo, bool given, called in /snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php on line 93","Code":0,"Trace":[{"file":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php","line":93,"function":"__construct","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php","line":57,"function":"impl","class":"OCA\\DAV\\Upload\\UploadHome","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php","line":67,"function":"getChild","class":"OCA\\DAV\\Upload\\UploadHome","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/dav/lib/DAV/Tree.php","line":111,"function":"childExists","class":"OCA\\DAV\\Upload\\UploadHome","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/dav/lib/DAVACL/Plugin.php","line":834,"function":"nodeExists","class":"Sabre\\DAV\\Tree","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Connector/Sabre/DavAclPlugin.php","line":107,"function":"beforeMethod","class":"Sabre\\DAVACL\\Plugin","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"OCA\\DAV\\Connector\\Sabre\\DavAclPlugin","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Server.php","line":368,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/remote.php","line":172,"args":["/snap/nextcloud/41512/htdocs/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/snap/nextcloud/41512/htdocs/apps/dav/lib/Connector/Sabre/Directory.php","Line":76,"message":"OCA\\DAV\\Connector\\Sabre\\Directory::__construct(): Argument #2 ($info) must be of type OCP\\Files\\FileInfo, bool given, called in /snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php on line 93","exception":{},"CustomMessage":"OCA\\DAV\\Connector\\Sabre\\Directory::__construct(): Argument #2 ($info) must be of type OCP\\Files\\FileInfo, bool given, called in /snap/nextcloud/41512/htdocs/apps/dav/lib/Upload/UploadHome.php on line 93"}}
{"reqId":"uqpHFxaSFVBHm1fdJlgk","level":3,"time":"2024-04-27T13:45:10+00:00","remoteAddr":"192.168.50.15","user":"Ben","app":"no app in context","method":"POST","url":"/ocs/v2.php/apps/notifications/api/v2/push","message":"Exception thrown: OCP\\Files\\NotFoundException","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/5.2.7","version":"27.1.8.1","exception":{"Exception":"OCP\\Files\\NotFoundException","Message":"/appdata_ocw0h1fkius9/identityproof/user-Ben","Code":0,"Trace":[{"function":"get","class":"OC\\Files\\Node\\Root","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Files/Node/LazyFolder.php","line":74,"function":"call_user_func_array"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Files/Node/LazyFolder.php","line":151,"function":"__call","class":"OC\\Files\\Node\\LazyFolder","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Files/AppData/AppData.php","line":132,"function":"get","class":"OC\\Files\\Node\\LazyFolder","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Security/IdentityProof/Manager.php","line":126,"function":"getFolder","class":"OC\\Files\\AppData\\AppData","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Security/IdentityProof/Manager.php","line":146,"function":"retrieveKey","class":"OC\\Security\\IdentityProof\\Manager","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/apps/notifications/lib/Controller/PushController.php","line":119,"function":"getKey","class":"OC\\Security\\IdentityProof\\Manager","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":230,"function":"registerDevice","class":"OCA\\Notifications\\Controller\\PushController","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/Http/Dispatcher.php","line":137,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/AppFramework/App.php","line":183,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/snap/nextcloud/41512/htdocs/ocs/v1.php","line":65,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/ocs/v2.php","line":23,"args":["/snap/nextcloud/41512/htdocs/ocs/v1.php"],"function":"require_once"}],"File":"/snap/nextcloud/41512/htdocs/lib/private/Files/Node/Root.php","Line":206,"CustomMessage":"Exception thrown: OCP\\Files\\NotFoundException"}}
{"reqId":"ZV6w4B21078lVRwQRaOR","level":3,"time":"2024-04-28T02:28:51+00:00","remoteAddr":"192.168.50.15","user":"--","app":"no app in context","method":"REPORT","url":"/remote.php/dav/files/Ben","message":"Could not decrypt or decode encrypted session data","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/5.2.7","version":"27.1.8.1","exception":{"Exception":"Exception","Message":"HMAC does not match.","Code":0,"Trace":[{"file":"/snap/nextcloud/41512/htdocs/lib/private/Security/Crypto.php","line":130,"function":"decryptWithoutSecret","class":"OC\\Security\\Crypto","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoSessionData.php","line":90,"function":"decrypt","class":"OC\\Security\\Crypto","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoSessionData.php","line":67,"function":"initializeSession","class":"OC\\Session\\CryptoSessionData","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoWrapper.php","line":112,"function":"__construct","class":"OC\\Session\\CryptoSessionData","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":449,"function":"wrapSession","class":"OC\\Session\\CryptoWrapper","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":705,"function":"initSession","class":"OC","type":"::"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":1196,"function":"init","class":"OC","type":"::"},{"file":"/snap/nextcloud/41512/htdocs/remote.php","line":119,"args":["/snap/nextcloud/41512/htdocs/lib/base.php"],"function":"require_once"}],"File":"/snap/nextcloud/41512/htdocs/lib/private/Security/Crypto.php","Line":169,"message":"Could not decrypt or decode encrypted session data","exception":{},"CustomMessage":"Could not decrypt or decode encrypted session data"}}
{"reqId":"GBXuv0qFX2rthE0SeE7w","level":3,"time":"2024-04-28T02:28:51+00:00","remoteAddr":"192.168.50.15","user":"--","app":"no app in context","method":"GET","url":"/index.php/avatar/Ben/384","message":"Could not decrypt or decode encrypted session data","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/5.2.7","version":"27.1.8.1","exception":{"Exception":"Exception","Message":"HMAC does not match.","Code":0,"Trace":[{"file":"/snap/nextcloud/41512/htdocs/lib/private/Security/Crypto.php","line":130,"function":"decryptWithoutSecret","class":"OC\\Security\\Crypto","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoSessionData.php","line":90,"function":"decrypt","class":"OC\\Security\\Crypto","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoSessionData.php","line":67,"function":"initializeSession","class":"OC\\Session\\CryptoSessionData","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/private/Session/CryptoWrapper.php","line":112,"function":"__construct","class":"OC\\Session\\CryptoSessionData","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":449,"function":"wrapSession","class":"OC\\Session\\CryptoWrapper","type":"->"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":705,"function":"initSession","class":"OC","type":"::"},{"file":"/snap/nextcloud/41512/htdocs/lib/base.php","line":1196,"function":"init","class":"OC","type":"::"},{"file":"/snap/nextcloud/41512/htdocs/index.php","line":36,"args":["/snap/nextcloud/41512/htdocs/lib/base.php"],"function":"require_once"}],"File":"/snap/nextcloud/41512/htdocs/lib/private/Security/Crypto.php","Line":169,"message":"Could not decrypt or decode encrypted session data","exception":{},"CustomMessage":"Could not decrypt or decode encrypted session data"}}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php

$snap_current = getenv('SNAP_CURRENT');
$snap_data_current = getenv('SNAP_DATA_CURRENT');

$CONFIG = array(
/**
 * Use the ``apps_paths`` parameter to set the location of the Apps directory,
 * which should be scanned for available apps, and where user-specific apps
 * should be installed from the Apps store. The ``path`` defines the absolute
 * file system path to the app folder. The key ``url`` defines the HTTP web path
 * to that folder, starting from the Nextcloud web root. The key ``writable``
 * indicates if a web server can write files to that folder.
 */
'apps_paths' => array(
        /**
         * These are the default apps shipped with Nextcloud. They are read-only.
         */
        array(
                'path'=> $snap_current.'/htdocs/apps',
                'url' => '/apps',
                'writable' => false,
        ),

        /**
         * This directory is writable, meant for apps installed by the user.
         */
        array(
                'path'=> $snap_data_current.'/nextcloud/extra-apps',
                'url' => '/extra-apps',
                'writable' => true,
        ),
),

/**
 * Database types that are supported for installation.
 *
 * Available:
 *      - sqlite (SQLite3 - Not in Enterprise Edition)
 *      - mysql (MySQL)
 *      - pgsql (PostgreSQL)
 *      - oci (Oracle - Enterprise Edition Only)
 */
'supportedDatabases' => array(
        'mysql',
),

'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
    'host' => getenv('REDIS_SOCKET'),
    'port' => 0,
),

'log_type' => 'file',
'logfile' => $snap_data_current.'/logs/nextcloud.log',
'logfilemode' => 0640,
);

The output of your Apache/nginx/system log in /var/log/____:

I couldn't find, sorry. I'm a Linux newb, hence the Snap install :)

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

Not sure what this one means.

I swear, the act of hitting “Post” on a support forum is a catalyst for new ideas.

I didn’t try deleting the app, and re-downloading.

This seems to have fixed the issue - i.e. after re-downloading and re-logging in to my server, and then clicking the “Auto upload” setting, the app requested photo permissions correctly and allowed me to select “Full Access”.

Hooray!

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.