Mechanism to allow user to sign up for the free subscription

We've developped newsstand app on iOS, and it'd worked well. It's suddenly rejected to update on Apple store due to the following reason.



------------------

It is required to revise the app to include the mechanism to allow user to sign up for the free subscription.

------------------



How can I make it available? I don't know completely anything about that mechanism. Our app is free to download and monthly magazine issue is also free to download. To download the magazine issue, I use the simple HTTP request to our own web server. Maybe, I should do something during this downloading process. I need to change the code? or any configuration?

First, this really isn't an Objective-C question, it should be moved to the "App Submission and Review" forum under "Distribution"


Second, are you certain you are correctly quoting the reason for rejection? It may have changed its meaning in your translation to English. One reason for rejection is if the app requires that the user provide personal information like their email address - are you requiring that the user sign up for the free subscription?

Thank you!


I didn't know the section "App Submission and Review". Yes this should be. I'll move it.


I correctly quoted the reason for rejection(copied message).


We never require that user sign up for the free subscription and we don't need any user personal infomation.

Does the reason for rejection also include this line:

"We found that your app has an associated free subscription, however, it does not include a mechanism for the user to sign up for the free subscription."


Newsstand Apps allow the user to 'purchase', through a normal IAP transaction, a free subscription. When you set up your Newstand App you must have selected that option somewhere. App Review is expecting you to provide the mechanism that allows the user to get a free subscription through IAP. The IAP documents explain the free subscription this way:


"Free subscriptions allow users to download dynamic content, such as magazine subscriptions, for a set duration of time. Free subscriptions are a way for developers to put free content in the Newsstand in the App Store. After a user signs up for a free subscription, the subscription content will be available on all devices associated with the user’s Apple ID. Note that free subscriptions do not expire and can be offered only in Newsstand-enabled apps."


But most importantly the Newsstand documents state this:


"Note that if you select the primary or secondary category of Magazines & Newspapers, in order to submit your app for review you will be required to have at least one auto-renewable or free In-App Purchase subscription, and your app must use the Newsstand SDK."

Thank you for your kindness.

Yes, the reason for rejection also include,

"We found that your app has an associated free subscription, however, it does not include a mechanism for the user to sign up for the free subscription."


They also says I need to refer to this.

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html#//apple_ref/doc/uid/TP40008267


But, I still can't figure out what I have to do.


I said our app download magazine issue in simple HTTP, but it was not correct. Sorry... I used Newsstand SDK to download the magazine issue like this.



- (void)connection:(NSURLConnection *)connection didWriteData:(long long)bytesWritten totalBytesWritten:(long long)totalBytesWritten expectedTotalBytes:(long long)expectedTotalBytes

{

.....

}

- (void)connectionDidResumeDownloading:(NSURLConnection *)connection totalBytesWritten:(long long)totalBytesWritten expectedTotalBytes:(long long)expectedTotalBytes

{

.....

}

- (void)connectionDidFinishDownloading:(NSURLConnection *)connection destinationURL:(NSURL *)destinationURL

{

NKAssetDownload *asset = connection.newsstandAssetDownload;

NKIssue *issue = asset.issue;

.....

}



It's not related to user's Apple ID. I don't make out how I can include IAP transaction and free subscription mechanism in this and how to relate user's Apple ID.

In a newsstand app the user purchases (for free or for a fee) an IAP. When the user makes that purchase they are given the ability to download content from the Apple Servers. That is the usual approach. I do not know if you can have a 'nesstand app' without using the Apple servers to download your content.

We provider our own web server for the magazine issues(pdf) to download.

You mean we should move them to Apple server...

Okay, this is big change. Thank you, it's good hint to figure it out.

No, you do not need to move to the Apple servers. The issue is having your app appear in the Newsstand or as a separate app. If you want your app to be in the Newsstand then you need to add that 'free IAP'. If you do not use the Apple servers to download your content then that free IAP is of no value to you but you need it anyway to remain on the Newsstand (as per app review - provided, however, that App Review lets you remain on the Newsstand and not deliver your content through the Apple servers). If you decide to use the Apple servers then that free IAP provides the needed access to the Apple servers. And, if you do not want to have to use that 'free IAP' then you can take your app off of the Newsstand and it will work just fine.


Another approach is to appeal your rejection to the App Review Appeal Board. They may allow you to use the Newsstand and not require you to include that needless IAP since you are not using their server to deliver the content.

OK, thanks.

Our app was in the bookshelf, but boolshelf is abandoned in the latest iOS if I'm right. It's ok, we don't want to put our app in the bookshelf any more. And I don't want to use Apple Server. But I coded the app like above with Newsstand SDK to download the contents. If I get our app out of Newsstand, I need to change the code like using simple HTTP? Or only to change the project configuration Newsstand=Off?

I would be surprised if you can use Newsstand API to download content if you are not using the Newsstand.

I would be surprised if you can use Newsstand API to download content if you are not using the Newsstand.

Indeed. Moreover, the Newsstand API doesn’t offer anything special these days. You can achieve virtually the same result using silent push notifications and NSURLSession background sessions.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I have no idea for background downloading except for Newsstand API... I need to catch up.

Thanks.

Mechanism to allow user to sign up for the free subscription
 
 
Q