Getting info on other apps via Objective-C - objective-c

Is it possible via objective-c to find information (such as the names) for other apps installed on an iPhone from my app?

If you mean a "legal" way to do this and get the app in the AppStore, then no, Apple does not provide such an API. And they probably never will, because this will go against the users' privacy.

Related

Branch.io smart banner how detect open or download app

I'd like to use branch smart banner because it can open app if it was installed. But i've understood how it work. I need install ios sdk in my app and use setIdentity?
Alex from Branch.io here: the smart banner actually doesn't require the SDK to be integrated. setIdentity is a completely separate method used for tracking individual users, and isn't used at all for the smart banner.
However, integrating the SDK is definitely the easiest way to get things working, because even without it you would still need to set up a Branch account, configure all your link routing rules in the Branch dashboard, and then enable Universal Links in your app (if it's iOS). Since that is 90% of the SDK set up process, you might as well do the whole thing so you can also take advantage of things like install attribution and analytics!

App with non-public APIs gets rejected

I made the MAC app and submitted for the review. But Apple has rejected the app and gave following reason;
The use of non-public APIs can lead to a poor user experience should
these APIs change in the future, and is therefore not permitted. The
app includes ': OBJC_IVAR_$_NSWindow._contentView' from the framework
'/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit'.
I have used third party files of OBMenuBarWindow.h and OBMenuBarWindow.m files.
Can you please tell me what can be the issue? and how to solve it?
Thank you

Is there an alternative to (the deprecated) canOpenURL in iOS 9?

I am using apple's canOpenURL: and openURL: methods to detect & open other application. But as these methods are deprecated in iOS9, They returns NO.
Is there any alternate to manage this?
Thanks
You need to provide "whitelist" to your plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>urlscheme</string>
<string>urlscheme2</string>
<string>urlscheme3</string>
<string>urlscheme4</string>
</array>
See for more details
iOS 9 has made a small change to the handling of URL scheme.
More details
Here you can find some information.
as the article said:
Up until iOS 9, apps have been able to call these methods on any arbitrary URLs. Starting on iOS 9, apps will have to declare what URL schemes they would like to be able to check for and open in the configuration files of the app as it is submitted to Apple. This is essentially a whitelist that can only be changed or added to by submitting an update to Apple. It appears that certain common URLs handled by system apps, like “http”, “https”, do not need to be explicitly whitelisted.
In short: Apple wants to prevent apps from being able to scan a user's device and know which apps are installed
So to answer to your question: actually there is no solution, because apple want exactly to prevent this kind of behaviour
In some contexts, if you need to open arbitrary deeplinks, the Universal App Links can be a solution: you point to the website of the app (which needs to implement this behaviour) and iOS 9 will automatically deeplink to the adhoc app.

How to create a login to a Google Glass app?

On https://glass.google.com/myglass, apps that require a login do it from the website before installing the app. How can I create an app that requires a login like this? I can't find anything in the documentation about it. Also, how can I test the app since it would not be in myglass?
Although Google has worked with some partners to get GDK-based Glassware in MyGlass that use auth, there is no public method to do so yet. This is a frequently requested feature, and you can expect that once the GDK leaves Developer Preview, it will be available.
Until then, you will need to test your app by sideloading the app onto Glass. If you're testing for yourself, you can hardcode the auth into the app, and many people have hacks that use QR codes.
Keep in mind that this only holds true for GDK Glassware. Anything built with the Mirror API has authentication as part of its web-based initialization which you can trigger without having to go through MyGlass.
Currenlty, Google Glass apps implemented with GDK do not have access to authentication support. The Google Glass team has accepted this issue to be implemented, but it is not there in XE12. Information from the Glass Team indicates that such authentication will be through the Account Manager, when it does arrive.
Only speculation and rumors about when that will be! (Though I will look at XE14 carefully when it comes out, moving Glass Android to 4.2.2 (KitKat).)

iUI Framework vs. Cocoa Touch

I am building an app that will take most of its content from Facebook i.e. photos, personal info, etc.
I was wondering if anyone can give me advice on which framework would be the most suitable, iUI or Cocoa Touch? What sort of apps would be suitable for the iUI framework and what apps are more suitable using the standard Cocoa Touch?
Native apps run quickly, can be used offline and can make use of more of the device's hardware.
Web apps are more portable (you could make them available on Android as well, for example) and don't have to be vetted for inclusion in the app store.