Adobe Air Mac App Store Receipt Validation - air

We have an Adobe Air based app that we have successfully deployed for Mac but would like to bring to the Mac App Store. Following the instructions here http://pigsels.com/2012/04/air-app-store-publishing-guide/ and the Adobe forum thread mentioned on that page for the sandboxing part; we appeared to have a build capable of being deployed on the store.
What has since become a problem though is implementing the stores receipt DRM for our air app. The mac store places a receipt file inside the .app package when it is downloaded and this can be verified by following the instructions that Apple provides here http://developer.apple.com/library/mac/#releasenotes/General/ValidateA ppStoreReceipt/_index.html.
However seeing as we didn't have the ability to get the system GUID from within the Air player I created a separate executable to verify the receipt, the main Air app then calls that as a native process and validates. This was working great until the receipt checking executable was sandboxed as required by the Mac Store and can no longer access the receipt file.
What is the correct way to do receipt validation for an Air app on the mac store?

Related

Can I install my own Windows Phone App on a real device without uploading the app to Store?

I'm new to windows phone, and I don't have a real device to test on.
I know that one can install .XAP files from SD card.. but does this process reqires internet access to check that the app is on the store or I just installs it as in Android?
Thanks in advance
You can debug your app on your physical device in Visual Studio. Your device has to be connected via usb cabel to your computer and has to be developer unlocked. You can developer unlock your phone with the Windows Phone Developer Registration Tool, which is a part of the Windows Phone SDK. You can find more information about the process here.
No, you cannot install the xap package on other people devices until unless their phones are not developer unlocked. When you build a .xap package in Release mode, you need to first upload it to Store where the Microsoft team checks package for security concerns. Once that has been checked, package verified, then the packages can be installed, basically uploading the app.
To debug the app, its better to unlock your friend's phone and then test it on it. After that if you wish you can also un-register the phone to revert back to original developer locked mode.
There is one more method which I use when my app is completed but do not wish to release the app on store, but instead, I wish that first these apps be used by my friends first, they give feedback and after that I finally submit the app on Store.
To do this, I submit the app in private visibility on Store. There is an option while submitting the app which indicates whether you want that other users can see your app on phone. I mark it Hidden. Once my app is verified and is on store, I download the app from store by going to the appropriate link of app on store which is given in app profile at dev-center. I choose 'Download and Install Manually' option to download the xap. This xap can be installed on other devices without unlocking their device.

Access isolated storage on an app that isn't mine

Trying to access the isolated storage for an mp3 downloader app on my Windows Phone 8.1 Dev Preview. For CLI, I used the ISETool.exe that is included with the Windows Phone SDK. Because I don't have the app's Product ID, I couldn't copy it's storage. I think I got the product ID from the windowsphone.com store, but there's nothing to verify it against. Additionally, I tried using the IsoStoreSpy tool, which won't list the app, it only lists my apps that I have created.
Anybody have input as to copying the isolated storage of an app I got from the store?
Edit: Device is dev unlocked
You can only get files from side-loaded apps (eg, ones you deploy from VS). You can't extract files from Store-delivered apps.

App Sandbox related

I am developing apps (for MAC) which will NOT be hosted on the app store.These apps will be installed by dmg file. Can someone please confirm my assumptions?
Even if I dont sandbox the apps, app will still work on OSX 10.7 and above (provided see point 2 below)
If the security setting is "Mac Appstore and identified developer", in a non sandboxed scenario, user needs to right click and open the dmg file instead of double click it and installer can install apps to Application folder. Once installed applications can -
-Interact each other
-Access files
Yes, out of the app store apps don't have to run in sandbox.
The security setting has nothing to do with how your app is installed. If you build a installer (Xcode can do it for you) or you if you send the .app bundle in a dmg to be dragged into applications folder is a thing of your choice. An app that is not running in sandbox can interact with any other app and with any system resource, only limit is user permissions. OS X is still Unix and the fact that app store has rules about sandbox doesn't change the world out of app store.

Trouble generating MASReceipt during development

I am working on developing a Mac application that has an in app purchase. I have done this before on iOS, but I cannot get it to work with the Mac app. After doing some research it looks like I will have to get and validate a receipt from the Mac App Store before this will work.
I believe that I have followed the steps to do this correctly,
1.) Build the app in Xcode.
2.) Launch the app through finder
3.) When prompted sign in with a TestUser account created in iTunesConnect
4.) The app closes with the error message
“AppName” is damaged and can’t be opened. Delete “AppName” and download it again from the App Store.
When I open up the bundle though I do not see the _MASReceipt/receipt folder and file - and I am still getting invalid product identifiers from StoreKit.
These steps seems to work for me the last time this happened:
Log out from Mac App Store.
Force quit storeagent and softwareupdated processes.
Try double-clicking the app to start it again.

UIRequiredDeviceCapabilities equivalent for Mac App Store?

I am developing a Mac app that is only useful for laptop owners (MacBooks) and plan on distributing this app on the Mac App Store. For the iOS App Store, you can specify in the plist UIRequiredDeviceCapabilities so that only users with the proper device can see the app in the store. Is there a way to do the same with the Mac App Store?
From page 39 of the iTunes Connect Developer Guide:
If your iOS app requires a specific device capability (i.e. telephony,
GPS, accelerometer, etc.) to function properly, you will need to be
sure to code this into the info.plist of your binary utilizing the
UIRequiredDeviceCapabilities key. Refer to the Build-Time
Configuration Details section of the iOS Application Programming
Guide to learn more. At runtime, iOS cannot launch your application
unless the declared capabilities are present on the device. Further,
the App Store requires this information so that it can generate a
list of requirements for user devices and prevent users from
downloading applications that they cannot run. It is not necessary to
specify required device capabilities for Mac OS X apps.
While there is no equivalent to UIRequiredDeviceCapabilities, some capabilities can be specified in a PreInstallRequirements.plist.
This approach let you specify minimum RAM, GPU capabilities, minimum minversions.
See here:
Mac app store productbuild
https://developer.apple.com/library/archive/qa/qa1748/_index.html#//apple_ref/doc/uid/DTS40011181
https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html