As you know, Apple disabled app extraction in iOS 9. But in this case I'm talking about an enterprise app not bought apps from App Store.
Is there anyway to backup or better to say extract IPA of installed apps in an iOS 9 device?
Thanks
Apple remove this feature for various reasons. See:
Why did Apple kill App extraction in iOS 9?
3 very good reasons which we believe pushed Apple to completely remove app extraction from iOS 9:
App Slicing
Because universal apps are destined to be stripped, extracting the .ipa package from an iOS 9 device doesn’t make much sense anymore: it may only be installable on a device with identical resolution.
Frequent Updates Improve Security
Blocking app extraction will effectively shorten the lifespan of stale versions of apps, improving overall security of the iOS ecosystem.
Preserve Disk Use
All these backed up apps quickly add up, and can result in literally tens of gigabytes of outdated apps eating up your precious hard drive space.
If you'd like to have a backup of your app, you can try to use iMazing app for backing up and restoring application data.
Related
I'm developing an iOS app with a corresponding watchOS app. The watchOS app is not required and the iOS app should still be accesable to people who doesn't have an Apple Watch.
My question is regarding the size of the app; the binary size. Does the people who needs the watchOS app and the people who doesn't download the same binary?
If this is the case, this means that for the non-watch users the download size will be unnecessary big, since it also contains the watchOS binary, right?
Looking at Apple's documentation on App thinning and Bitcode, it seems that they do quite a lot to ensure an elegant and small footprint for apps, including on demand resource download and architecture specific binaries.
That said, it seems that WatchOS components aren't included in this process.
I know that iOS's development restrictions are harsher than those of Android, especially those concerning with privacy (ex: application usage tracking). There is allegedly only one iOS application that allows application usage tracking, which is Moment https://itunes.apple.com/us/app/moment-screen-time-tracker/id771541926?mt=8 .
I'd like to know if such limitations on data collection in iOS are only imposed on the app store, or even mere iOS development.
Thank you in advance.
#Jiyoun As far as my experience in iOS Development, you've more space for playing in iOS development than publishing app on Appstore. Thats why Jailbreak still exist and still in news.
I would like to know that is it possible to implement and run a new app store for iOS apps? I know, iOS devices must download apps only from AppStore, but is there any way to run an independence iOS AppStore website or app?
The answer is NO. period.
3.2.2 Unacceptable
(i) Creating an interface for displaying third party apps, extensions, or plug-ins similar to the App Store or as a general-interest collection.
App Store Guidelines
Jailbreak app stores: something like Cydia. You can do pretty much anything with / on jailbroken devices.
You can easily create a website that is a subset of the official AppStore with different filters / rankings / search capabilites etc. In the end you can only support the apps available in the real AppStore since that is the only place to install apps from
Create an entire development environment and ecosystem to create apps which can be installed inside your new AppStore2.0 app. But good luck doing that complex task and good luck getting it through the apple review process.
Enter to Apple enterprise program - https://developer.apple.com/programs/enterprise/
I need to develop an enterprise application, which should be able to close all other Apps which are currently running via multithreading on non-jailbreaked iOS-devices.
Some years ago I had an App called PKiller or Process Killer, which listed all currently running applications including their program ID and was able to close them. It was an App published in the official AppStore but of course Apple took it down, due to the violation of their guidelines.
Does anybody know how to get currently running processes and shut them down?
(again this App will not go to Apple / the AppStore, due to the fact, that it's an enterprise Application)
EDIT:
I did deeper researches and found out, that you can't even get any running or installed Apps and the connected information like the PID anymore in iOS 9. Apple made the sysctl no longer accessible to sandboxed iOS 9 apps. Also other methods in order to get any third PID failed in iOS 9.
There was a way to do it in the past, but as of iOS 9, it will no longer work. The library that was used for this, sysctl is no longer accessible to sandboxed iOS 9 apps.
In iOS 9, the sandbox now prevents a process from accessing the
kern.proc, kern.procargs, and kern.procargs2 values for other
processes
and
iOS apps are not permitted to see what other apps are running
https://developer.apple.com/videos/play/wwdc2015-703/
There may be another way, but it certainly will not be as easy as it was a couple of years ago, and not without major effort that Apple will be looking to shut down, even for enterprise apps.
I believe you can't do that because apple won't allow you to access the data out side on your application sandbox.
By "legally" I meant methods which will be accepted to App Store.
I have read this one, but I feel that it could be out-date (a question and most answers are dated back 2008)
How to share custom data between iPhone applications?
And these provides minimal info:
Sharing files Between Apps on iOS Devices
Sharing data between different apps in the same iOS device
As I understand these methods are
Completely legal
1) UIApplication openURL
2) Keychain can be used if both applications are developed by the same team
3) iCloud could be used if both application are developed by the same team
Grey area.
4) Global notification using CFNotificationCenterGetDarwinNotifyCenter, CFNotificationCenterAddObserver, CFNotificationCenterPostNotification
5) Use TCP/IP sockets (if one of applications run in background)
6) Use Unix sockets (if one of applications run in background)
7) Use custom UIPasteBoard
Did anybody got rejected or accepted who used this?
Does anybody know any other methods?
-- Update 1--
Both apps will be running on the same device.
There is a chance that one of the apps will be running in the background (VOIP)
Apps will be developed by different teams (won't be signed with the same certificates).
i would recommend using icloud because apple sends the files to all devices, and you can get the files in both apps using it. if you want to do it with someone elses apps, you would have to ask that developer. but icloud is probably the easiest and fastest way.
What about using a service like dropbox? It's used by quite a lot of apps, and I think they provide a rich API.