Checking if app name is available - ios

I'm trying to check if a certain app name is available on app store. I've tried it before and used this procedure: Related post
But it seems that they have made some changes to iTunes Connect (iCloud style), and now I'm not able to press "Create", without a bundle ID or SKU...
Has anyone found a workaround?

In terms of the specific name of the app, you can just search for the name on the store and see what comes up. Creating a unique name on the store is usually not difficult. Coming up with a unique name that does not violate anyone's trademark is the real challenge.
There is actually a benefit in making your app name detailed. For example, say you created an app for a concert hall called John's Concert Hall. The app could be named "John's Concert Hall - Tickets for Live Shows in Los Angeles". Your logo on the store and your in-app branding might just say "John's" but you choose the longer name for the store to make your app more searchable on the store. If you have a very strong brand like facebook, you might just name it "facebook" without any additional words. Just to be clear, your logo and branding might be different from what your app is actually called on the store.
You need to have a unique bundle identifier when submitting which is typically uses the app's name.
Just because your app's name is unique on the store does not necessarily mean it is legal for you to use. Your business' name needs to be unique in the business class that it is in per trademark law. So if there is another app named "John's Concerts," one could argue that your app's name creates confusion in the market place (i.e. someone looking for John's Concerts might stumble upon your app instead thinking it was the other app). Even if the owner of the other app does not have a formal trademark, if his app was on the store first he has a common law trademark by default, meaning you could receive a cease and desist letter. Say there was another app out there called "John's" involving music but not live performances. This could be a problem, but it is an unclear area of the law. The more general the class that you share with another app, the more murky it is, so the recommendation is always to make the core brand of the app (regardless of how it is named on the store) as unique as possible to avoid being sued later on. If you share any class with a similarly named app, you run the risk of being sued. A judge might rule in your favor, but you still run the risk of incurring a ton of legal fees.
To ensure your app is unique, the best advice is to run a ton of searches on google and at uspto.gov. A lawyer could charge you $500-$1,000 to do these searches for you and provide you with a book that informs you with all the potential problems for your name out there. No lawyer though will guarantee that your name is safe to use. What you are paying for is their expert opinion on how likely you are to being sued. Leave it to a lawyer to give you a non-answer ;-)

I did some poking at this, and found that the server will still tell you whether an app name is in use. You just have to work a little bit at it.
Go to iTunes Connect's create-an-app page/modal as normal.
Put the name you want to check in the name box, and select any of the language options:
Open Chrome's inspector (or whatever way your browser has to manipulate HTML).
Click the magnifying class icon (top left) and click the greyed-out 'submit' button, or find it manually (inside div.right-buttons). Remove the 'disabled' attribute:
Now click the submit button and find out whether the name is available - it'll be highlighted red (and show a tooltip when editing) if it isn't:

Related

Does de-listing an app on AppStore Connect make it's name available for use again?

Yes, I'm aware a new bundle ID means a new listing in the store. That's actually what we want - a clean break. It makes sense for our use case. It also gives us the opportunity to correct our bundle ID, which was inconsistent between our products and was using a legacy product name, thereby causing confusion.
I have an existing AppStore Connect app, A. I'm trying to replace it with a completely new implementation of the app, B, that has the same name but a different bundle ID. My intention was to get B completely ready in Connect, de-list A, then publish B. However, Connect is not allowing me to create the app for B:
I'm therefore trying to understand my options. I've looked at simply renaming A first, but that appears to require a new build of A:
I desperately wish to avoid this because because building A is very time-consuming and finicky to get working (legacy tech, nearly no automation). I therefore thought maybe the best approach would be:
Release B with a slightly different name
De-list A when we're ready
Re-publish B with a corrected name
Alternatively, with permission from the business, I could:
De-list A now
Register B using the same name
However, in both cases it is unclear to me whether de-listing an app will make its name become available for registering again. Can anyone confirm or deny this?

How to get user's age category inside an iOS app?

The Apple App Store has some fairly strict requirements on what content an app can display and still meet the age ratings. I'd like to add a feature that can display content created by any 3rd party which means that, though "adult content" is not appropriate, it's not possible to guarantee that some spammer or vulgar person doesn't post inappropriate things.
I'm considering blocking access to that particular feature of the program for younger users.
How can an iOS app determine the age "category" of its user in order to choose what features to provide?
Other suggestions on how to deal with the issue of un-vetted 3rd party content is also welcome.
Ok so basically you want to know if there is a way to detect the users age and thus display certain features as is appropriate.
Well two ideas come to mind:
IDEA 1
You could try using the built in contacts API to see which contact the user has set themself as. If they have one, then check if it has a birth date. And thus figure out their age.
IDEA 2
Ask the user to enter their birth date in when they launch the app for the very first time. Then figure out the age and save it in a NSUserDefault. You can then use that value throughout the app to determine what features and posts to show the user.

Can my iOS App load a XML file and Generate Interface from the information within XML?

I'm working on a home automation project. Here's what I want to do:
The app starts and it'll have a button to load an XML file.
The XML will have information about the rooms in the house like "Living Room, Dining Room, Kitchen etc.". It'll also have information about the equipment, like "Home Theater, TV, Blu-Ray Player, etc. in this case with a relation with the room that they belong" and so on with IR, RS-232 cmds, etc.
I'll install this app in different houses, so I intend just to change the XML file as the house changes.
I intend to generate the UI from the information contained in the XML file. E.g. The house has only "Living Room and Dining Room". The tab bar will show only those two tabs.
So, my questions:
Will Apple reject my app?
Can my customers just download the app from the App Store, and change and load the XML file? I mean, there's a package in the .app file, is it possible to open it and change the .xml file inside it?
Is it possible to change the UI as the XML information changes?
EDIT: more questions:
#competent_tech is saying that dynamic generation of code isn't allowed, but I'll change the code within the .storyboard or .xib .nib files, isn't it?
About the Contacts: I think is a little bit different idea, because in the contacts app, e.g.: there are 10 fields to fill out, like first name, last name, e-mail, phone number, etc. As a user, if I don't fill out the e-mail field, it'll still be there anyway. My plan is kind of different:
The house has 2 equipments to control: - Tab bar with item 1 and item 2.
The house has 3 equipments to control: - Tab bar with item 1 and item 2 and item 3.
Do you still think this is possible?
Can you recommend a book about this? I couldn't find anything useful myself.
Unfortunately, only apple can answer the rejection question.
However, from what you have described, there shouldn't be an issue since this is configuration-based changes instead of code changes. Apple specifically prohibits download of code and dynamic generation of code.
You can liken it to Contacts: iOS doesn't come configured with contacts, they allow you add them and configure different things about them. This sounds very much like what you are doing.
You should be able to download an XML file from a website or web service and use that to configure the app. We use a web service to retrieve data into the local Sqlite database to configure nomenclature and UI component visibility based on the current user and it works quite nicely.
With generating code they mean executable code, not the generating of views or viewcontrollers. If that is forbidden too, you could distribute your app via addhoc, but you need one developer program per 99 clients.

How does Path app know my phone number in the registration process

I started using Path, and noticed that in the registration process, they identified both my phone number and my email.
As far as I know, there is no way to programmatically get those values (without being rejected by apple), so how does path do it?
Moving my comments into an answer :)
As I've stated above, this is a duplicate of How does Square's CardCase app automatically populate the user's details from the address book?
Because Path asks beforehand for the first and last name it's easy to search for the contact in the address book. Of course one has to handle the case when a) no contact or b) multiple contacts are found. In both this cases I'd probably go with standard input fields, because for the "no contact found" case you need those anyway.
How common it is to have a contact with it's own name I don't know, but according to the Fact that Path and other apps are doing it the same way I suppose it's worth taking the risk :) AFAIK MacOS X automatically creates a contact with my name in the Address Book, but really can't recall if iOS has the same behavior.

in-app purchase best practise: how to use what is downloaded

simple example of the problem:
i have an app that can download backgrounds from in-app purchase.
so i download images (or a zipped image).
now that i have it on my iphone...how can my app knows the name of the image and can load as background of the game?
what i have thought is zip of the image+downloaded.plist;
downloaded.plist is a filename that contains the name of what i have downloaded, so my app loads that plist (i know the name because is always equal) and then the rest...
but now i have to save that information in another local plist that contains all add-on downloaded...
this is a very basic example, but i can in future load levels, character...so i'd like to know how to organize work to have it more general as possible...
what is the standard method to make this?
thanks
I am not quite sure I understood your question, but here are some thoughts.
When the user buys something using iap, you know the associated product id. With that, you can map to the actual thing the user has bought (whether it is an image, a level, cash, whatever). So, you should use the product identifier to know that to give to the user.
It seems you are dealing with non-consumable products here. If you ship your app with the products inside the bundle, you can unlock them using the product id (As you said, you need to maintain a list of the unlocked files). If you need to download the products, the same applies here, you need to use the id to know which file to download.
To organize work, I would implement a store object that deals with the store kit, loads the products according to the transactions made, gives them to the user, maintains all the necessary stuff, etc. You can escale this approach to a set of classes if necessary.
On a side note, for non consumable products, you should perform several things on a server, e.g. maintain the list of products the user bought, validations, etc. You can read about this in the in-app purchases programming guide from Apple.
I hope this answers your question.
Cheers

Resources