I've tried to use AppTransaction.shared / AppTransaction.refresh() to verify that my app has been purchased from the Mac App Store.
It works when testing a release build on my Mac, using a Sandbox Apple ID.
But when I submit the app for review, the reviewer says it doesn't work. The error message returned by AppTransaction is "Unable to Complete Request", which is pretty vague.
I get the same error when I try to use a real Apple ID for testing on my machine, so I have been wondering if maybe the problem is that App Review is testing a build that doesn't accept Sandbox Apple IDs?
My app doesn't have a provisioning profile, could it be that this is the problem? As a Mac app developer, I'm not sure what provisioning profiles are good for, I thought they were only useful for iOS.
Has anybody successfully submitted a Mac app that uses AppTransaction?
Post
Replies
Boosts
Views
Activity
It seems that binaries on the DTK are built for arm64e architecture, as you can see :
% lipo -info /bin/ls
Architectures in the fat file: /bin/ls are: x86_64 arm64e
However, when I try to build binaries for arm64e it doesn't seem to work. Take this sample program:
#include <stdio.h>
int main() {
printf("Hello ARM\n");
return 0;
}
Compiling it for either arm64 or arm64e works fine, but I can only run the arm64 version:
% clang -arch arm64 main.c && ./a.out
Hello ARM
% clang -arch arm64e main.c && ./a.out
zsh: killed ./a.out
I don't know why the arm64e version is killed, I couldn't find anything suspicious in the logs.
Apple's docs don't seem to mention any differences between arm64 and arm64e, but since they build things for arm64e I assume that is what we should do too?