Generate song suggestions (auto-complete) - ios

I'm developing an app and I want a user to be able to start typing a song name/artist/whatever and then have a list/drop-down show suggestions on the fly depending on what the user typed (preferably as the user is typing).
I was thinking I would need to use some sort of API which queried the iTunes database for songs available for purchase (or any other large database with song information), but I'm open to using any other source.
Does anybody know of an API I can look into or a framework I can use. I don't need a solution in code or anything, I'm simply asking for a nod in the right direction.
Let me know if you need anymore information. Thanks.

Apple exposes a search API for the iTunes Store. That should help you. https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
Here's a writeup by Apple describing the API: https://www.apple.com/itunes/affiliates/resources/blog/introduction---search-api.html
From there, you just have to hit the endpoint with the appropriate parameters and then display the results. The endpoint is:
https://itunes.apple.com/search?parameterkeyvalue

Related

Using the Swift Contacts Framework

When the app has access to the devices contacts, and you need those contacts to populate a PickerView, does it pull the contacts to a Firebase DB and fetch those contacts to populate the PickerView? Or does it do it within the phone(maybe Core Data)?
Any advice or guidance would be greatly appreciated.
If does and I can use Core Data, can I use it hand in hand with Firebase, or does it even store it somewhere? I'd like my users to be able to select which contacts they want to add to the app.
Thank you in advance.
I think it would be best to pull from the device's Contacts, using the Contacts Framework - in Xcode this is the Contacts.framework package. The Apple site offers some sample code that you might be able to take advantage of in your application. For that you'd need permission from the user by enabling a NSContactsUsageDescription in your info.plist. That describes to the user why you'd need access to their contacts.
As far as storing the data in a Database, I'm not sure that would be a wise decision nor one that makes sense. Consider the reasoning behind that, does this information need to be on some remote database? if your answer is no, then chances are that you don't need to do that extra work. You might however register new users that use your application with something like Google's Firebase if you want to manage any messages between users (for a chat app for example).
Hopefully that answers your question and helps you out in some way.

iOS app trouble storing user's documents/photos anywhere other than the phone

I'm trying to find a way of letting a user store their photos/documents online for my app. They can upload these to the app after registering an email and they remain on the phone even when the user logs out and then in again. However if the user deletes the app, downloads it again (the developers are using TestFlight at the moment), and logs in, any photo or document that the user saved before deleting has vanished.
I've been told that the data hasn't been stored on the Kinvey SDK service that we have been using as it takes a while to upload the data and then was told the app would be better suited on Kinvey REST API as the SDK version doesn't support background mode which supposedly would help store the data quicker (but this still wouldn't be 100% sure the photos/documents would be stored)
I'm not a developer/coder so I'm afraid I don't know much technically but my app needs to be able to have access across devices for the user's photos and documents, if these are 'lost' it would be catastrophic.
Please could someone help me if there a way of doing this?
Thank you.
Well If you want to save pictures or data that do not get deleted here are few options.
Save them iPhone,iPad gallery if not the use REST API
"Kinvey" can be used for that.
The alternative of "Kinvey", Kindly look into this.
https://www.raywenderlich.com/126098/top-5-parse-alternatives.
and may be you can try this. It provides chat feature too.
http://quickblox.com/

How to work with Firebase App Indexing for IOS Apps

i am in the process of making my app with firebase i am pretty much done with that except Firebase App Indexing. I am very exited with this feature because it could help me to increase my app get more traffic from the web but the problem is i really can't able to see how to implement this. According to Firebase Docs i just need to register my app with this pice of code
[[FIRAppIndexing sharedInstance] registerApp:your Apple ID from iTunes Connect];
I have done that but what should i do after that?
1.My app is firebase app that means i don't have any website to host my content except firebase realtime database. Does my content is available for crawlers? if not how can i make available to them?
2.If i can able to show my content in the google search results i don't wanna show all the content and i wanna show just some of my content for example i have a social app for sharing General Knowledge questions, i wanna show just the question like "What is the highest mountain" in the search results and if the user want to see the answer it should take them to my app how can i do that?
3.As per docs i came to know that i need to create univiersal links for my app content to direct users from google search but how shold i do that ? Lets say should i crate universal links when the user create question?? if so how can i do that ??
Thank you very much for the help.
This is not currently possible on iOS using Firebase App Indexing. The situation is slightly different on Android, but that is not applicable to your question.
On iOS, Firebase App Indexing is simply highlighting pages on your website in Google search results that have corresponding content inside your app. This is achieved by piggybacking on Apple's Universal Links standard, and there is no proactive 'crawling' going on inside your app. This means unless you have a corresponding web page for your app with 1:1 content parity, you can't really benefit from Firebase App Indexing on iOS as it comes out-of-the-box.
The best workaround is to generate little 'placeholder pages' for every piece of content in your app, which the sole purpose of opening your app (if it is installed) or redirecting to the App Store (if it is not installed). Ideally you'll need some sort of deferred deep linking system so that users still see the correct content after downloading. Fun fact: this is essentially how HotelTonight operates their entire business model. Unfortunately Firebase's implementation is not mature enough to support this full flow, and Google hasn't quite figured out how to rank app-only content properly yet in search results so you will probably need to pro-actively submit your placeholder pages to them.
Shameless plug: at Branch, we provide all of the above as a free service. You can read more about it here and take a look at the set up docs here.

options on how to read external data into my ios app

ive begun writing an ipad app which will use mapkit to show nearby locations of people offering things for sale ie like property (houses, units etc). i know an individual user can store their own information, data, photos etc on their own device and im intending to incorporate coredata to allow this. What i dont understand are the technologies needed to get "other user's" info, data, property photos etc showing on an individual users device. from my limited knowledge i assume i would need some type of server technology and then send all the information from all current nearby users to each individual user's device so each user can see all the "offerings" of nearby users. what i dont understand is if apple (or anyone else) has provided some frameworks which i can piggy back on to achieve this or whether i'm on my own re learning and developing this. any assistance on best way to start this task is appreciated
You can use Parse as your backend service . It is free at some point.

Is there a way to track my app's search ranking on Apple App Store?

I want to programmatically track my app's search ranking on Apple's app store. Is there any API or website to do this, outside of the 'App Store' app on my iPhone?
the following websites allow searching the iOS app store.
https://theappstore.org
http://fnd.io
I'm not sure how the exact ranking is reflected, but Apple now provides an JSON API call that you can make.
https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/
This includes the ability to add in a callback parameter so you can even incorporate it into a web app without having to parse the results on your server.
The end API call would looks something like this:
http://itunes.apple.com/search?term=props&entity=software&country=US&callback=lkasdfj
In case users are still looking for this. Apple finally made it possible to just use the apple.com website:
https://www.apple.com/ios/app-store/ Use the magnifying glass in the top right to search the apps.
Once you find the app you want, there is a unique URL that you could use to grab information for tracking or other purposes as well.
You can't do anything other than look at the app information at this time (no way to initiate a remote install to your phone or leave a review, that has to be done on the device)
You can use the google advance search option like
site:itunes.apple.com/us/ "requires iOS 9 or later"
and then scrape the response.
You can use data.ai formerly App Annie. The free version will give you daily and overall search ranking for your app, and will help you immensely in ASO (App store optimization)

Resources