danielamitay / ihasapp Goto Github PK
View Code? Open in Web Editor NEWThe iHasApp iOS Framework allows you to detect installed apps on a user's device.
License: Other
The iHasApp iOS Framework allows you to detect installed apps on a user's device.
License: Other
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:
How can I add some schemes? What is the format of the json file?
"zwapp" (what is this?): 426360184
Thanks in advance
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
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
Does this framework provide a way to get running process information? (Looking for things like memory usage, user/system CPU time per app, etc.).
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?
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
Thanks for sharing. Can you upload the actual source code for iHasApp? Or I am missing something?
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?
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
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
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.And a number of URL schemes that are common for whatever reason:
plusplus
in Plus+ gamescrystal-46399
in Rovio gamesThe 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).
Is there a way i could hook this onto phonegap?
Thank you
Please give a list of supported / detectable Apps. The IDs in schemeApps.json don`t not help all the time and provide enough information.
has any other way?
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...?
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.
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 :)
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.
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 ?
You probably noticed, but just in case I thought I'd mention it.
Is that possible?
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
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!
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!
How you maintain list of the apps? How can I help you with this?
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?
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];
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.
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
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.