I checked the documentation but could not find anywhere regarding assigning ringtone to a group of contacts programmatically. I was wondering is it even possible without using Private API and app store safe ?
My question is the duplicate of this and this but I checked this application, and it does what I was looking for so may be I am overlooking the documentation ?
Any insight on this would be great.
Its not possible to assign contact or group of contact pragmatically for App Store app but you can quietly do for jaibreak app.
Have a look on this.. Is it possible to set the ringtone file(name) for a phone number in a contact using codes?
Old post but still valid In short --
Apple will not allow any Application in app store which modifies user preferences..
Theoretically this is not allowed as per Apple guidelines because you are not allowed to change user preferences through a separate program. That's simply it is. This is specially true for groups since user doesn't have a way to revert the changes done through your program without his permission.
However, the program you have specified here might be using Address Book API methods to retrieve the group they want to change and modifying the ringtone information through a system command by allowing the current user to be root or admin. Just a thought if it can be done.
Related
I'm facing this problem while designing my iOS app. Suppose that a user purchases an app and downloads it to the iPhone. I would like to provide him with a default consumable item the first time he runs the app to use whenever he wants , however I would also like to track if the user has already consumed the item. This way if he decides to reinstall the app we can restore the transactions (if he used the item) or we can avoid possible intents to download different kind of content by reinstalling app and consuming default items each time. (Guess NSUserDefaults is not an option here).
One approach that came to my mind was using UDID(or any iOS 6 alternatives) to keep a record on server of the user's device the moment he uses the default item. But this will limit items just to the device from which they consumed content.
It would be great to support all the user's devices (like inAppPurchases), but I can't figure out a way to implement this.
Any suggestions or help would be great.
Thanks a lot.
In order to tie information to a user (not just a device she used at one time), you'll need to ask the user to identify herself and save it someplace other than the device. In other words, a backend that implements registration and login.
From scratch, this can be a lot of effort that an iOS developer didn't count on. Fortunately, there are several services in the world that provide a substantial head start. Here's a nice round-up. I've had direct experience only with Parse.com, and think it's excellent.
I need to develop an application that will behave differently depending on the user's country. Let's say, if the user is in France, some functionality would be available. But, if the user were from India, he would be able to acces a different set of functionality.
If it were only language based restrictions, I could switch functionality using NSLocale class methods. But my functionality is really dependent on the user's country because of licensing and legal reasons.
What are the best practices for dealing with this situation?
For each market where you have specific requirements due to market-specific licensing or legal issues, you can create a separate app in iTunes Connect and make it available for download only in the relevant market. And if you need to, this also allows you to provide a market-specific EULA. It's a big maintenance burden, but it would ensure that only users in a given market can access the app.
Note that in XCode you can fairly easily build, deploy and publish multiple versions of your project built from different configurations (XCode calls this "Targets"), so you could still achieve this in a single codebase by simply adding some preprocessor definitions in the relevant target definitions and putting #ifdef in your code where you want differentiated logic.
A 3rd party app has no access whatsoever to any information about the user of the device or access to the iTunes account. There is no way to know the user's true country. At any given time, the device may not even be associated with any one person. An iPod touch, for example, may have no user logged into any iTunes account. The same device can ultimately be logged into one of several different accounts.
All you have access to is the user's current GPS location (if the user allows your app to access that information) or their current locale.
Basically, there is no way to do what you need. Of course you could prompt the user but obviously there is no way to verify this information.
With introduction of iOS 6, I read apple added Contacts privacy settings as explained here.
However, in prior iOS versions, this setting is not present and user privacy is at risk especially after people realized that 'Path' was dumping iOS contacts on its servers.
If an application wants to collect phone book data in iOS 5 or previous versions, which is the better way of doing it?
Ask for permissions explicitly once via UIAlertView.
Ask for permissions every time the back up is made via UIAlertView.
Create an application entry in Settings and ask user for permissions once.
Shun the idea of Phone Book backup altogether.
I think personally you may want to think about bailing on the idea as it seems to be a bit of a quagmire security wise, we are building an app at the moment that uses the address book for invitation purposes and we present a UIAlertView informing the user that we are access and not storing every time the view loads, annoying but it covers us.
Is there a way to programmatically access and modify the core data of the iphone?
I'm making an app for myself, not for the apple store, and I want to be able to access my list of contacts (to delete it) and the list of messages (also to delete it).
I want to make an application with the same behaviour has that feature which allows you to block the iphone in case of theft.
It's being hard to find information about this so any help would be nice :)
/thanks
That's not a particularly helpful answer, because it implies ABAddressBook is going to give you all of the information you want (it isn't). ABAddressBook will give you access to contacts. It won't give you access to messages. Access to SMS and email messages isn't available to developers, for various reasons (privacy, security, etc). So you won't be able to do anything with users messages, because you don't have access to them.
For contact info, use ABAddressBook
Is there a way to check whether an iphone application name is available to use? Would a search on iTunes and checking to see if there is an existing application already out there be indicative that an iphone application name is available to use or not?
As pointed out here, even if you search the traditional channels, there may still be someone who has claimed that same name but not submitted an application yet. If you wish to truly test this out, it sounds like you can start the process of submitting an application on iTunes Connect, fill in the name of your new application, but don't complete the submission. You should receive an indication as to whether someone else has this same store name. If not, it appears you now have a claim to that name.
In any case, because you can have a different name in the store than is displayed on the iPhone, you might be able to use a slight permutation on the name for your store submission, and your desired name within the iPhone application itself.
However, I would second sgmeyer's suggestion that you do a USPTO trademark search first before using a name. Trademark infringement can get you in trouble later on.
I would recommend searching the app store for the name you wish to use. Also, you might want to check the United States Patent and Trademark Office www.uspto.gov/ to ensure there isn't a trade mark that exists on the name you choose.
You must search from iTunes Connect as if you are adding a new app, just searching on Google doesn't show app names that are alreadcoques iphone 4
Search the app store, and search google.
I'd say if the name you want to use doesn't turn up in a search on iTunes, you should be in the clear to grab that name. I assume all app names are subject to approval by Apple, also, so make sure you pick something that's not called "iBabyShake."