I have been struggling for quite some time on this issue. I have an app that runs on iPhone (>= iOS7) where I need to pick all the pictures that the user takes (after asking for camera access, of course) and upload them if they meet a certain criterium. Obviously, since the user is taking the pictures from the camera app and not from inside my app, when the picture is taken, my app is backgrounded, and not always do the users re-open the app after taking their pictures. As I don't use GPS/VoIP/Accessory in my app, I don't have these permissions enabled in my app's plist (I only have fetch and notifications enabled, as I use these). To know that a user has taken a new picture, I have tried two different approaches: (1) using an observer and (2) retrieving the last pictures from ALAssetLibrary, keeping the last picture creation date in memory and comparing it to the latest pictures retrieved. Both of these work well when the app runs in foreground (meaning if i awake my app and execute them, I can get the pics correctly with either of these methods) but I haven't found a way to make either of the methods work in background. In the first case, the observer only gets the notification when the app is in foreground OR for the first three minutes if I have any long running task running (which have a 3 minutes limit). In the second case, the problem is similar (I run the scan on a long running background task, let it sleep after scanning for 2 minutes then launch ANOTHER background task that do the same); it seems that even if I spawn multiple background task one inside the other the 3 minutes time limit is still enforced across tasks... I am sure there is a way to achieve this, as I have seen at least one other app on the App Store that does EXACTLY this, without any of the special permissions (VoIP/GPS/Accessory etc). Anyone has a tip to get me on the right way to achieve this? Thanks in advance!
Detect a new picture has been taken while in background
176 Views Asked by Netrunner At
0
There are 0 best solutions below
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in IPHONE
- How to control the volume of an iPhone programmatically in objective-c
- my website crash on safari The site sometimes crashes and I can't recover the crash
- Postal Framework crash in iPhone but runs successfully in simulator
- Xcode 15 building failure when using iphone 15 as simulator, using ios 17
- Images uploaded via Active Storage not displaying in Active Admin or on certain devices
- Any problem with creating provisioning profile with old Iphone?
- Does anyone know how to make iPad layout the same as iPhone's? Size wise the text and overall layout get's smaller when I run the app on the iPad
- Keyboard not appearing when connecting smart card reader to iPhones with type-c port. i.e. iPhone 15/ 15 pro
- Access the list of SIM mobile numbers installed in the iPhone
- Can we produce haptics and record from microphone the haptic sound at the same time on iOS?
- SwiftUI's localized string do not load from main bundle despite using the main bundle identifier (an xcode bug?)
- Cordova iOS only app upload through transport requires WKWatchKitApp
- Amazon s3 video is not played on Iphone
- build getting failed for ios xcode build -flutter app
- "Error when Importing 'mysdk' into iOS Demo App: dyld Library not loaded: @rpath/MQTTClient.framework/MQTTClient"
Related Questions in BACKGROUNDING
- Allowing Application to Run in the Background in iOS Swift
- Why do I see diminishing returns on speed of backgrounding processes in Bash?
- Xamarin iOS backgrounding app termination
- Xamarin Message Center Multiple Of The Same Message Different Results
- Xamarin Forms Background Service For Data Sync Even If App Closes
- Submitting data from Xamarin iOS when backgrounded
- How I can create a loop Background Service in Xamarin.forms
- Store (or send) data from Bluetooth device when app is in background
- How does Google Maps know my position without using a foreground service?
- Cannot background HTTPie http request with `&` in .sh script
- Xamarin - IOS - CLLocationManager: get location updates when iphone is locked or sleeping
- Xamarin - IOS: sending a web request every N minutes even when the phone is locked or sleeping
- C# Xamarin IOS Backgrounding Loop with HTML Request
- AVAssetReader failing when entering foreground again
- Creating a push or background service that checks remote server
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?