Can ios apps get a data on which applications users have downloaded to their device similar to what android allows?
No this is not possible in iOS. iOS is focused on user privacy and security and giving developers information about which apps have been downloaded raises major privacy concerns.
This is not possible from code within the app. User information is kept private on purpose.
What you can do if your app is published is login to iTunes connect with your developer account and see data on your app for sessions, installs, and crashes.
I don't recommend this, but you could look into CNContacts or Address Book to see users data by getting their vCard and saving it as some analytics system. This will most likely cause you to get rejected unless you're very clear on what you're doing in the app.
Related
Seeking expert advice
I am working on an OTT platform for a client that has iOS and tvOS apps;
I am a bit confused about whether we should show the App Tracking Transparency pop up for this app if we are not using IDFA.
We are using the following analytical tools in our apps.
Firebase Analytics and Crashlytics
Mixpannel
Youbora
I made sure that any SDK is not using IDFA using this method.
Additionally, we send identifiers to large content delivery networks like Akamai to give the users a personalized experience.
When we submitted the tvOS app for the first time, it was rejected for not showing the ATT popup. (Existing iOS app is already showing it)
These are the App Privacy information added by the iOS team in App Store.
I seriously doubt that we don't need to show this popup since we are not using IDFA identifier. Is that correct? We can use these analytical tools and all even if the user denying the tracking option. So if we show this popup unnecessarily, it will create a negative impact on the user experience.
My app was rejected because
The use of non-public APIs is not permitted on the App Store because
it can lead to a poor user experience should these APIs change.
in the method
viewControllerForView:
I asked where I used viewControllerForView: and they responded
“viewControllerForView:” was found in the methods:
-[FBSDKLikeButton _handleTap:] and -[FBSDKLikeButton _like:].
My FBSDKLoginKit, FBSDKCoreKit and FBSDKCoreKit pods are all at 4.15.1 (the latest version). How should I go about fixing this?
You don´t need to make any changes in your code, read this post from Facebook developers of how to solve it.
After integrating our SDK into your iOS app, you will need to submit
your app to Apple for review. As part of this review process, you will
be asked if your app uses the Advertising Identifier (IDFA). Please
check "Yes". You will then be asked how your app makes use of it. The
question will take this form: This app uses the Advertising Identifier
to (select all that apply)?
- Serve advertisements within the app
- Attribute this app installation to a previously served advertisement
- Attribute an action taken within this app to a previously served advertisement
If you will be using the Audience Network framework, you must select
the first option. If you are using our core framework to track
install attribution and app events, please select the second and third
options. If you are using both, select all three.
You will also be asked to check a box to confirm that your app honors
a user's Limit Ad Tracking setting in iOS. The Facebook SDK honors the
iOS Limited Ad Tracking Setting. When a person enables Limited Ad
Tracking, Facebook only uses data obtained through the use of the
Advertising Identifier for “Limited Advertising Purposes” as defined
by the iOS Developer Program License Agreement. Please make sure check
this box when prompted.
Marking these questions in this way will help ensure a smooth review
process
Over the past little while I’ve been working with a client who would like to leverage Apple’s new Suggested App feature on iOS 8. The client's goal was to display a suggest app lock screen notification any time a person passes by a specific geo-location. After spending some time trying to find a concrete answer to what level of control (if any) the client would have over Apple’s Suggest App feature, it was decided to send our questions directly to Apple.
Below is copy of the questions I sent to Apple.
Hello,
For our next app release, my team and I would like to leverage Apple's Suggest App feature provided in iOS 8.
We've taken a look through the iTunes Connect portal and we haven't been able to find a configuration panel anywhere which allows us to control when/where our app should appear as a suggested app.
Questions:
Is it possible for us to specify the conditions that out app will appear as a suggested app for users who haven't downloaded it yet?
Can we specify a geo-fence that will display our app as a suggested app on a user's lock screen?
If we have no control over Apple's Suggested App configuration, under what conditions will our iOS appear on a user's lock screen as a suggested app?
STEPS TO REPRODUCE
Turn on your phone
Enable suggested apps
Enable 3G
Lock your screen
Walk past a region.
Expected Result: A suggested app appears on the iPhone lock screen.
Here is the response I received directly from Apple Developer Support Team:
Hello,
Location relevant Apps are recommended on the lock screen and in the App Store based on a number of factors, including their popularity at the location, and there is no mechanism or process by which an App developer can add their App to the list of recommended Apps.
However, if your iOS App is directly related to the location or venue (such as a mall guide iOS App which is published by the mall owner or operator), and you believe your iOS App’s relevance warrants it being included the list of recommended Apps, then you are encouraged to submit an enhancement request via http://bugreport.apple.com/, and request that Apple consider whether your iOS App should be included in the list of recommended Apps for that location.
You should provide as much detail in the ’enhancement request' about the App and venue/location as possible, such as the App ID, App Name, URL to the App on the App Store, venue name, venue location (address & lat/lon), the relevance (if any) of your iOS App to the venue/location, and relationship (if any) between you as the developer and the owner/operator of the venue/location.
Submission of an enhancement request does not guarantee that a particular iOS App will be added to the list of recommended Apps for a venue or location, and the sole feedback from Apple on the request will come through the http://bugreport.apple.com/ bug report system.
Regards,
Apple Developer Technical Support
I'm wondering if an app has access to the info that shows the other apps on the phone and what permissions they have (i.e. access to your location, contacts, etc).
Could I create an iOS app with a feature that displays other apps and their permissions? I know the user can view this info via settings, but I'm wondering if it can be organized and displayed by an app.
a similar question was asked here:
How an app to know what other apps have been installed in the device
but the solution method (iHasApp) only works for about 50% of apps, and doesn't address seeing the permissions of those apps.
Thanks!
No you can't access apps data due to sandbox structure upto iOs7.
I recently downloaded an app (Overkill) and they have an in game "virtual currency" called "overkill medals" or "OM". You can use the in-app purchase system to buy more OM, or you can earn it, through their service called "Tapjoy."
Tapjoy (inside the Overkill app) brings up a menu with eligible apps, and a link to the iTunes store to download it and requires you to "download and open" the app in order to earn your OM.
How does this app know that I have downloaded and opened the app, in order to award me the OM?
Edit: It also seems to know when I had the app already
The app is likely checking to see if another app has registered a custom URL scheme, by calling UIApplication canOpenURL, against a list of known schemes dolled out by Tapjoy to each implementor.
The isn't anything within the Apple's iOS SDK that would allow this, so in all likelihood each of these apps is registering with a web service. The server is tracking installation and use of the various apps by relating the unique device id.