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

53 Posts
Sort by:
Post not yet marked as solved
7 Replies
168 Views
Hello, I have a multi-platform app that is split across two organizations: One is on iOS, and is distributed using the App Store with bundle ID X with team ID A. One is on macOS, and is distributed using Developer ID with bundle ID Y with team ID B. Once again, these are in two separate organizations. To consolidate these accounts we'd like to transfer ownership of Y to team ID A. However, according to the app transfer criteria, it appears that that's not possible: Both the transferor and recipient accounts can’t be in a pending or changing state, and the latest version of their paid and free agreements must be accepted. [...] The app must have had at least one version that's been approved for distribution. Given the context from the rest of the page, it seems valid to assume (and I've confirmed this through speaking with technical support) that apps are only eligible for transfer if they've been submitted to the App Store, so I'm considering looking into it just for the purposes of this transfer. This app has a fairly large user base and if possible we want to avoid any user disruption (and any cost inflicted on our API) as a result of a forced logout due to losing access to the previous keychain. As a bonus, it would be nice, though not necessary, if the macOS app could ship under the same entry as the iOS app. As I understand it, this would require changing the macOS app to use bundle ID X. Before going down this road, I'd like to confirm if the following plan is a sane one for accomplishing a complete app transfer that satisfies the above requirements: Distribute the app on the macOS App Store under team ID B. Transfer the app, and continue distribution on the macOS App Store under team ID A. Obtain a new Developer ID certificate for using bundle ID Y with team ID B. Resume distribution of the Developer-ID-signed app with team ID B, without loss of keychain access. If loss of keychain access is not possible, can someone confirm if it is at least possible to keep the same bundle ID after performing the steps above? Many thanks in advance for your help - there is much conflicting information online and in this forum, and little documentation when it comes to Developer ID transfers. I've even spoken to several Apple employees who have directed me here.
Posted
by jckbiggs.
Last updated
.
Post not yet marked as solved
0 Replies
85 Views
We have an app with a web extension for Safari. We developed this app for a couple of years. Recently when we pushed an update to TestFlight or the Mac App Store, the user that updated the app, there's the dialog from macOS that asks to : Close Safari to continue the update. Click on continue to quit "safari" … It seems a recent change. Is there a way to prevent quitting Safari when we push to update to TestFlight and Mac App Store?
Posted
by jlapalme.
Last updated
.
Post not yet marked as solved
0 Replies
90 Views
Our company that has a desktop application currently available for free on the Mac App Store. We are planning to introduce a premium feature within the app and are considering the best method to implement this, in line with Mac App Store policies. Our application is developed in Python, uses Flask for the backend, and is not a typical Xcode project. Given this setup, we are evaluating two potential payment methods: Implementing a non-renewing subscription model via In-App Purchase as detailed here: [https://developer.apple.com/in-app-purchase/] Using Apple Pay through our web portal as detailed here: [https://developer.apple.com/apple-pay/] We understand that the first option could be complex due to our app’s technical framework. We prefer the second option as it seems technically easier to integrate with our existing infrastructure. Anyone with the prior knowledget can clarify if using Apple Pay on our web portal would comply with Mac App Store policies, or must we implement the payment feature strictly through In-App Purchase to adhere to the guidelines?
Posted Last updated
.
Post not yet marked as solved
1 Replies
267 Views
Examples of using SymbolEffect in AppKit all seem to be in NSImageView, and look through APIs it seems that the only way to apply those effect animations outside of SwiftUI is indeed in an NSImageView. I have a NSStatusItem where I'm using an SF Symbol in the NSStatusBarButton title (subclass of NSButton) and was trying to figure out if there was a way to use a SymbolEffect there. If the image of an NSButton uses (used) an NSImageView under the hood, that used to hidden in the buttons cell. Seeing how cells seem to be inaccessible now, perhaps there isn't a NSImageView in there these days anyway. Can NSStatusBarButton titles be provided by a custom view, oh I'm guessing the deprecated view property is still operational, but if I'm trying to release to the Mac App Store, that as equally off-limits as an NSButtonCell would have been. Is there a non-deprecated way that will let me ship to the App Store?
Posted Last updated
.
Post not yet marked as solved
1 Replies
181 Views
Hello, I'm create an app using QT on MacOs with Generate to Xcode, when submitting it to the App Store the upload process was successful but I got email feedback with the message containing the following: ITMS-90238: Invalid Signature - The main app bundle Tren at path Tren.app has following signing error(s): a sealed resource is missing or invalid . Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple .com/library/mac/technotes/tn2206/_index.html for more information. ITMS-90296: App sandbox not enabled - The following executables must include the 'com.apple.security.app-sandbox' entitlement with a Boolean value of true in the entitlements property list: [[Tren.app/Contents/MacOS/Tren ]] Refer to App Sandbox page at https://developer.apple.com/documentation/security/app_sandbox for more information on sandboxing your app. I've done the methods available in the community, but it still doesn't work. I hope someone will provide a solution, thank you
Posted
by usmanar.
Last updated
.
Post not yet marked as solved
4 Replies
2.1k Views
Second attempt to publish the Mac version of my App, but it was rejected again due to the same error: 'Library missing'. The library IS included with the build. The extracted .app from .xcarchive runs without a problem on different machines, both M1 and Intel. So, I don't know what's wrong. Can somebody please help me? I can provide the complete .ips from Apple if needed. { "code": 1, "flags": 518, "namespace": "DYLD", "indicator": "Library missing", "details": [ "(terminated at launch; ignore backtrace)" ], "reasons": [ "Library not loaded: @rpath/TitaniumKit.framework/Versions/A/TitaniumKit", "Referenced from: <85BA8613-0157-3B28-99AF-E73F1E579B72> /Applications/TiDesigner.app/Contents/MacOS/TiDesigner", "Reason: tried: '/usr/lib/swift/TitaniumKit.framework/Versions/A/TitaniumKit' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/TitaniumKit.framework/Versions/A/TitaniumKit' (no such file), '/usr/lib/swift/TitaniumKit.framework/Versions/A/TitaniumKit' (no such file, not in dyld cache), '/System/Volumes/Preboot/Cryptexes/OS/usr/lib/swift/TitaniumKit.framework/Versions/A/TitaniumKit' (no such file), '/System/Library/Frameworks/TitaniumKit.framework/Versions/A/TitaniumKit' (no such file, not in dyld cache), (security policy does not allow @ path expansion)" ] }
Posted
by macCesar.
Last updated
.
Post not yet marked as solved
0 Replies
202 Views
I have a macOS app which contains a dext. I'd like to distribute it to external testers using TestFlight, so it has to pass Mac App Store review. It failed, because the App Sandbox entitlement was missing. I checked the app, it has the entitlement, but the dext does not. However, the .entitlements file used by the dext does contain App Sandbox set to true. I tried adding a "fake-entitlement" value to the .entitlements file, and that made it into the dext's code signature, but the App Sandbox entitlement appears to be stripped out by the build process? For a dext target, it isn't possible to add the App Sandbox capability in Xcode's Signing and Capability section. I have to add the entitlement manually in the .entitlement file (or it was put there by the Xcode driver template, I don't remember). I've tried clean building several times, I've tried Xcode 15.0.1, 15.2 and 15.3, but the result is always the same. I'm inspecting the entitlements using codesign -dvvv --entitlements - Does anyone know what I can do to put the App Sandbox entitlement into my dext's signature? Is this happening to anyone else?
Posted
by ssmith_c.
Last updated
.
Post not yet marked as solved
1 Replies
206 Views
Prepared archive for validation Validation failed error: Asset validation failed Missing Bundle Identifier. The application bundle contains a tool or framework [aaa.bbb.ccc.ddd.pkg/Payload/my.app/Contents/Frameworks/Abc.framework] that is missing the bundle identifier in its Info.plist file. (ID: 8d117580-6d15-4b9e-8a0c-3bd069c66c77) error: Asset validation failed Bad Bundle Executable. You must include a valid CFBundleExecutable key in the nested bundle [aaa.bbb.ccc.ddd.pkg/Payload/shudou.app/Contents/Frameworks/Abc.framework] property list file. (ID: 62894f06-c782-4d67-85df-91912d1b6609) Abc.framwork is a pre-built lib used in swift. I put following keys in Abc.xcframework's Info.plist, but no effect. <key>CFBundleIdentifier</key> <string>aaa.bbb.ccc.ddd.Libname</string> <key>CFBundleExecutable</key> <string>Libname</string>
Posted Last updated
.
Post not yet marked as solved
2 Replies
236 Views
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.
Posted
by Knightley.
Last updated
.
Post marked as solved
2 Replies
234 Views
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?
Posted Last updated
.
Post not yet marked as solved
0 Replies
235 Views
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
Posted
by sarsonj2.
Last updated
.
Post not yet marked as solved
2 Replies
251 Views
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!
Posted Last updated
.
Post not yet marked as solved
1 Replies
286 Views
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
Posted
by zaibi4014.
Last updated
.
Post not yet marked as solved
1 Replies
360 Views
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?
Posted
by Algoy24.
Last updated
.
Post not yet marked as solved
2 Replies
321 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
419 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
485 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
430 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
555 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
.