pop-up notices for your iPhone apps - iphone

Hi gentlemen (and gals)!
I'd really appreciate any insights here....
We all know bout the in-app popups that say "Confirm if the XYZ app can use your location" or other things. These are like windows of notices that pop up in-app.
I'd like to be able to 1. choose a user of my app 2. send them a in-app popup message of my choice anytime... ALL done from server-side after the app is already distributed on the Appstore
Hypothetical example ....So an example of this is i can see a user who has not filled out their profile and we (from admin side) can send them a in-app popup that says "User, please fill out your profile!". Just an example.
Client-side wise.... What would we need to do in XCode (what libraries, etc) before we submit it to the appstore? To allow our serverside to do this anytime later?
Thank you very much!

It's call "Push Notification" that you can choose specific user with device UDID.
You can also study from these question.

Related

App Store Rejection With Reason: your app requires users to register personal information to purchase non account-based in-app purchase products

For last few days this cat and mouse game is going on between me and App Store Reviewers. And despite searching everywhere, I have not been able to find an answer to this question, so seeking help here.
I have submitted an app with auto-renewable subscriptions in it.
My app requires that users sign-in in order to see additional options, which includes subscription option as well.
App Store Reviewers keep rejecting my app citing this same text every time:
Regarding 5.1.1, we continue to notice that your app requires users to register with personal information to purchase non account-based in-app purchase products, which does not comply with the App Store Review Guidelines.
To resolve this issue, it would be appropriate to make it clear to the user that registering will enable them to access the content from any of their iOS devices and provide them a way to register at any time, if they wish to later extend access to additional iOS devices.
We look forward to reviewing your resubmitted app.
Best regards,
App Store Review
What is non account-based in-app purchase products by the way?
I have also made it clear in my app what App Reviewer have asked above, i.e. make clear to the users that registering will enable them to access the content from any of their iOS devices. I didn't say iOS devices specifically, but said other devices since I'll have the same app on Android devices as well.
While I appreciate App Store Reviewers to help me improve my app, but I am totally lost here. I have submitted two updates to my app but every time it got rejected with the same reason.
Over this period I have also read their guidelines, read many similar cases online, but am still not clear what is required of me here.
Do they want the users to be able to purchase subscriptions even if they are not signed in? If so then technically how does this work? First it'll break the core functionality of the app since without registration I don't have user's info to create an account for them. Secondly how will I know which user purchased the subscription? I have to tie the subscription to the user's account on my backend. This means first I need to create an account for the user before user can purchase a subscription.
Please help me to get this right.
Currently I am waiting App Store's reply and my screens looks like these, with all other options removed when not signed in, and added text bottom of the Sign-In option, and help icon on top right of the screen where there is more information available for the user; and the one when user is signed-in.
If I would be a user of your app, I think I would find this behavior quite odd.
I would expect a login/registration screen when starting your app. If I decide to create an account, the Subscription button would always be visible within the settings.
However, there would also be an option "Continue without registration". If you do not create an account, the settings page could show some info text like "Some features are only available for registered members. Please tap here to create an account". Tapping the corresponding cell would show the registration page that is also shown when starting your app for the first time.
Maybe some users created an account in the past but forgot their passwort? Then they would not be able to restore their purchases, right?
Your login/registration form should also contain a "Forgot Password" option.
My app was eventually approved last year. The change I made was to remove the Subscriptions button from the Settings menu. And move it inside the user profile page. This means that user can see the Subscription option only after signing in and by going to their profile page. While this doesn't make sense to me, but that's how probably Apple wanted it. Subsequent updates to my app were also approved without any problem.

How to know that user has rated the app on appstore or not

I have downloaded the irate from this link https://github.com/nicklockwood/iRate and its
running fine in my app. Can I come to know whether user actually rated the app in App Store
or not, or just opened the link? because I want to perform an action if user rate the app.
Thanks in Advance.
Once the user is outside of your app - I don't think there is much you can do to track their actions. Unless you had control over the rating systems, which you don't.

How to change appstore application icon

Hi can any one suggest me it is possible or not and if possible then how?
The premise is that the user pays for the app via a website and they gets an access code to send to her guests via the website. The user downloads the free app from the iPhone store and enters the code. We're trying to figure out if we can enable each user to customize the app icon so it can appear with a different image or text on the user phone.
You can't. The application's icon (and the application's property list file) is in the application bundle, which cannot be modified.
This would also violate the iOS SDK Terms of Use and the iTunes Store Terms of Service; you cannot have a third-party receive payment to access a free iOS application.
You can customize the iOS icon of a web app clipping, and put the web site to be clipped behind your private paywall. Apple has been reported in the past to accept App store apps that generate URLs to customized clippable web apps. No idea if they currently or will continue to do so.
Icons on App store iOS apps for stock OS devices can only be changed by Apple approving an update.
Evan is right... This goes against so many terms of the iOS SDK.
One thing you could do (but I can't guarantee it will be accepted by Apple) is create a registration system on your website. Then have a login on the App as soon as it loads and check that the user has a valid account which has paid the subscription. You would have to handle all of your payment stuff on the webside though, meaning the app would be useless unless the user has already sorted that out. If you do this, on submission of your app make sure you provide Apple with a demo account username and password!
As for the icon, you can't change it once the App is submitted. It is bundled in with your app binary and there is also a logo included in iTunes connect. You can change them, but only by submitting a new binary.

Expected sequence when using iTunes test user

I'm trying to test in app purchases in our app but I'm not having any luck. Part of the problem may be due to the expected sequence not being documented anywhere. Here are the steps I followed to support in-app purchases:
Create test user in iTunes Connect.
Log out of the Store on the device.
Build and run the app in Xcode using a non-wildcard App ID and provisioning profile targeting the device (an iPhone 4 running iOS 4.2.1). I've run through this building for both debug and ad-hoc release.
Make an in-app purchase.
Alert is displayed: "Confirm Your In AppPurchase" with two buttons - Cancel and Buy. Tap the Buy button.
Alert is displayed: "Sign In" with three buttons - Use Existing Apple ID, Create New Apple ID, and Cancel. Tap the Use Existing Apple ID button.
Alert is displayed: "Apple ID Password" with two text fields and two buttons - Cancel and OK. Enter the email address and password for the test user and tap the OK button.
Here is where my understanding of what is the expected behavior is deficient. Here is what I see at this point:
Alert is displayed: "This Apple ID has not yet been used in the iTunes Store. Tap Review to sign in" with two buttons - Cancel and Review. In all the documentation, blog posts, and forums, no one has mentioned this alert. Is this supposed to be displayed? I tapped the Review button.
I am now taken to the App Store app and taken through a series of steps to confirm the account.
The first page is titled "Confirm Your Country or Region" with a single value titled Store set to United States. I tapped the Next button on the toolbar at the bottom.
The second page is to agree to the terms and conditions and the Apple privacy policy. I tapped the Agree button on the toolbar at the bottom.
Alert is displayed: "I have read and agree to the iTunes Store Terms & Conditions." with two buttons - Cancel and Agree. I tapped Agree.
The third page is to confirm information for the account (email, password, security question, birth date) and enable/disable iTunes store subscription information. It requires me to enter the year (why didn't iTunes Connect just ask me for it!). I entered the birth year and then tapped the Next button on the toolbar at the bottom.
he fourth page asks is titled "Billing Information." This is when I realized something was wrong. All the documentation, blogs, and forums say I shouldn't be asked for a credit card.
Q1: What exactly should I expect once I enter the test user email address and password (the first set of steps)?
Q2: Why am I being asked for all this extra information for a test user? What should I be looking at to troubleshoot this?
Thanks for your help.
It happens when you install your development application over downloaded from App Store.
To fix this issue, you need to remove application from the device and install fresh copy using XCode.
iOS caches distribution profile somehow and requires production user if the first installation was done through App Store. With no regard what installation method was used recently.
Here is the trick (at least if worked for me..).
First log out of your real iTunes account in Settings > Store > Apple ID. You must be logged out of an account to be able to use your test account.
However, don't log in to your test account on that screen.
Go to the app, initiate your in-app purchase, and enter the test account email and password there. Assuming the test account is set up correctly (!), that should work.
Then, when finished testing, go back to Settings > Store > Apple ID and log out of the test account.
This sequence worked for me. I tried all of the above sequences and they failed for me.
Sign out of your account on the iPhone in Settings -> Store
Delete your test app
Power the iPhone off and on again
Close iTunes on your computer
Run the app again from XCode
Thanks to OmegaDelta's blog for this one:
http://omegadelta.net/2011/05/11/testing-in-app-purchases-in-ios-4-3-sandbox/
I found some answers to my questions above after I completely deleted the app off my device and tried again. I have no idea why that was required.
Q1: What exactly should I expect once I enter the test user email address and password( the first set of steps)?
No addition questions are asked once entering user credentials if it works, so if the first alert in the second list is displayed then you know it didn't work.
Q2: Why am I being asked for all this extra information for a test user? What should I be looking at to troubleshoot this?
The only thing I can think of is that there was something cached in my app from previous requests. This makes me nervous as I have no idea whether customers will have to delete the app or not like I did.
I've experienced the same problems until I quit iTunes and installed the right provisioning profile to my device. Running iTunes with Xcode restored my account from time to time so even when I log out on the device I was suggested to use my (not test) account in the app. Installing the correct profile fixed the second problem.
Hope it can help somebody too.
None of these answers is very specific or wholly correct, and the in-app behavior has changed slightly over the past year wrt test accounts. The true/current solution to this if you hit it: go through the review/sign-in pages in iTunes for the test account and just "cancel" from the "enter billing information" screen with no harm, no foul. If for whatever reason you never get prompted to review/sign-in, then don't bother to do so.
I was able to get around this issue by signing my test user into a different app that I was developing, then going back to the app where I was having problems (no amount of deleting or restarting helped). As others have said, you don't want to be signed in as the test user in the Settings menu when you try to perform your IAP.

Is there any mechanism provided by Apple Store to make the user sign-up to my website before he/she can download the application?

I am creating an iphone application that requires the users to have an account at my website.
But if i have to distribute it through apple store, how should I make the users of this Iphone Application first create an account with my website. There could be a few options like :
1) Ask the user to create an account when he/she tries to run the application on iphone.
2) Provide a 'Sign-Up' page in the Iphone application itself.
My question is "Is there any mechanism provided by Apple Store to make the user sign-up to my website before he/she can download the application".
Kindly give in your suggestions for the same. Which would be the best approach for solving my problem.
Thanks,
LG
There's no way to do this through the app store.
Yes: your two options are to create a sign in / sign up screen with cocoa, or to display your login webpage with a NSWebview.
I'd recommend the native control route...
No, you can't do that through Apples App Store.
You could provide the user with aviability to register to your site when opening your app, throug, say a NSWebView.
There are many ways to solve this, just not the one you might like.