Newsstand kit and providing multiple magazines/newspapers in one application - ios

So basically my questions is: Can newsstand kit be used in one single app for several different magazine subscriptions? From the wwdc 504 session it doesn't really appear that this is true. In my understanding it appears that a magazine/newspaper subscription is coupled with 1 app. For instance the UIApplication setNewsstandIconImage only has a single UIImage parameter, so I can only deduce from this that one and only one newstand image can exist or rather be active for a single application. Am I missing something here, can someone confirm or deny my suspicions? Thanks in advance!

setNesstandIconImage sets the icon of your app. You app only ever has one icon, so it doesn't make sense to set it to multiple images. This, in an of itself, does not limit Newsstand to being used for one publication only. Just set the icon to whatever the newest issue is, regardless of publication.
While subscriptions are coupled to an app (you can only purchase a subscription from the app it's linked to), there is no limit to the number of subscriptions your app can offer. And what you do with those subscriptions is completely up to you. The only thing Apple will tell you is the subscription ID, if it's active, and when it was purchased (and a few other meta). What you download/enable/unlock based on that information is up to you.
So there's no technical reason your single app couldn't offer subscriptions to Time, Newssweek, and the Wall Street Journal (and maybe a fourth subscription to all three for a reduced price).
There may be usability or design reasons you wouldn't want to do that. But technically the API supports it.

You're right that the way Newsstand is today managed and displayed by iOS makes it more suitable for one-app-one-magazine apps than multi-magazine ones.
Technically making a multiple magazine Newsstand app is not impossible. All in all Apple limits pushes to one per day, but it doesn't mean that in your push notification you can add a payload that refers to multiple issues to be downloaded at a time: as far your app is moved in the background from the push notification you will be able, based on payload data, to schedule as many downloads as you want (they will be serially queued in the NK download queue).
Of course the single UIImage parameters is a real limitation. Normally you should add on it the latest downloaded issue: intact the rule is that the cover must be updated once the magazine is ready in the device, so typically you will update the cover after magazine download and installation. Eventually for a multiple-magazine app you can consider a generic cover and then keep the user informed of the latest download thanks to the badge in the icon.
Anyway I agree with you: the user experience is improved by Newsstand mainly on single-magazine apps.

Related

Apple is killing white labeled iOS apps! What should we do?

Many companies rely on white labeled apps to provide their services in a more personal way to their customers.
With a few adjustments we can set a logo and a splash screen and even pre-configure our app to our customer needs which has a great impact in their end user experience. Without this my users would need to use the app skipping a lot of configuration steps that in a generic app wouldn't be possible to skip.
According to apple: "Apps created from a commercialized template or app generation service will be rejected"
Now what can we do to to work around this?
Today I saw 4 apps being rejected and others are waiting for revision and I can anticipate that they will have the same ending.
Here's the revision result:
"4. 3 Design: Spam"
Guideline 4.3 - Design
We noticed that your app provides the same feature set as many of the
other apps you've submitted to the App Store; it simply varies in
content or language, which is considered a form of spam.
The next submission of this app may require a longer review time.
Next Steps
When creating multiple apps where content is the only varying element,
you should offer a single app to deliver differing content to
customers. Alternatively, you may consider creating a web app, which
looks and behaves similar to a native app when the customer adds it to
their Home screen. Refer to the Configuring Web Applications section
of the Safari Web Content Guide for more information.
Review the Design section of the App Store Review Guidelines.
Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer
Program.
Once your app is fully compliant, resubmit your app for review.
Submitting apps designed to mislead or harm customers or evade the
review process may result in the termination of your Apple Developer
Program account. Review the Terms & Conditions of the Apple Developer
Program to learn more about our policies regarding termination.
If you believe your app is compliant with the App Store Review
Guidelines, you may submit an appeal. Alternatively, you may provide
additional details about your app by replying directly to this
message.
For app design information, check out the following videos: "Best
Practices for Great iOS UI Design" and "Designing Intuitive User
Experiences," available on the Apple Developer website.
You may also want to review the iOS Human Interface Guidelines for
more information on how to create a great user experience in your app.
Of course we can develop web apps, but apple can't forget that many features are only available in native or hybrid apps.
What should we do?
References:
https://blog.summitsync.com/did-apple-just-crush-white-label-apps-4aee14d00b78
https://developer.apple.com/app-store/review/guidelines/
The current answer is out of date. Apple revised their guidelines in which the customer must have their own Apple account now, paying the $99 a year. You can then submit a white labeled app under that account. We have been doing that the past three months with no problem. They wouldnt allow this approach before but now they do.
The Apple developer account can not be an individual account, but a company, educational or government type.
If you have a few apps under the same company account you can submit the apps if they can be proven to belong to the current company. We have three apps submitted under the same company account because the apps shared similar names to the company however I wouldn't do this for different companies.
We where having the same issue. We have talked to Apple, which where very kind and understanding.
Our app is one used mainly bij employees of a company and there for Apple suggested to use B2B app distribution via Volume Purchase Program.
If your app is just white labeled app that business can use for their customers then you are out of luck. Apple will not allow any white label apps in the app store any more.
Your option is to make one app which can switch between the different customers.
If you app is like web store this can be difficult, but as per Apple's example of the fan app of a football club switch per club should be in one app.
4.3 is a complete mess. With its active enforcement, Apple has indeed opened a Pandora's box. The biggest problem is that this policy is applied randomly.
My experience suggests that there are very few App Store reviewers who are paying attention to it during the review process. However, if you stumble upon such a reviewer, they will put some flag on your file, and all other reviewers will start to evaluate your apps for spam going forward. It seems like nothing is wrong with this approach, but it can lead to a distorted market.
In our case, we are waiting for years now to see Apple apply the same rules to our competition as it did to us. And the most ironic part is that throughout these years we've been ringing all the possible bells. Emails to Apple representatives, release notes, responses in resolution centre – nothing works.
For more details about our story check my Medium post. I have also written a second part which contains the timeline of my discussions with Apple representatives in which I highlighted competitors who violate 4.3, and Apple did nothing :(
So, the first problem with 4.3 is that it distorts the competition given how selective Apple is at implementing it.
The second problem is that the policy itself is too vague. Take our company, Theory Test Revolution, as an example. We build apps which help people pass their UK Driving Test.
Although we focus on theory tests, the reality is that our apps could be used as a platform to prepare for any multiple-choice test. Imagine if we wanted to release a couple of other MCQs apps. For example, to prepare for PADI diving exam and also to prepare for some pilot's licence exam.
How would 4.3 apply in this case? Would Apple demand that we bundle all of them in one app? How would we call it? :) "Any test you can imagine"? :)
There must be some limits. There are cases when marketing needs justify releasing separate apps even if their foundation is the same, as doing otherwise would simply confuse the users. Unfortunately, Apple doesn't care about fair competition enough. I guess their goal is to reduce the number of apps using this policy, with little regard to how fair this process is.
We are waiting for almost three years now to see our competitors being treated in the same way. And who knows – how much longer do we need to wait?
Had a call with Apple on July 13, 2020, 5 PM (GMT)
I had a conversation with the app review team regarding this matter today and I have concluded the following.
You can have the same codebase, same color, and same design for multiple apps but, a big BUT, is that you need to have some unique functionality in the app which provides a different experience to users.
They clearly said it's a difficult thing to do for developers and should take a longer time.
Only a way to know if some unique feature will work out is to send it for a review. It doesn't matter how long you have spent on developing that new feature. They also said they cannot help and is not permitted to insight anything beforehand.
They cleared that this is not a technical or logical issue to be resolved. For example, they are not going to check if the app icon or color is going to match with other app and decide it a spam or not spam but they care how users will be experiencing this app with the "WOW" factor or the app usefulness.
In short, the app must give another perspective to the user and the app should insist the user to use it because it has something new to give.
According to section 4.2.6 of: https://developer.apple.com/app-store/review/guidelines/#design
Apps created from a commercialized template or app generation service will be rejected unless they are submitted directly by the provider of the app’s content. These services should not submit apps on behalf of their clients and should offer tools that let their clients create customized, innovative apps that provide unique customer experiences. Another acceptable option for template providers is to create a single binary to host all client content in an aggregated or “picker” model, for example as a restaurant finder app with separate customized entries or pages for each client restaurant, or as an event app with separate entries for each client event.
So, rejoice! your apps can in fact be white labeled! they just must be:
submitted directly by the provider of the app’s content
There is nothing you can do to make Apple approve a copy of your app with only images and labels changed, it was their politics since iOS 3.
The only sure way you can do it is by creating a new developer account for the company you are selling the personalized version.
And B2B is also a viable option that also saves your client the 99$ yearly Apple bill.

Submit multiple iOS apps with same code base

I'm trying to develop an app that can be used to generate multiple apps. Let's say for now I'm doing an app for fruits, but tomorrow the client will want to create an app for vegetables, and the day after tomorrow for meats, and so on.
So what I'm doing right now is creating an app with same codebase and generating different Targets for each topic (fruits, vegetables, etc.) with its own settings.
That is working really good for now, but I want to make sure that my apps all passes the AppStore review guidelines. The one that concerns me is this one:
4.3 Spam
Don’t create multiple Bundle IDs of the same app. If your app has different versions for specific locations, sports teams, universities, etc., consider submitting a single app and provide the variations using in-app purchase. Also avoid piling on to a category that is already saturated; the App Store has enough fart, burp, flashlight, and Kama Sutra apps already. Spamming the store may lead to your removal from the Developer Program.
So I've read some posts that talks about the best way to accomplish doing multiple apps with same codebase, but hadn't seen anyone lately talking about the Apple restriction to this stuff.
If using different targets it's not a solution for Apple to approve, and you know one, I'll be glad to hear it! What I wanna avoid is making one app and make the user select the type of food he wants (following my example scenario). So my goal is having multiple apps for all different topics, and make Apple approve it.
Thanks in advance!
This is great question. I hope someone from apple team can answer this correctly.
My personal experience
Creation of separate app is perfectly fine as long as end app provides something unique compare to other bundleId. In my case We have 100+laws apps having each law app created using same code base but different data and from User perspective they need it in separate app compared to grouped app.
The visual schema should be different in each application. Please try to make different colors, logos, URL's / data for each flavor.
Each app name-should be unique ( Apple doesn't allow you sell app with same name). Adding hypen, or cosmetic name changes will be definitely candidate for app rejection.
Having said that there is no gurantee to get your app approved each time. In appeal also if you try to tell them that similar app is approved, you are at their mercy to get it approved.

Why was my app rejected from Apple for a content rating that's identical to other similar apps?

This is the third time we've submitted our messaging app to the Apple App Store, and this time we got a very upsetting response:
The rating you’ve selected, 4+, is inconsistent with the content of your app. Since your application includes content and features involving user-generated information and picture sharing, it should be rated appropriately for this subject.
Not only is this cryptic, but it is completely inconsistent with what's already out there in the store. All of the top 5 messaging apps have ratings at 4+, and every single one of them have user-generated content. On top of that, I used the "rating form" that allows you to select items to determine what rating system you're in. It selected 4+.
My question is this: what do you do to combat inconsistent requests from the app store? I submitted an appeal, but I'm unhappy that I actually have to do this in the first place.
My question is this: what do you guys do to combat ridiculous inconsistent requests from the app store? I submitted an appeal, but I'm furious that I actually have to do this in the first place.
Welcome to the world of iOS developers. This is the state of the art. And believe it or not, it was worse in the past.
I had a few apps rejected which did exactly the same as other apps. Fighting against it is useless most of the time, im my opinion. Apple is Apple. And will ever be.
Making insanely much money shows them, they are on the right track.
Forget the inconsistent portion, that will buy you nothing. Instead concentrate on why the app was rejected: "includes content and features involving user-generated information and picture sharing". This is a valid concern on Apple's part: Apple has decided to rate content by age and as such they have a responsibility to attempt as best as possible to provide such protections.
Note as an example that any app that allows a user to browse to an address of their choosing must have a high age rating.
An app such as your is open to mis-abuse in many ways, think about it.
The solution is either raise the age or provide some mechanism to prevent abuse.

Submitting a significant number of apps to the App Store

I am working on a mobile iOS app that is customized to each client, with their own app icon, startup screen, and a few other changes. Each is then submitted to the app store as an individual app.
This is working just fine so far, but what will happen if there's 1000 clients instead of around a dozen? Does Apple have any rules on quantity, submission rate or uniqueness? Any reviewer would clearly see that the apps are basically the same outside of the branding.
Don't do it. You will get kicked out of the appstore.
Read 2.20 of Apple iOS Guidelines which says that developers that spam appstore with similar apps will be kicked out completely!
Notably developers like AppGratis got kicked for this and many others reasons.
Sorry can't disclose, if you have a developers account though you can check the requirements
from https://developer.apple.com/appstore/resources/approval/guidelines.html
I know this is an old thread but somehow it popped up and the answer selected is not entirely correct. The requester needs the custom B2B program here:
https://developer.apple.com/programs/volume/b2b/
That is specifically made for the purpose she/he asked about: to distribute customized apps to a business without cluttering the app store. There is no cost but your customers will need to join the Apple Volume Purchase Program for Business though that doesn't cost them anything.
The reason I say the accepted answer is partially correct is because obviously one should not spam up the app store with similar apps intended for one business, which is entirely correct. But that does not answer the underlying why they wanted to do this and how they could achieve the result they need which is to use the B2B program.

Generic In App Purchase Products Implementation

Consider following example. Let's say we have an app in which professional writers write stories from a web based UI. And then these stories become available for user of the iOS app as in app purchase items.
As you may know we need to create in app purchase products in advance. But in our situations it means that for each of the story created by the writers we will have to create a new IAP product and wait for Apple to approve it.
To circumvent this, I am planning to create generic "consumable" products in IAP like story worth $1.99, story worth $2.99, so on, so forth. Then in the Application UI I will show the list of stories of created by the writers and show corresponding prices for the stories as specified by the authors when they created the story. Once the user taps on the buy button, I will show the purchase for the generic consumable product of the same price and complete the in app purchase process.
Now the question is will Apple approve of such implementation? Does it fit with their IAP policy? I am asking as I couldn't find a guideline for a workflow such as this.
Another approach to implement this is by implementing an in app credit/currency system, like games use. Where people buy credits/coins and then they purchase items with coins. This is a tried and tested approach but it doesn't fit in my analogy of the app, hence the question.
What you want to achieve is perfectly feasible, the only thing is your purchasable content has to be dynamic. You will have to download the product IDs from a server rather than having them hardcoded in your app.
To refer to your example, I can imagine a table view being fed with a list of objects that would have the SKProduct ID stored on them. You would have to do this because, at the time of writing, you can't retrieve all the available product IDs for your app from Apple servers. I know it's a pain in the ass they didn't implement this feature but to be honest, if they haven't already I don't think they will ever do.
This is the method I'm referring to: initWithProductIdentifiers
You provide it with a NSSet with all the identifiers you want to retrieve, but if you provide an empty set or a nil, it doesn't reply with all the existing. You can file a bug with a Apple if you feel this doesn't work as it should. Please check this SO answer if you still have any doubts: link
Another important thing to note is, you will have to upload your products manually. Apple doesn't expose any API in order to have the process automated. This means, every time a writer uploaded something to your server, you would have to log in into iTunes connect and create a product. Plus, you would be limited to 10,000 products because that's the maximum amount of different products you can register with Apple. I'd also recommend you to have a quick read to the iTunes Connect guide, which has some important information like the one I just mentioned: iTunes Connect
Regarding 3rd party frameworks, like the aforementioned UrbanAirship, they will just save you from having to implement receipt validation on your servers. Apart from that, I don't see any major advantages.
Said this, I'd recommend you to reconsider your business model. Is it really worth it all the hassle of uploading the products one per one? Or is it better to go the subscription way, in which your users pay a fixed amount of money for downloading a number of articles per month. You could have different tiers, like, basic, premium (unlimited downloads) an so on and control the delivery of the articles from your servers. That's up to you, but for me the answer is pretty clear.
Pritam
For delivery dynamic content you should be using a Subscription, not a consumable. Using a subscription solves your problem by allowing you to charge for each update AND distribute new content at the same time.
You can looking into 3rd party services like UrbanAirship that will significantly reduce the amount of time you spend trying to dynamically deliver your content, track subscriptions and expirations, etc.

Resources