This post relates to FB13684924, which I submitted via Feedback Assistant on 12 March 2024. I regard the matter as urgent, so I thought I would ask if anyone here has had a similar problem and has advice or a workaround. (I have not yet filed a request for technical support: I expect I will do so if I cannot otherwise resolve the problem.)
I will simply cut-and-paste in the text of FB13684924 here -- slightly reformatted, because Feedback Assistant seems not to like paragraphs ...
######## SNIP ########
I presently have an app for the Macintosh in the App Store. Its name is "Peter Pater". When I open the App Store application on a mac, and type "Peter Pater" in the "Search" window, the app does not show up. (I am taking care to make sure to search for Macintosh applications -- my app does not run on other platforms.) Thus there is no way for someone who has heard about my app -- perhaps by word of mouth -- to find it and purchase it.
This behavior is new. The app first reached the app store on February 6, 2024, and for several weeks thereafter it showed up when I typed "Peter Pater" in the "Search" window.
I know the app is still in the App Store, because when I type my own name (as developer) -- "Jay Freeman", or type one of the keywords that I provided when I submitted the app to the App Store, it does appear. (Suitable keywords include "astrogation", "quaternion" and "complex number".)
######## UNSNIP ########
Many thanks for any help or advice.
Mac App Store
RSS for tagThe Mac App Store allows users around the world to discover and download your macOS apps.
Posts under Mac App Store tag
60 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
After creating an install with pkgbuild/productbuild and submitting for TestFlight, one of the errors I got was:
2024-03-03 16:51:36.715 *** Error: Asset validation failed The product archive is invalid. The installer package may not include install scripts. (ID: 78500c2e-db43-4bd3-8e23-215b2fc30e15) (90254)
{
NSLocalizedDescription = "Asset validation failed";
NSLocalizedFailureReason = "The product archive is invalid. The installer package may not include install scripts. (ID: 78500c2e-db43-4bd3-8e23-215b2fc30e15)";
NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=The product archive is invalid. The installer package may not include install scripts., id=78500c2e-db43-4bd3-8e23-215b2fc30e15, code=STATE_ERROR.VALIDATION_ERROR.90254, title=Asset validation failed, NSLocalizedFailureReason=The product archive is invalid. The installer package may not include install scripts., NSLocalizedDescription=Asset validation failed}";
"iris-code" = "STATE_ERROR.VALIDATION_ERROR.90254";
}
That seems pretty explicit.
Are install scripts like postinstall no longer allowed?
Hi there,
I just tried searching the App Store on Macbook Pro (M2 Pro, macOS Sonoma) and was surprised to see that iOS apps are favoured in the App Store search.
We have both iOS and macOS apps. And we are disqualified because the App Store search shows iOS apps by default. Because we have a macOS version of the app, our iOS app does not show up.
As you can see in the video, the "second class" apps are displayed there - because the "first class" app developers in this example took the extra step of developing a native MacOS version.
Video that shows the problem: https://www.youtube.com/watch?v=Clne5RKHJU0
Are you experiencing a similar problem, is there a reason for this?
Jindrich
I'm planning to publish a book where the book contains some of the games which are popular.
Can I use the app screenshots or app icons available on apple store?
What is the license of these images? Are they allowed to be published in a physical book?
Are these allowed to be used in a paid web app or website?
Thanks!
I'm building a macos app using swift, I tried with creating archive using auto and manual signing but my app run in the debug mode but not in the release mode, I also tried with fresh project,
I'm not able to install my app from testflight,
Testflight error:
Couldn’t not install appname.
the requested app is not available or doesn't exist.
I also invited my account to test my app through testflight.
Xcode error:
Could not launch “App name”
Runningboard has returned error 5. Please check the system logs for the underlying cause of the error.
Please help me.
Macbook Pro M1
OS 14.3
Xcode 15.1
Hello,
It is year 2024. I am submitting application to MacOS App Store that uses Java JDK runtime (OpenJDK21).
During review process, the App Review team has referenced 2.4.5
https://developer.apple.com/app-store/review/guidelines/#performance
here is the exact verbiage in guideline
(viii) Apps should run on the currently shipping OS and may not use deprecated or optionally installed technologies (e.g. Java)
Can someone clarify --
Has Java use been entirely "deprecated" from App Store per guideline? Java is specifically mentioned as a deprecated technology (?).
What specific technologies are deprecated vs allowed?
To install and distribute the app , we include the Java runtime inside our app bundle. For a sandboxed app, only the sandbox boundary has access to the runtime. Why isn't this allowed?
Java apps were allowed into the store in past, with bundled JVM runtimes. Has policy changed?
We have tested this at our end on the latest mac version 'Sonoma 14.3 version' and application is launching successfully. But when i submit the app on App Store it will reject by given this reason(We were unable to review your app as it crashed on launch on Mac running macOS 14.3.)
Thanks !!.
I'm designing panoramic screenshots and would like to know the pixel width between images in the app store so I can adjust my assets accordingly.
Specs for iPhone 5.5 and 6.5 and 12.9'' iPads, horizontal and vertical, would be welcome.
Thank you.
Hi folks,
For accessing the logs, I’m using OSLogStore object. I want to be able to read logs from any previous run of my application.
I can of course do this:
// Open the log store.
var logStore = try OSLogStore(scope: .currentProcessIdentifier)
But this only allows me to retrieve logs from my current running process.
I can also do this:
// Open the log store.
var logStore = try OSLogStore(scope: .system)
But this only works if my App Sandbox entitlement is false.
I tried disabling the sandbox, and I was able to get to all the logs (which is good) but according to this page:
https://developer.apple.com/documentation/security/app_sandbox/
it says:
To distribute a macOS app through the Mac App Store, you must enable the App Sandbox capability
Since we are planning on distributing our app on the store, this presents a big problem for me.
(I didn't try submitting to TestFlight to see if it's really the case). I don’t know if there are exclusions or ways around this – I don’t see an entitlement that I can add which would allow access to the logs.
Does anyone know a way around this?
Thanks,
David
This is re-posted from this Stack Overflow post.
I am looking at validating the purchase of a paid app from Mac AppStore. Based on this WWDC video about StoreKit 2, I am attempting to this with AppTransaction. I have not found meaningful high-level documentation about this specific use case beyond that.
My approach is to first get the "cached" AppTransaction by calling AppTransaction.shared. If that is not there I proceed to getting it from Apple, via AppTransaction.refresh(). If they don't have it, or when the network is down, the user automagically gets the familiar "log in to your store account" UI that has been around as long as the Mac AppStore.
Once I have the AppTransaction I use it to verify we are on the right device, using code like this, where the returned Bool represents validation success:
guard let deviceVID = AppStore.deviceVerificationID?.uuidString.lowercased() else { return false }
let nonce = appTransaction.deviceVerificationNonce.uuidString.lowercased()
let combo = nonce + deviceVID
let digest = SHA384.hash(data: Data(combo.utf8))
return (digest == appTransaction.deviceVerification)
My first question is: Does that look like the right approach? Is there something else I should do, or check?
My second question is around testing this approach. Refreshing the AppTransaction in the sandbox invariably yields a valid item, even if the app version does not yet exist in AppStoreConnect. This is also the case when I log out in the App Store app on the Mac. This makes me think it is using my AppleID which I am logged into in System Settings. Does that sound right?
I would like to be able to remove / delete the cached AppTransactions - where might I find those on the system?
Thanks for everyone's help!
Build metadata is
Entitlements
Naukri Launcher.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libGLESv2.dylib
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/MacOS/Naukri Launcher
com.apple.application-identifier: XXXXXX.com.naukri.securelogin
com.apple.security.cs.allow-jit: true
com.apple.developer.team-identifier: XXXXXX
com.apple.security.application-groups: ( "XXXXXX.com.naukri.securelogin" )
com.apple.security.cs.allow-unsigned-executable-memory: true
com.apple.security.app-sandbox: true
com.apple.security.network.client: true
com.apple.security.cs.allow-dyld-environment-variables: true
Naukri Launcher.app/Contents/Library/LoginItems/Naukri Launcher Login Helper.app/Contents/MacOS/Naukri Launcher Login Helper
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Naukri Launcher Helper.app/Contents/MacOS/Naukri Launcher Helper
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libvk_swiftshader.dylib
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libEGL.dylib
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Naukri Launcher Helper (GPU).app/Contents/MacOS/Naukri Launcher Helper (GPU)
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Naukri Launcher Helper (Renderer).app/Contents/MacOS/Naukri Launcher Helper (Renderer)
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
Naukri Launcher.app/Contents/Frameworks/Naukri Launcher Helper (Plugin).app/Contents/MacOS/Naukri Launcher Helper (Plugin)
com.apple.security.app-sandbox: true
com.apple.security.inherit: true
build package.json are
{
"name": "naukri-login-app",
"version": "1.1.11",
"description": "naukri-login-app",
"productName": "Naukri Launcher",
"main": "app/min/main.js",
"author": "Naukri ",
"homepage": "recruit.naukri.com",
"publisher": "recruit.naukri.com",
"email": "",
"scripts": {
"start": "electron app/src/main.js",
"git-cleangen": "git filter-branch -f --index-filter 'git rm -rf --cached --ignore-unmatch gen' -- --all && npm run remove-all-git-refs",
"remove-all-git-refs": "rm -rf .git/refs/original/ && git reflog expire --expire=now --all && git gc --prune=now && git gc --aggressive --prune=now",
"electron-build": "node electron-build.js",
"build": "npm run minify-js && electron-builder",
"minify-js": "javascript-obfuscator ./app/src --output app/min",
"build-win": "node scripts/build.js --env=win",
"build-mac": "node scripts/build.js --env=mac",
"build-linux": "node scripts/build.js --env=linux",
"package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=app/src/assets/icons/mac/icon.icns --prune=true --out=release-builds",
"package-win": "electron-packager . secure-login --overwrite --asar=true --platform=win32 --arch=ia32 --icon=app/src/assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=Naukri --version-string.FileDescription=CE --version-string.ProductName="Recruiter Login App"",
"package-linux": "electron-packager . recruiter-initiator-app --overwrite --asar=true --platform=linux --arch=x64 --icon=app/src/assets/icons/linux/icon.png --prune=true --out=release-builds"
},
"build": {
"appId": "com.xxxxx.securelogin",
"artifactName": "naukri-launcher.${ext}",
"directories": {
"output": "gen/${platform}/${arch}",
"buildResources": "gen/installers/${platform}"
},
"files": [
"!gen",
"!app/src"
],
"protocols": {
"name": "naukri-recruiter",
"schemes": [
"deeplink"
]
},
"publish": [
{
"provider": "generic",
"url": "https://static.naukimg.com/s/7/111/${platform}/${arch}/"
}
],
"afterSign": "./build/notarize.js",
"mac": {
"type": "distribution",
"target": ["mas"],
"category": "public.app-category.business",
"icon": "build/icons/mac/icon.icns",
"entitlements": "build/entitlements.mas.plist",
"provisioningProfile": "/Users/akhilgoel/Downloads/NL_MAS_distribution.provisionprofile",
"extendInfo": {
"ElectronTeamID":"XXXXXX",
"ITSAppUsesNonExemptEncryption": "NO",
"NSMicrophoneUsageDescription": "Allow microphone access to take audio input for login form"
}
},
"mas": {
"entitlements": "build/entitlements.mas.plist",
"entitlementsInherit": "build/entitlements.mas.inherit.plist",
"entitlementsLoginHelper":"build/entitlements.mas.loginhelper.plist",
"provisioningProfile": "/Users/akhilgoel/Downloads/NL_MAS_distribution.provisionprofile"
},
"win": {
"target": "nsis",
"icon": "build/icons/win/icon.ico"
},
"nsis": {
"oneClick": false
},
"linux": {
"category": "your.app.office.type",
"target": "AppImage",
"icon": "build/icons/linux/icon.png",
"mimeTypes": [
"x-scheme-handler/naukri-recruiter"
],
"desktop": {
"MimeType": "x-scheme-handler/naukri-recruiter"
}
}
},
"devDependencies": {
"@electron-forge/cli": "^6.0.3",
"electron": "^19.0.0",
"electron-builder": "^23.6.0",
"electron-builder-squirrel-windows": "^24.0.0-alpha.11",
"electron-installer-dmg": "^4.0.0",
"electron-notarize": "^1.2.2",
"electron-rebuild": "^3.2.9",
"electron-winstaller": "^5.1.0",
"javascript-obfuscator": "^4.0.2"
},
"dependencies": {
"@electron/asar": "^3.2.2",
"axios": "^1.2.0",
"electron-squirrel-startup": "^1.0.0",
"electron-store": "^8.1.0",
"electron-updater": "^5.3.0",
"fs": "0.0.1-security",
"getmac": "^5.20.0",
"jsencrypt": "^3.3.2",
"macaddress": "^0.5.3"
}
}
And same is happening for TestFlight.
I'm distributing my app in zip format. But stuck in app update? My app self-detects for the latest version. If yes, then launch other non-appsandbox app that download the latest version, and then replace the old app (in the /Applications directory) with the new one. It works correctly. But once I made the Updater app a Sandbox app, it did not allow me to replace the app. Error: You don’t have permission to save the file “ESPlus” in the folder "Applications.”
Whenever I try to open Xcode it gives me an error. I have Xcode on the latest version available on the App Store.
Like the title says. Can you submit an app update and release it while the app is in pre-order?
I would assume that yes it is possible but I've never used pre-orders so I'd like to know if anyone here knows...
Thanks!
It appears there's an issue with the Mac App Store's ability to process offer codes, unlike its iOS counterpart, which handles them seamlessly. Users attempting to redeem a code on their Mac are encountering a "Cannot redeem code. Try another code" error.
Considering the Mac App Store's long history, having been introduced nearly 13 years ago, it's high time for it to align with the iOS App Store's functionality. While it's close to 80% there, addressing these lingering issues would greatly improve the user experience.
FB13463658
Electron App EXC_BREAKPOINT (SIGTRAP) Namespace SIGNAL Thread 0 Crashed FatalProcessOutOfMemory
Hello, I have an Electron app that took a while to get deployed to Testflight.
I ended up having to:
manually remove "print" and "sandbox" related entitlements, recreate certificate signing requests and certificates, and get the appropriate provisioning profiles
run electron-osx-sign out/Thea-mas-x64/Thea.app --identity='3rd Party Mac Developer Application' --entitlements=entitlements.plist --provisioning-profile=Thea11072024.provisionprofile --platform=mas --no-pre-auto-entitlements
after manually adjusting entitlements.plist to what we need
run productbuild --sign "3rd Party Mac Developer Installer: Govinda Dasu" --component out/Thea-mas-x64/Thea.app/ /Applications "Thea.pkg"
upload Thea.pkg to the Transporter app
Finally after 30-40 hours of investigation, given missing documentation on electron's website, I managed a successful to Testflight.
However, when I try to open the app I get the following error
Translated Report (Full Report Below)
-------------------------------------
Process: Thea [29595]
Path: /Applications/Thea.app/Contents/MacOS/Thea
Identifier: com.ldtalentwork.thea
Version: 1.0.15 (1.0.15)
App Item ID: 1623683489
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2023-11-14 09:23:27.0219 +0545
OS Version: macOS 13.5 (22G74)
Report Version: 12
Bridge OS Version: 7.6 (20P6072)
Anonymous UUID:
Sleep/Wake UUID: 14139C75-C5B8-4ACD-AEE5-64B8651D5115
Time Awake Since Boot: 220000 seconds
Time Since Wake: 70911 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process: exc handler [29595]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 Electron Framework 0x11bbe51b3 node::AsyncResource::get_async_id() const + 28112899
1 Electron Framework 0x118b1d365 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) + 1013
2 Electron Framework 0x118b1d1d4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) + 612
3 Electron Framework 0x118ce4bd7 v8::internal::Heap::StartIncrementalMarking(int, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) + 983
4 Electron Framework 0x118d69eb0 v8::internal::MemoryAllocator::Unmapper::EnsureUnmappingCompleted() + 1200
5 Electron Framework 0x118d6a090 v8::internal::MemoryAllocator::Unmapper::EnsureUnmappingCompleted() + 1680
6 Electron Framework 0x118d6a516 v8::internal::MemoryAllocator::AllocatePage(v8::internal::MemoryAllocator::AllocationMode, v8::internal::Space*, v8::internal::Executability) + 86
7 Electron Framework 0x118d7a82e v8::internal::PagedSpaceBase::Expand() + 46
8 Electron Framework 0x118d7bda0 v8::internal::PagedSpaceBase::RawRefillLabMain(int, v8::internal::AllocationOrigin) + 1152
9 Electron Framework 0x118d7b911 v8::internal::PagedSpaceBase::RefillLabMain(int, v8::internal::AllocationOrigin) + 33
10 Electron Framework 0x118cd8091 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) + 769
11 Electron Framework 0x1191b4a74 v8::internal::Deserializer<v8::internal::Isolate>::ReadObject(v8::internal::SnapshotSpace) + 996
12 Electron Framework 0x1191b7b71 v8::internal::Deserializer<v8::internal::Isolate>::ReadData(v8::internal::Handle<v8::internal::HeapObject>, int, int) + 4657
13 Electron Framework 0x1191b6896 v8::internal::Deserializer<v8::internal::Isolate>::VisitRootPointers(v8::internal::Root, char const*, v8::internal::FullObjectSlot, v8::internal::FullObjectSlot) + 54
14 Electron Framework 0x118cee9d8 v8::internal::Heap::InSpaceSlow(unsigned long, v8::internal::AllocationSpace) const + 568
15 Electron Framework 0x1191cb2b8 v8::internal::WarmUpSnapshotDataBlobInternal(v8::StartupData, char const*) + 504
16 Electron Framework 0x118c6fecc v8::internal::Isolate::Init(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) + 2972
...
I even stripped down the app to just a hello-world app and I still get this error:
Translated Report (Full Report Below)
-------------------------------------
Process: Thea [16362]
Path: /Applications/Thea.app/Contents/MacOS/Thea
Identifier: com.ldtalentwork.thea
Version: 1.0.17 (1.0.17)
App Item ID: 1623683489
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2023-12-11 16:17:55.2204 -0600
OS Version: macOS 13.5 (22G74)
Report Version: 12
Bridge OS Version: 7.6 (20P6072)
Anonymous UUID:
Sleep/Wake UUID: 7346D434-BDEE-483B-B37F-EBE27703730F
Time Awake Since Boot: 1200000 seconds
Time Since Wake: 33514 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
...
I have looked into the following resources briefly but none look like promising approaches and I am not sure what to try.
https://electronjs.org/docs/latest/api/crash-reporter
https://stackoverflow.com/questions/11096319/thread-0-crashed-with-x86-thread-state-32-bit-in-cocoa-application
https://developer.apple.com/forums/thread/734414 (symbolication suggested by eskimo)
https://github.com/electron/electron/issues/34253#issuecomment-1200373890 (package.json product name)
https://github.com/electron/electron/issues/15725#issuecomment-545848856 (from 2019 so perhaps irrelevant)
https://stackoverflow.com/questions/71344200/node-addon-crashes-in-electron-but-works-fine-in-vanilla-node (seems to be about a different error though)
https://github.com/electron/electron/issues/39938 (also seems to be a different error)
Can eskimo or someone at Apple please help? Thank you.
Hi, I recently needed to update my APP version and upload it to Apple Connect. However, it came up SDK version issue, the code must be built with 16.1 SDK or later and included in Xcode 14.1 or later. However, my MacBook Pro can only update to 12.7.2 and it is not compatible with the latest version of Xcode. So how should I build my code and upload it to Apple Connect?
Hi there! I am trying to publish a macOS app on App Store, thus the app must be sandboxed. The app is built with Electron and electron-builder. A tool of the app needs to run a local web server, to do so a java runtime and a .jar file are downloaded during runtime and the server is started using spawn.
In the MAS version of the app, running from TestFlight, I get EPERM error when spawn is called.
Both java's runtime and .jar are downloaded to app's container. I have tried also downloading them to outside the container (by saving them in the directories that are symlinked to outside of it) by I get the same error.
How could I solve that issue?
After updating to macOS 14 I am unable to sing in to a test Sandbox account in the App Store app.
Steps to reproduce:
Open macOS "App Store" app
Go to settings (CMD + ,)
If already a sandbox account is listed in the bottom section then sign out
Click "Sign In" button in the bottom section
Follow authentication prompts
Current behavior:
Authentication completes, but the state of the bottom section does not change. Only the "Sign In" button becomes active again.
Expected result:
Authentication completes and the bottom section displays current Sandbox user.
Hi team, recently after apple made TestFlight available for Mac. We want to test our mac App using testFlight for Mac.
So we uploaded a new build and it got approved by Apple, But when we go to TestFlight section of it, We see status as "Not Available for Testing". The screenshot is attached below.
The current state of the build is "Pending Developer Release"
Please advise what could be causing the issue?
Also, Is there any minimum requirement of Xcode version for a build to be test-flight ready for Mac. Example: It should be build using Xcode13 only and Xcode12 builds will not be supported for testFlight Beta Mac?