GithubHelp home page GithubHelp logo

danielamitay / ihasapp Goto Github PK

View Code? Open in Web Editor NEW
1.4K 1.4K 175.0 2.16 MB

The iHasApp iOS Framework allows you to detect installed apps on a user's device.

License: Other

HTML 21.29% CSS 8.47% Ruby 0.73% Objective-C 69.51%

ihasapp's People

Contributors

cbworklifeteam avatar danielamitay avatar hbehrens avatar honcheng avatar ihasapp avatar manybothans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ihasapp's Issues

nil appSchemesDictionaryPath

iHasApp ran perfectly fine for me until a few days ago where it started crashing, specifically inside the

retrieveSchemeAppsDictionaryFromLocalWithSuccess:failure: method

It seems the following line returns nil:

NSString *appSchemesDictionaryPath = [selfBundle pathForResource:@"schemeApps" fType:@"json"];

So that later, when this method is run:

NSData *schemeAppsData = [NSData dataWithContentsOfFile:appSchemesDictionaryPath options:0 error:&dataError];

it crashes because the appSchemesDictionaryPath is nil. I can't use iHasApp until this is resolved because my app relies heavily on it. I'd be grateful for anything you could do to resolve it.

Further details:

  1. running iOS 7
  2. running on iPhone 4
  3. running on private Wi-fi

Received memory Warning

While getting list of detected apps, its giving memory warning every time i run the app.
FYI : I am running iHasApp on my iPod touch with iOS 6.1

App installation date

Hi,
This framework is really helpful. Can you add app installation date information in it? Or is there any way to get it from existing information?

Regards,
Payal Baldota

Proc info?

Does this framework provide a way to get running process information? (Looking for things like memory usage, user/system CPU time per app, etc.).

Tiered datasets, a limit, or none?

The dataset from my initial push was actually filtered down (by way of # of reviews, and availability) from an original collection of >20,000 URL schemes.

Previously, this dataset needed to be retrieved from the server, and each additional scheme check takes ~1ms, so I did this filtering for the sake of bandwidth and speed. Seeing as the current dataset adds only ~180kB to a compiled app, perhaps a limit on the number of URL schemes is unnecessary?

As an extreme example, were we to collect 100,000 URL schemes, not only would the compressed file size jump to >1MB, but the detection process itself would take 7X longer to complete.

Thoughts?

Tags regarding dataset: @HBehrens @steipete

Runs very slow on iphone 5c

Hi,

Thanks for the library.
The detections process (detectAppIdsWithIncremental) takes a long time (approx 4 mins) on iphone 5c running iOS 7.0 compared to iphone 4 running iOS 7.1.2.

Have you guys observed this? OR is it that my iPhone 5c device is a bit quirky since it's not updated to latest iOS version?

Regards

Source code?

Thanks for sharing. Can you upload the actual source code for iHasApp? Or I am missing something?

Works very slow in iOS 7

Example app works very slow in iOS7. Though if I launch it in iOS 6 - it is much fatser on the same device. Do you have idea why?

Exposing the canOpenURL URL

I really appreciate the work done here, so I hope I am not out of line with this question. After calling the detectAppDictionariesWith... I get the descriptions and icons I need to display the list but lose the most important part, the URL I can use to start the app.

Any chance of putting that into the appDictionaries array, so that I don't have to mess around with your code?

Thanks.

Chris Shortt

Quicker incremental feedback?

I'm just wondering if it's possible to get some feedback from the Incremental a bit sooner?

I've done some logging and I get about 37 apps detected before the first incremental is fired.

Ideally I'd like to get each app id back as it's detected so I can add a visual to the screen and maybe even start grabbing the app store data individually.

Or even better, maybe fire an incremental for each 5 apps discovered.

Would this be possible? Or is it totally down to iOS when it uses the dispatch queues?

Thanks

System, Authoritative, and Common URL Schemes

As per my comment on Pull Request #5, there are a number of URL schemes that belong to the System:

  • sms, shoebox, javascript, prefs, etc., etc.

A number of URL schemes that belong to certain Authoritative apps:

  • fb should uniquely identify Facebook, yet is implemented by others.
  • Similar to Google/Twitter/Apple apps.

And a number of URL schemes that are common for whatever reason:

  • plusplus in Plus+ games
  • crystal-46399 in Rovio games

The soon-to-be Developer/ section will need some sort of "Blacklist" of URL schemes that will either be unidentifiable (system and common schemes), or only identify a single app (authoritative schemes).

Phonegap hook

Is there a way i could hook this onto phonegap?

Thank you

List of supported Apps

Please give a list of supported / detectable Apps. The IDs in schemeApps.json don`t not help all the time and provide enough information.

How do I use it with a subset of app?

If I only want to check if, for example, 10 particular photo apps on on the device, how would I do that? I thought I could create my own scheme json...?

Crash at iHasApp.m line 61

iHasApp.m line 61
__63-[iHasApp detectAppIdsWithIncremental:withSuccess:withFailure:]_block_invoke40

Fatal Exception: NSInvalidArgumentException
*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[12

Please help review and resolve this bug. I has checked and saw your comment: "Unhappy with this implementation".

Best.

iHasApp crashing

Hello,

I'm trying to use iHasApp in one of my apps. It just ALWAYS crashes on in the line 232 from iHasApp.m, with an EXC_BAD_ACCESS signal when it tries to call _block_invoke.
Does anybody know what can be happening? I'm using iOS 6.

Thanks in advance :)

My App reject used iHas App

We also found that your app uses public APIs in a manner not prescribed by Apple, which is not in compliance with the iOS Developer Program License Agreement, as required by the App Store Review Guidelines.

In particular, section 3.3.1 of the iOS Developer Program License Agreement specifies:

"Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs"

Specifically, we found that this app checks for all apps installed on this device by scanning all known URL schemes using a service called iHasApp.

search not enough

The appstore told me I had 62 apps needs to update, but your app told me I had 57. I don't know why?

Can anybody help me ?

Maintain List with Rich Meta Data

I am not sure, if the iHasApp repository is the right place to collect the data I am thinking of, but for offline research (e.g. avoid conflicting URL schemes, find callable apps of a genre) one would need more data than a simple mapping between URL schemes and app ids. Compared to the current schemeApp.json there should be a slightly enhanced repository one can eventually derive the simple mapping between URL schemes and app ids from.

In addition to these values this list should mirror basic data such as

  • name
  • bundle id
  • version
  • developer website
  • genre
  • supported devices
  • keywords

so even in case an app has been pulled off the app store the willing developer has the chance to detect apps that might be valuable for his purpose and contact the original developer.

What do you think, should this repository be maintained as part of iHasApp? I could also think of another "authority" to collect and maintain this data set. On possible "export" could then be in the format of schemeApp.json. But the vast amount of existing mappings are a great start!

I have a list of ~700 more iTunes IDs

Hi,

I love this project! Really good work. However, I have a list of ~700 apps by their iTunes IDs I'd like to get to know about their installation status on a device. Is there any way to determine the corresponding URL schemes automatically by a script or so? If possible I don't want to go for the usual way with App Store-Download-Xcode-info.plist 700 times. Any suggestions?

Thank you!

is this still support for ios 9 and ios 10?

is this still support for ios 9 and ios 10?
when i run it on my iphone(ios10.3), it show lots of errors, such as
-canOpenURL: failed for URL: "youtube219599544727871://" - error: "This app is not allowed to query for scheme youtube219599544727871"

do you know how could i get all the apps' infos that user ever installed and now on installed on their iphone?

Display app icon with Gloss on iOS 7.1

some apps icon will display gloss on iOS7.1
e.g:
"fb545177895597910": [802854359],

the temp fix for that is
change
[mutableIconURLComponents insertObject:@"128x128-75" atIndex:mutableIconURLComponents.count-1];
to
[mutableIconURLComponents insertObject:@"256x256-75" atIndex:mutableIconURLComponents.count-1];

crash issue: SIGABRT [iHasApp detectAppIdsWithIncremental:withSuccess:withFailure:] in iHasApp

I am implementing iHasApp in my project.

Error i am getting: SIGABRT
__63-[iHasApp detectAppIdsWithIncremental:withSuccess:withFailure:]_block_invoke_3 (iHasApp.m:45)

My app scenario is: on rootview I have one button named "MyApps", on click of MyApps button I am displaying details of application like icon, app name and price in collection view. I have 130+ applications in my device.

App crash scenario is: on click of MyApps button it is showing details of applications, on back button popping view to root view and again if I am clicking on MyApps button app crashes, but not all time it crashes.

Here is screenshot for that:
screen shot 2014-02-01 at 10 16 30 am

Error is:
*** error for object 0x18da3964: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

this crash is in method

  • (void)detectAppIdsWithIncremental:(void (^)(NSArray *appIds))incrementalBlock
    withSuccess:(void (^)(NSArray *appIds))successBlock
    withFailure:(void (^)(NSError *error))failureBlock

does it work on iOS 8?

I have tried to use your api, but it is not working, i am trying this on iOS 8. Is there any problem with ios 8 or i am not able to make setup properly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.