Running iOS app in the background without user interaction - ios

Hey all I’m new to the world of Xcode and building apps.
I am wondering if it were possible to have an app run in the background and have it listen to the photos library and if it finds a new photo has been added it would automatically upload that to some type of rest api call without the user having to interact/do it manually?
This will only be used in my household so I’m not looking to get it into the App Store or go through any approval process that apple does if it were going to be in the App Store.
So before I spend too much time looking around - is this possible with iOS 14+? Only thing I have come across that remotely sounds like something that would work would be this PHPhotoLibraryChangeObserver but I’m not sure if the user has to interact with it in order for it to be used or not? I’m open to any suggestions you more experienced Xcode programmers have about the above.

Related

How to demo your react-native app continuously during development

As the title suggest I need to be able to showcase a react native app continuously during development every other day with a client which is not technical orientated. The alternativs I see is,
* Sharing a git/github repo for them to download and run through Xcode
which is not a possibility.
*Screen record while i run the simulation on my computer and share it
with the client
Both of these options seems subpar and not optimal.
How do I do this in a better way?
I am sorry if this seems like an open ended question and if you have suggestions on how to better formulate this question please provide it.
You can upload the binary to TestFlight, which allows your client to download and use the app instantly.
You can also consider over-the-air update systems like Expo or CodePush which allows you to deliver Javascript-only updates automatically to your clients when they open the app (just like a web app).

Update iOS App without waiting for submission

I've seen solutions like AppHub that allow changes to an already-published iOS App without submitting an updated version to the App Store but as far as I know it doesn't support Xcode. Are there any others that are similar to AppHub that support AppCode and Swift?
My reason behind this is that I am making an app for my school and don't like using WebView. There is an announcements tab that needs to be updated daily but to submit an update to the App Store takes a couple of days.
If you are adding daily news to your app, putting a new version on the App Store every day is definitely not the way to go. Look into a backend service like Firebase or AWS to deliver content updates without the need for the user to update the app daily to see them.

How can I know that a special app is running right now

Recently I need to develop an app that has a feature like this
If I download an app from the App Store,I want to know that whether the app has ever launched, Or how can I make sure that this app is running right now(no matter it's in the background or it's active)?
Now I can get all installed apps using LSApplicationWorkspace & LSApplicationProxy
And I can also get the running progresses right now using <sys/sysctl.h>'s stuff which could only provide me the progressName (probably its named with the app's project name)
Can anyone else help me with this?

Detect which app is in foreground on iOS9 without jailbreak

I'm trying to log users individual app usage on iOS9.
I'd rather prefer that it wouldn't use jailbreak limited solutions, self explanatory. Doing the variation of this app on a jailbroken phone shouldn't be hard.
This will certainly not be released on the App Store as Apple wouldn't allow it.
I'm looking for any private API that can do this, any hidden iOS API's that can be used to do this. ANYTHING.
What I've already looked through:
how to determine which apps are background and which app is foreground on iOS by application id
How to know about app launched and details jailbreak iOS 7
Is there a private API to be able to detect what is current foreground app on iOS?
How to monitoring App running in the foreground in iOS8?use the PrivateFrameworks SpringBoardServices
which proved to be relatively helpful - we now can assume that there is some sort of additional access requirement, probably an entitlement, but we don't really know how it should look like
Can you find individual app usage duration using SpringBoard services framework or other private framework?
Find out active application or if on Springboard
Programmatically detect which iOS application is visible to user
However all of these proved to be unhelpful because Apple fixed this security flaw with iOS8 and the method to copy/access the currently front most app bundle identifier no longer works.
Question is: Is there someone who knows a workaround using different tools/exploits that do not require jailbreak?
Ideas:
inspecting the processes running on the device and devising an algorithm that would be able to recognize spikes that mean an app has been launched, which potentially could work, but it probably would be a major pain in the ass. Questions mentioning this solution:
Detect which app is currently running on iOS using sysctl,
Return a list of running background apps/processes in iOS
How to get Names of Background Running Apps
Find Background running apps in iphone
inspecting the phones traffic somehow?
not sure if there is some kernel stuff that I could do
Here is my Reddit version of this question if anyone wants to check it out. Also if it's of any value, here are the runtime headers for iOS9 and list of Apple's private API's.
Unfortunately, I was looking for a similar solution and have come to the conclusion that, at least at this point in time, there are no known methods that will allow you to determine app usage on iOS. Even the MDM providers such as Good, Airwatch, MobileIron, etc. don't seem to be able to do this. If anyone is able to come up with a solution, I'd love to see it.
For now, however, I think we would have seen a solution if someone had one that worked on the latest iOS.
sysctl is still open but they block certain combinations of selectors. I did this on iOS 7 and gave Apple Product Security the code. They won't patch iOS 7 but rely on App Review. iPhone 4 is wide open.

Prevent an ios app from clossing

I am currently developing an ios app for a localization company. The company provides ipads to all his employees so this new app that i'm developing can keep track of them (in case of an emergency and to know if they are really working).
I already finished the app and everything is working fine but now the problem is that anyone can close the app and "hide" his position from us.
It is possible to do something about this?
Also it is possible to start an app on boot. Something like this but on Ios.
Is there anyway to "lock" the app so it can't be closed and only sent to background?
Thanks
EDIT
I tried with the guided access but the employees also need to use other apps (like safari) to do their work. Not only mine. I tried this and effectively you can't close the app but also you can't access other app. Or am I doing it wrong? I want to allow my app to be in background but not close. Sorry if i did not explain myself well.
Many duplicates of this...
Settings - General - Accessibility - Guided Access.
Turn it on and you can limit what the iPad can do.
You can also stop it from closing apps.

Resources