Apple Submission Rules and Regulations (SIM CARD DATA ACCESS) [closed] - iphone

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I have done a lot of researches regarding accessing device SIM card data such as SIM serial number and user phone number, and below are my findings :
By using private API for iOS SDK we can extract the needed information from SIM card (If already stored on the SIM card).
The issue related to the rules and regulation for submission apps. On Apple store, since Apple rejects any application accessing SIM card because hey supposed that such behaviors break the user privacy and security.
This functionality used for application not attended for APPStore submission.
References :
How could I read information from SIM card in iPhone?
Programatically get own Phone Number in iPhone OS 4.0
How can I get the phone number of my iPhone device?
Read/write certificates on a SIM card - iOS
all the posts and tutorials that i found said that i can't extract data from the device SIM card without facing apple rejection !!!
My question is ,, is there any way to access SIM card information and publish my application successfully on the Appstore ? and i appreciated any reference to the part in apple submission rules and regulations document that says "NO SIM CARD DATA ACCESS" !!

My question is ,, is there any way to access SIM card information and publish my application successfully on the Appstore ? - No there's no way. There's no direct reference of "No Sim Card Data" in documentation.
As you have already read SIM card data access is not possible using the Apple SDK. Following is the part of Apple Developer Document :
The following guidelines can help you ask for user data in ways that
help people feel comfortable.
Make sure users understand why they’re being asked to share their
personal data. It’s natural for people to be suspicious of a request
for their personal information if they don’t see an obvious need for
it. To avoid making users uncomfortable, make sure the alert appears
only when they attempt to use a feature that clearly needs to know
their information. For example, people can use Maps when Location
Services is off, but they see an alert when they access the feature
that finds and tracks their current location.
Describe why your app needs the information, if it’s not obvious. You
can provide text that appears in the alert, below a system-provided
title such as ““App Name” Would Like to Access Your Contacts”. You
want this text to be specific and polite so that people understand why
you’re asking for access to their information and don’t feel
pressured. Your reason text should:
Not include your app name. The system-provided alert title already
includes your app name. Clearly describe why your app needs the data.
If appropriate, you might also explain ways in which your app will not
use the data. Use user-centric terminology and be localizable. Be as
short as possible, while still being easy to understand. As much as
possible, avoid supplying more than one sentence. Use sentence-style
capitalization. (Sentence-style capitalization means that the first
word is capitalized, and the rest of the words are lowercase unless
they are proper nouns or proper adjectives.) Ask permission at app
startup only if your app can’t perform its primary function without
the user’s data. People will not be bothered by this if it’s obvious
that the main function of your app depends on knowing their personal
information.
Avoid making programmatic calls that trigger the alert before the user
actually selects the feature that needs the data. This way, you avoid
causing people to wonder why your app wants their personal information
when they’re doing something that doesn’t appear to need it. (Note
that getting the user’s Location Services preference does not trigger
the alert.)
For location data, check the Location Services preference to avoid
triggering the alert unnecessarily. You can use Core Location
programming interfaces to get this setting (to learn how to do this,
see Core Location Framework Reference). With this knowledge, you can
trigger the alert as closely as possible to the feature that requires
location information, or perhaps avoid an alert altogether.
You can refer this

Related

Does imitation of standard iOS UI elements lead to rejection in app store? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I'm working on an iOS shopping app where users are shown a popup where they can choose to proceed to checkout as guest or login if they are registered. The design requires the popup to expand to show the password field if the user wants to login (otherwise only the email id field is shown so that he can proceed as guest). If users enter invalid email id or leave a field blank, the popup is required to expand further so that the users can be notified near the fields.
The only issue is, the design is such that this whole popup has the color, gradient and animation of UIAlertView, including the buttons. And as the normal UIAlertView can't be used to provide such extended functions, I designed it myself (as a view) and I'm presenting it modally with animations so that it looks like a UIAlertView has appeared
I just wanted to know whether this kind of imitation could lead to my app being rejected in the app store.
There are lots of components that mimic or extend the Apple components, for example: https://github.com/domesticcatsoftware/DCRoundSwitch
With regards to your UIAlertView approach - there are loads of customized UIAlertViews on github as well, and these have been used in many apps, such as this one: https://github.com/eaigner/CODialog . .nothing out of the ordinary here.
As long as you conform to the Human Interface Guidelines with regards to sizing etc, it will be OK.
I can see another problem with your App, however. Apple will reject an application from the App store that excludes users, or is only usable by a specific group of users. So if you provide a sign-on feature, it needs to be easy for the user to sign-up (freely) or provide guest access.
May be:
App Store Review Guidelines
10. User Interface
10.3 Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iOS Human Interface Guidelines may be rejected
See these docs:
https://developer.apple.com/appstore/resources/approval/guidelines.html
https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html
The way I understand Apple's guidelines they don't want you to use familiar UI elements in suprising ways thereby confusing the users.
By correctly imitating UI elements, you are not confusing the user (as he/she probably can't tell the difference between the native and imitated implementation). So I don't expect them to reject your app.
However, you will have more work to adapt your app to the upcoming iOS 7 design and in particular to create an app that concurrently supports the iOS 6 and iOS 7 look (which will be the reality for some time).

How to disable an iphone app from customers device [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 9 years ago.
Improve this question
I am selling apps on monthly payment plans to external companies. If they decide to stop paying the subscription fee is there any way I can remove or disable the app on the customers device?
Can I for example use Google App Engine, read in a value and check to see if 'Valid' or not. Would this pass the app store review process?
Don
This is how I interpret your situation:
You have several customers, lets say company A and company B and you are making an app to both of them.
To make and host these apps they both pay you a monthly fee.
Suddenly company B stops paying the fee and you wish to remove app B from the app store and render it unusable for all devices having the app installed.
You could do something like this:
Remove app B from appstore by removing it from sale in iTunesConnect
Whenever anyone opens any of your apps (app A or B) you let the app connect to a web server that you are hosting, to see if it should still be available.
You could make sure that you don't make the check unless some time
has passed since the last check.
If the network is not available when you are making the check, do the check at a later time and let the user use the app as normal.
If the check is successful and you find out that the app is no longer valid, give the user an error message and stop showing the app's contents.
As for the review process, I don't see any problem rendering the app unusable, as long as you remove the app from sale on the App Store as well.
About the subscription thing, what Apple regulates is the subscriptions made by the app users, not by the company to who you are selling the app to. You can charge them in any way you like.
Apple will probably not reject your application for having a "self destruct" mechanism, but once they find out you've been utilizing this, they will most definitely pull you out of the App Store for 2 reasons:
Your application is now useless to some people which is not acceptable.
You've been selling subscriptions indirectly and not through Apple.
If your app is for your targeted users, why not use logins? If you've already have logins, then you can disable their account at any time. If you wanna go more complicated, you can also create web services and whenever they log in, check their UUID. In this way, you can ban them either on their accounts or their UUIDs. Ban on their UUID could be useful to protect their information if they lose their devices.

iPhone App Icon - usage and licensing [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I hope this is the right place to post this. If not, please redirect and I will be happy to move.
I am a little confused about the App Icon that represents our app in iTunes and on the devices. I am having some questions, specifically, about licensing for the icons I choose to use.
Technically, I was wondering of the app icon is officially defined as a 'logo'. It seems like if it is called a logo, on many sites you have to buy the exclusive rights to an image before using it as an app icon.
Otherwise, it seems like you can simply purchase an extended license. Obviously this differs from site to site, but they seem to all say I need a simple extended license when I describe the use, then they turn around and say that a logo needs exclusive rights. It's too bad that mant of these sites haven't addressed iOS applications as a category specifically.
Additionally, we specify several icon images within our apps in the plist file. I think I read somewhere that we might need a separate license for each of these icons, even if the same image is used repeatedly.
I could really use some feedback on this issue. I want to be compliant with the law and respect the needed licenses, without spending way more than I need to, and I already have app icons out there (and can't get a consistent answer from the site where I bought the icons) so I don't want to go the paid designer route. Thanks.
First off, we are not lawyers. We cannot give you legal advice.
That said, you should not use art you do not own in your app, regardless of how you use it. As an app icon, it may well count as a logo depending on the legal/applicable definition of that term. It certainly counts as copyright infringement if you don't have the rights to the art in question.
Ideally, the company you're working with should be supplying the app icon and other art. If they're unable to do that, they don't sound terribly professional. Art is not (usually) the coder's responsibility. Check with the company and get a consistent answer.
As Jonathan said so well above, I am not a lawyer, so take this with a grain of salt... it is not legal advice.
Whether or not an image can be used with an extended license, without full-on purchasing the rights, seems to depend on it is technically a logo or not. Also, whether you are trademarking the image. The logo part is where things get grey... and I haven't been able to find any clear answer on it. There may not BE a clear answer.

Is it possible to "register" an iPhone App Name? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I was wondering if It is possible to "register" an iPhone App Name before the app goes on the app store?
Example:
A developer comes up with a really clever name for a iphone game.
He wants to register the name before he programs the game so that no one else comes up with the same name.
Yes, you can, but only for a limited amount of time. When I tried it, the time period was 120 days, but this may have been changed to 90 days. EDIT: It seems that this is now 180 days, based on the comments below.
A developer can choose enter information about the application before uploading it, but Apple will remove the app and it's meta information if the name is not used within the grace period. You cannot use the name ever again after that.
I have, however, some apps that were rejected on the first review and were never re-submitted. It seems that those names are still available to me. Just don't submit a really lame first submission or Apple will know that you are "parking" the name.
Here's a screenshot of my email from Apple:
You can squat a name for something like 90 days per recent Apple iTunesConnect changes. If you do not upload a binary in that time, it will be deleted and you will be unable to use it again.
There exists a loophole I have found though I don't know how long it will stay open. It seems that uploading a binary, any binary, then immediately rejecting it will prevent you from deletion. I don't condone squatting, but sometimes, apps take longer than 90 days to develop.
If you have the money, not only submit the name in iTunes Connect, but register a trademark on the name. If you don't, than someone who does, and gets to market first with any other mobile platform game, might try to take the name from you, or involve you in legal wrangling in an attempt to do so.
You might also want to quietly snap up all the relevant domain names, if you can.
A developer can upload basic information about an app including the name before the binary is ready to be submitted. The developer needs to be set up in iTunes Connect and have an active Developer Agreement.

How to remove ads when user buys in-app purchase [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have an app that I want users to be able to pay a small fee to remove ads from. I figure the best way to do this (the app needs to remain free) is via an in-app purchase. I'm wondering however the best way to go about removing the ads and how to do it once the user has bought the upgrade. Any help or advice would be great thanks.
A boolean in NSUserDefaults seems like the right bet. You can check it on launch to see if ads should display, have the app hide or show ads accordingly, and set it to the appropriate value when the user pays to disable it.
Edited to add:
Just saw this on the dev forums. If you're especially concerned about users on jailbroken devices fiddling with your NSUserDefaults boolean, you could alternatively store the data using keychain. Keychain can't be meddled with in the same way NSUserDefaults can. More details at that link.
I don't generally believe in expending much effort at all on anti-piracy stuff but this is an easy way to cover yourself that doesn't cost terribly much more than using NSUserDefaults.
Another approach would be to record the receipt from the SKPaymentTransaction received on purchase or restore. On subsequent launches you could verify that receipt with the app store in the background, re-enable the ads for next launch if necessary.
Verifying Store Receipts documentation
Whilst I don't think this protects you from pasting in a valid user's receipt from elsewhere, it's more difficult to circumvent than toggling a boolean in the NSUserDefaults. Anyone going to this length is unlikely to pay for your app anyway.
Well, this problem is not iphone limited. You should apply one of the many security algorithm.
(I don't know how the purchase is done but i'll make a suggestion)
You can for example after purchase make the app send the IMEI to the purchase server that will generate a code that the app will save. Then all the app will check for it to enable/disable the ads. (try to make the code with some hashing algorithm or such)
Please remember that all systems can be cracked so don't try something too complex that will give your real user headache.