Touch ID not showing StoreKit - ios

I'm using StoreKit for processing In-App purchases, which works perfectly.
My only issue which I couldn't find a solution online is:
In other apps when trying to do an IAP, I'm asked for Touch ID (so it's not my device set up wrong or so) while in my App it always asks for password.
How can I get Touch ID to work for authentication with iTunes?
Thank you in advance!

Alright,
So I'm not sure if this is always the case but in the AppStore version of my App you can actually use Touch ID.
Maybe Touch ID is just not supported when developing... Still a bit confusing that they have you release your App without being sure if Touch ID is going to work :/

Related

Old style in app purchase dialogue

I am testing in app purchases now. In my app I use auto-renew subscription with sandbox account. I use XCode 9.2, the device is iOS 11.2.6, swift v4. Everything is working as expected, but I always get this dialogue then I press the "subscribe" button:
I saw the video from WWDC. Here is the screenshot from WWDC 2017 - Session 305 - Advanced StoreKit.
I am not sure, maybe this is normal behaviour. Maybe this is because of my sandbox account. Is it possible to get this new dialogue?
Yep, this is completely normal!
For some reason purchases inside of a sandbox (such as using a sandbox account or on TestFlight) will still use the old UI.
It's not clear why Apple has made this decision, or perhaps they simply never bothered to change it.
Either way, it's nothing to worry about on your part :)

Check subscription status in iOS app Ionic 2

I am currently developing an in-app purchasing in Ionic 2 and each time the app is run I check if a user is subscribed. For Android I use restorePurchases function. For iOS I am trying to use getReceipt() function. What I get is a long Base64 receipt string.
My question is, how am I supposed to check if a subscription exists using that string?
Thank you in advance.
I am answering the implicit question of why this error could occur:
Many things can go wrong causing this error, which most of them has nothing to do with your code actually. just your setup. for this to work in a test device
You should be logged in that device using a iTunes Connect sandbox
account.
You should be logged in your Mac using sandbox account. (not sure why, but I read somewhere you have to, and I do it!)
The Bundle ID everywhere should match. that is in your iTunes Connect, your ionic app's Config.xml
should not have production version of the app on your device
hope others provide better answering explaining why this is so difficult to get to work!

How do I replace an old expired iOS app with a new app that I built from the ground up?

I have what I believe to be a pretty unique situation and I can't seem to find a solution online. The problem timeline:
4 years ago I paid a developer to build/upload an app to the iOS App Store for me under my own developer account.
Over the years it became outdated and this April it was kicked out of the App Store
I took some online courses this year and rebuilt the app from the ground up.
I would like to post my rebuilt version to the App Store - completely fresh like it's a brand new app (because it basically is)
A couple more things to consider...
I used Swift vs the original Objective-C that the developer used.
I used UserDefaults instead of what appears to be iCloud. (the dev account seems to be littered with permissions for things I don't intend to use - so advice on how to get rid of all of the weird stuff I don't use would be helpful, too)
I also have a different but similar bundle identifier (it replaces "RandomRuby" with "Random-Ruby") that Apple's App ID registration system seems to not like.
The level content and game play are the same - but I have no idea how to figure out what level the previous users were on. (which I'm ok with if it's ethical to make people start over).
It had In-App purchases (they could purchase consumable "Rubies" to use for hints and there was an "Ad Free" upgrade option. The new app doesn't use ads - it just has consumable "Rubies" for monetization). I have no plan to add ads back in - so I imagine a complete reset would be ok here, too? Again - is that ethical?
With all of this context - my question is...
How do I upload a completely-rebuilt-from-scratch app with the exact same name from the exact same company as an expired app through the iOS Developer system? Is this even possible? I'm having a hard time figuring out where to start. I can't even get past creating an App ID.
To update an existing app in your Apple Developer account you only need to use the same BUNDLE ID (e.g. com.apple.keynote) in your Xcode project and a higher version/build number. Everything else is not relevant.
Your previous iOS APP is bounded with the Apple Developer account when it was submitted. And the APP name is unique, just like anyone else may not create another app named 'Facebook'.
So, if the Apple Developer account was not yours, you are in trouble. You need to ask the previous programmer to transfer the APP to you.
If the Apple Developer account was merely expired, and you can prove that the account belongs to you, I guess you can contact Apple Support for help.

Touch ID Issue with Sandbox Purchases

Hi I was wondering if anyone else is having the same issue or has a fix for it.
When i'm trying to make an in app purchase in the sandbox for my app and i try and use touch id, it repeats the touch id alert three times then fails, i've tried using it in apples IAP demo app as well and get the same issue. is this issue only for sandbox mode? or has someone found a way around this?
Thanks in advance!
I'm pretty certain that Touch ID is not supported in the sandbox test environement (sic)"
- Rich Kubota # Apple.
https://forums.developer.apple.com/thread/43228
I also see the behaviour you describe, and it has been this way for at least a year or two - it seems that TouchID is only supported by the production environment. I could not find any official documentation to support this however - there is no mention of it in, for example, Apple's In-App Purchase Programming Guide.
This is an issue with iOS. If you have a contact with Apple, be sure to bump it.

How to Get Unique Identity From iOS Device?

i am NewBie in iOS Development and i Know that this Question are asked many Times. i am do R&D on it but Not Get my Answer. I want to Get any Unique identity from devise. i know that there are many Option like as
1.UDID
2.UUID
But From iOS 7 Apple not accept app that Fetch UDID From Devise so that Option is Block For me. and Now Second Option is UUID But From my R&D Result UUID will be Changed Every time when User Completely Uninstall application and Reinstall it. So, I Get Different UUID for Same Device. and Another Option is like as
Device Token
Here I want to Know that for Push Notification Service Device Token are remaining same for Every time When User Uninstall app and Reinstall it. if Device token are Different for Every Uninstall and Reinstallation Process then please Give me Any Solution for Unique Identification that are Remaining same for every time.
thanks in advance.
You can save UUID in the keychain, so even uninstall and reinstall app, you still can get it back.
If all you want to do is to uniquely identify devices, you may want to use [UIDevice identifierForVendor] which will stay the same as long as the apps come from the same vendor and running on the same device.
See documentation.

Resources