Mac App Store

RSS for tag

The Mac App Store allows users around the world to discover and download your macOS apps.

Mac App Store Documentation

Posts under Mac App Store tag

57 Posts
Sort by:
Post not yet marked as solved
2 Replies
394 Views
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 !!.
Posted
by amit2018.
Last updated
.
Post not yet marked as solved
2 Replies
536 Views
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
Posted
by nhdev.
Last updated
.
Post not yet marked as solved
1 Replies
610 Views
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!
Posted
by rainer.
Last updated
.
Post not yet marked as solved
3 Replies
518 Views
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.
Posted
by rohit-d.
Last updated
.
Post not yet marked as solved
3 Replies
647 Views
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.”
Posted
by Maddy.
Last updated
.
Post not yet marked as solved
0 Replies
539 Views
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
Posted
by Lucky7.
Last updated
.
Post not yet marked as solved
1 Replies
435 Views
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?
Posted
by Imlachs.
Last updated
.
Post marked as solved
1 Replies
465 Views
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?
Posted Last updated
.
Post marked as solved
4 Replies
597 Views
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.
Posted Last updated
.
Post not yet marked as solved
0 Replies
408 Views
Hi all, When people search for my teams app on google, the first result is always our apps page on the Chinese apple app store (=zh). All of our team and users are in the US. Why is this happening? Is this issue due to Apple app store or google search engine? Any suggestions to have english version the default? Thanks in advance!
Posted
by stanno.
Last updated
.
Post marked as solved
3 Replies
1.1k Views
Looking to make my existing IOS application available on Mac. I have done all of the steps as best I can determine across all the articles tools and topics for Xcode/App Connect/Transporter. I have no builds to upload in the MacO/S apps part of Apple Connect. The app runs fine in the simulator for Mac OS and I have managed to export an executable which I might be able to send to someone outside of the App Store but haven't tried/tested. Transporter won't load the exported (notarized? supposedly) file into Xcode because its already got a build with the same number. I targeted Standard Architecture option, which says should run on Intel or ARM, - I am not clear on which OS I should have selected to target to make that happen. Any hints to a concise todo list to make it happen would be good. My observation is that most of the examples in the various documentation are either MacOS Store oriented or Xcode on IOS for details. The high level information describes the planned/expected support but doesn't match the tools examples
Posted
by skcureton.
Last updated
.
Post not yet marked as solved
2 Replies
565 Views
Hi! I just reinstalled macOS Monterey and I have reinstall Xcode, the app store said I needed macOS 13.5 or later but I used to have Xcode on the same iMac. I download Xcode the newest version of Xcode that supported my mac on the developer website and I have it now. After I installed it, I thought that the app store would say that I have Xcode installed but instead, it says I need to get Xcode. What should I do?
Posted
by bn8.
Last updated
.
Post not yet marked as solved
3 Replies
831 Views
Long story short, I pushed a Catalyst version of my iOS app onto the Mac App Store and it's just way too buggy. I can't figure out how to just remove the macOS version? I understand that without Catalyst you can specifically delist the iOS version from showing up on macOS but why can't I just remove the macOS one without affecting my iOS build? At this point it looks like I'll have to push a whole new app to the iOS store and there's no way to transfer all paying customers over from one app to another? Any suggestions?
Posted
by jq1106.
Last updated
.
Post not yet marked as solved
1 Replies
471 Views
I would like to release a Mac app through the Mac App Store that is free. However, I would like to add new functionality in a future software update that is enabled through an in-app purchase. I reviewed the App Store Review Guidelines, and I did not see any prohibitions to this approach (initially free, later add new functionality enabled by an in-app purchase). If anyone knows of any rules or policies that I missed that would prohibit this, I would appreciate a heads up on it. Thanks!
Posted Last updated
.
Post marked as solved
1 Replies
1.4k Views
Im working on a small text snippet / lorem ipsum app as a side project and the idea is, for instance, whenever and wherever user types "lorem10" I'd like to print/paste 10 random lorem ipsum words. Eg. "lorem10 " -> ("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do") For that to be possible I need to, Programmatically press "delete" key to remove the trigger string ("lorem10"). Programmatically press "cmd + v" for pasting the result string. This is possible, even in sandbox! But it requires accessibility permission. For instance I can simulate "delete" key press like this: func delete() {     let eventSource = CGEventSource(stateID: .combinedSessionState)     let keyDownEvent = CGEvent(       keyboardEventSource: eventSource,       virtualKey: CGKeyCode(51),       keyDown: true)     let keyUpEvent = CGEvent(       keyboardEventSource: eventSource,       virtualKey: CGKeyCode(51),       keyDown: false)     let loc = CGEventTapLocation.cghidEventTap     //Triggers system default accessibility access pop-up     keyDownEvent?.post(tap: loc)     keyUpEvent?.post(tap: loc)   } My question is essentially if this is allowed in Mac App Store? Because requesting accessibillity permission like this is not allowed in sandbox: func getPermission() { AXIsProcessTrustedWithOptions([kAXTrustedCheckOptionPrompt.takeUnretainedValue():true] as CFDictionary). } But I can simulate one short "shift" or "cmd" key press for instance, and trigger the pop-up inside a sandboxed app and get around this it seems. Is this a bug? I really hope I can release my app in the Mac App Store, but doing so I just want to be sure Im not using any bug that might get removed in the near future.
Posted
by T1Daniel.
Last updated
.
Post not yet marked as solved
1 Replies
551 Views
Hi there, My Mac game submission was rejected for the following reason and a screenshot is also provided in the message: "Guideline 4.0 - Design We noticed an issue with your app's user interface that contributes to a lower-quality user experience than App Store users expect. Specifically, we found that the content is displayed behind the macOS dock when users changes to Windowed mode. (see screenshot) Next Steps Please revise how windows function in your app so that content properly formats when adjusting the window's size. Resources To learn more about App Store design requirements, see App Store Review Guideline 4 - Design. Learn more about designing for macOS in the Human Interface Guidelines." How to fix this?
Posted Last updated
.