Production IAPs in TestFlight - ios

Is it possible to use Production IAP's with a TestFlight build of an app? The idea here is to allow people to make real IAP's but as part of a beta.
Most of the references I see to TestFlight mention Sandbox IAPs only.

Related

How can you distribute an app for testing if Apple reject it from TestFlight?

I have an app I wish to distribute to people for testing and evaluation.
The app is not intended for release to the app store. I tried to add it to TestFlight anyway but during TestFlight review Apple rejected it as its breaking an app store submission rule (why do they even need to bother reviewing TestFlight submissions when its not even been submitted to the app store yet?).
The latest versions of iTunes no longer has the ability to install an .ipa so that method of installation is no longer available.
Diawi is useful, but the lifetime that links on there are active is just a few days.
Is there some other easy alternative?
You can use Fabric to distribute test builds. You can find more info here
You can always use Fabric, Just take the testers emails and send them invitations.
refer to Fabric documentation for further info https://fabric.io/onboard
it's very simple and way faster then Testflight

iOS: How to release an app for a limited number of users?

I'm quite new to iOS distribution so I'm here to ask for the right direction, in particular because my objective is not a common publication.
I'd like to distribute to a few hundreds of selected users for at least half year. What provisioning profile do I need to use, developer or enterprise? What about the provisioning's expiry date? There are differences between them, aren't they?
What distribution platform do we use for this purpose? Is TesFlight a suitable choice?
Enterprise distribution could work for you, but it is officially allowed only to be used in-house, e.g. on devices that are owned by the same company that joined the enterprise developer program.
You could also use the B2B program (available through the normal developer program)
Note: Type of certificate(provisioning profile) depends upon distribution of your app. If you don't want to release app outside your organization, then use
Enterprise provisioning else, use Production/Distribution provisioning (Standard Development),
so that your app can be made available for public use (outside your
organization)
Follow these steps to distribute your app through TestFlight
Step 1: Enter your test information
Enter test information about your app, such as a description and feedback email. You will need this if you plan to distribute your build to external testers (persons outside your organization).
Step 2: Upload your build
Upload your build using either Xcode or Application Loader. Read Cryptography and U.S. Export Compliance to determine if you need to provide export compliance documentation for your app. After builds are uploaded, they are available for testing for 90 days.
Step 3: Invite internal and external testers
Add internal testers (up to 25 iTunes Connect users in your organization) so they have access to the builds you distribute. Then invite external testers (up to 2000 persons outside your organization) who you want to test your app. You can create groups of testers and assign specific builds to groups. If you invite external testers, the build needs to be approved by Beta App Review before testing can begin.
Tip: To test the variants that the App Store builds before you release your app, invite internal testers only and download the variants using TestFlight.
Step 4: Testers download TestFlight and accept your invitations
Testers install the free TestFlight app on their devices. Then testers use TestFlight to redeem invitations, install your app, send feedback, and get updates. Testers download and install thinned variants of your app.
Step 5: View tester and build information
Track your tester engagement and your app’s performance by viewing build status and metrics in iTunes Connect—such as numbers of sessions and crashes. You can also resend invitations to testers who have not yet accepted their invitation.
Tip: You can also view crash reports directly in Xcode for apps distributed using TestFlight.
Step 6: Collect feedback from testers
Read the feedback from testers, that is sent to the email address you specified in Step 1, continually during the testing period. Also, make improvements to your app and continue distributing builds until all issues are resolved before you submit your app to the App Store.
Step 7: Stop testing
When you are done testing, you can optionally expire a build to stop testing it, and then go to Overview of publishing an app for the process of submitting your app to the App Store. If you don’t expire your build and submit it to the App Store, testers that have received an invite to test will still be able to test your build even after it goes live on the App Store. Your build will become unavailable in TestFlight after 90 days.
See: TestFlight beta testing overview
TestFlight beta testing lets you distribute beta builds of your app to testers and collect feedback. TestFlight beta testing is optional; you can submit your app for review without using it. However, it’s easy to do, free, and a valuable way to improve your app before releasing it on the App Store. You can enable TestFlight beta testing for up to 100 apps at one time in your iTunes Connect account.
Here are some guidelines & tutorial that helps your better:
TestFlight Tutorial: iOS Beta Testing
TestFlight - Apple Developer Forums

Can I make real IAP purchases from AdHoc build?

I have an approved iOS application in AppStore. There are few approved in-app purchases.
Question: Can I make a real purchase from AdHoc version of my app?
No, you cannot test a real in-app purchases through sandbox while the application is in adhoc. Real purchase can only be done if and only if the app is downloaded from the appstore. But if it is working fine in the sandbox testing, it is bound to work exactly fine in the real enviornment.

Beta testers finding that StoreKit asks for sandbox environment Apple IDs?

I have been using in-app purchases in my app now for a while. However, my beta testers can't make in-app purchases. I know I should be giving them freebies, because they are helping out, but it concerns me that the beta testers are being asked for sandbox logins. Why would this be happening?

iOS In App Purchase: test a real purchase without submitting to Apple

I implemented in app purchase in my iOS app and I want to do a real test (not a sandbox) before submitting this new version to Apple
Of course, the current version of the app (in the App Store) was validated with a product
So, I archived the app using an Ad Hoc distribution profile and I generated an IPA file for Ad Hoc deployment. But when I installed the app via Testflight on my device, I discovered that the app was in sandbox environment!
Is there a way to do a "real" purchase before submitting the app to the App Store ?
You can actually test the in-app purchasing in the sandbox environment, basically you'll need to set up an test user account in your iTunesConnect.
Check the apple documentation here:
http://developer.apple.com/library/ios/#technotes/tn2259/_index.html
You'll be able to find all the information related to In-App Purchasing, including sandbox testing.
Short answer: you can't test a real purchase (aka, spend real money). It isn't possible.
Slightly longer answer: You'll automatically hit the sandbox environment unless it's an apple-signed release build. Even ad-hoc signed builds hit the sandbox.
To test a new IAP: create your IAP (it will be in "needs approval mode" until submitted with the final build and test against the sandbox - that's fine). If your purchase works against the sandbox, it should work against prod with real money as well. It would be great to do a trial run with real money, but that's just not possible until the IAP is approved and you get the production signed version of the app from the app store.
Just create a test account on iTunes Connect. Then log out from the device and run your app from Xcode.
To get access to the purchase you need apple signature, because you are connecting with the apple servers.
I assume that your app, is doesnt have that signature, so your request goes to the sandbox.

Resources