Storekit: Testing receipt validation - When to use which server address? - objective-c

I am starting to get really confused about this receipt validation. So there is the live server from apple and the sandbox server for the receipt validation. When do I need to test which? Some users complain they get the message, that no receipt can be validated. So if I want to test it I get the following results:
Xcode Simulator with sandbox server: Works
iPhone connected to Xcode with sandbox server: Works
iPhone connected to Xcode with live server: Doesn't work
Testflight app connected to live server: Doesn't work
Last point I am especially confused since we wanted to make a public beta. Is this correct that the testflight app needs also the sandbox server for verification?! Or is something wrong with my code?

Related

IBM MobileFirst 8.0 WLAuthorizationManager.obtainAccessToken() No Response

I'm previewing the MobileFirst app (Cordova) on both browser and iOS Emulator but there doesn't seem to be any response when I call WLAuthorizationManager.obtainAccessToken().
I've tried to allow cross origin request but still face the same issue. Does anyone have any suggestions for what I should look at?
I had a similar issue on the iOS emulator. I even used Wireshark to see what was happening and the app never fired the authorisation request.
In the end I found that if you're running XCode 8.x, you have to enable keychain sharing by selecting the project -> Capabilities -> Keychain Sharing, and setting it to On.
After that I had to register the app again and all worked fine.
Make sure when you register or push the app and you're prompted for the version number, that you enter x.x.x instead of x.x - otherwise the server will not recognise the app.
Another thing to double check is the mfp:server runtime and url values in the config.xml file, if your pc's ip address has changed then the url value could be incorrect.

How to remove code signing in Xcode?

I've created an iOS7 project in Xcode 5. It's a very simple app. I zipped it and sent it to another developer. When they open it, they get these messages:
No matching code signing identity found
No code signing identities (i.e.certificate and private key pairs)
matching "iPhone Developer" were found. Xcode can resolve this issue
by downloading a new provisioning profile from the Member Center.
How do they get around this? The app isn't going to be submitted to the app store.
Is this happening because they have not linked Xcode to their online developer account? Isn't an online developer account free?
The other developer can ignore that message if the intention is to run the app on the Simulator. But you must use code signing in order to run an app from Xcode on a device, even for testing purposes, even if the app is never going to be submitted to the App Store. And that costs $99/year. End of story.
You could turn your account into a Company account and put this developer on your company; that way the developer is covered under your $99.
Or, if you just want to send the app to someone for testing and you don't need them to run the app directly from Xcode on a device, you can create an Ad Hoc build targeted to their device.
And of course the developer can look at your code, test on the simulator, and run your previously built Ad Hoc build on the device - but not run from Xcode on the device, i.e. the developer can not build for a device without someone paying that $99/year fee.

UAAppReviewManager Rate Function Not Working on iOS 7

Hey Stackoverflow People,
I'm working on implementing the UAAppReviewManager tool developed by Urban Apps (which is basically a super version of Appirater) into my app to have a rating and feedback function. I have devices (running iOS 5/6) where I've tested the Rate feature of the tool and its been able to properly redirect the user to the App Store after they select Rate the App from the pop-up dialogue, but for devices using iOS 7, it redirects the user to the App Store app and displays a pop-up saying the following:
The certificate for this server is invalid. You might be connecting to a server that is pretending to be "ax.itunes.apple.com" which could put your confidential information at risk.
Has anybody used this tool on iOS 7 and encountered this message before? If so, does anyone know what the workaround is? It seems iOS 7 processes things differently underneath with URLs and I'm not doing anything different or specific for earlier versions.
I am the developer of UAAppReviewManager. iOS 7 does not allow this url anymore so it was changed to a new value for iOS 7 in UAAppReviewManager. Update to the most recent (0.1.3) as of this writing and you should be fine

Does GCM works for android 2.3 platform?

I have created a APP using GCM which works correctly on Android platform 4.1 and 4.03 (I.e. Gets a RegId and register itself in my server and can even recieve a GCM), but when I start the emulator for android 2.3 (API 10) then the app gets installed but never registered I.E never gets RegId. When I start (install) the application for the first time then it receives a GCM message which I do not understand where it comes from but I can see that the device is not registered in my server. I also used a HTC phone with 2.3.3 android software and stil same result. Can any one see what the problem might be?
On the emulator it should normally not work, because it will not have a google account tied to the device. It is requiered for a device to have a google account and Google Play installed to register for an id.
The phone on the other hand should work.
GCM will Work from Android 2.2.
Refer this tutorial it may help you,
http://androidv5.wordpress.com/2012/08/15/how-to-implement-google-cloud-messaging/
it works fine for me.

"The device does not recognize this host message when running app on the device" [duplicate]

I'm trying to profile my application using Instruments on the device itself. Specifically, I'm trying to do time profiling.
Unfortunately, I just can't get it to work. Here's the situation:
1) If I run instruments with the app signed using the developer profile on the simulator, it works.
2) If I run instruments with the app signed using the distribution profile on the simulator, it works.
3) If I run instruments with the app signed using the distribution profile on the device (which is the default case for profiling since the scheme is set to use the release build) then Xcode complains about that there's no valid provisioning profile. That seems reasonable.
4) If I run instruments with the app signed using the developer profile on the device, then Xcode transfers the app, but then states that it's "Finished running" immediately. The app isn't run, and in most cases there's no error message.
Sometimes, just sometimes, there's a message from the Organiser stating that device does not recognise host - E800001C.
5) Running the app directly using the developer profile works fine - I can debug as expected.
Summary - I can't run an app on a device through Instruments using a debug build - it stops before it's had a chance to start. There are no error messages - nothing at all in the debug console.
Help?
Thanks,
Tim
I've solved this. It hadn't occurred to me to check the console inside the organizer. It said:
: entitlement 'keychain-access-groups' has value not permitted by a provisioning profile
After a bit of Googling I discovered that deleting the app from the device would solve my issue. Now I can profile.
So easy when you know how. Hope that helps someone else.
Tim
First of all app can be executed on simulator without signing it. Now apple has provided us the developer profile to test the app on devices.
Distribution profiles are created for submitting the app to the apple store or when application has to be distributed to the employee within the enterprise.
If want to do profiling on device do it with developer one. It should work.