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
1 Replies
467 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
545 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
.
Post not yet marked as solved
6 Replies
1.4k Views
I have a very embarrassing problem. that I can't transfer my macOS app to another account. and above is wrong picture. I already tried to delete the apps group. but it doesn't work. this transfer is very important for our team. if anyone can tell me how to do, I will be very grateful.
Posted
by markyin.
Last updated
.
Post not yet marked as solved
5 Replies
3.6k Views
Good evening, I'm trying to deploy an extremely simple Python QT app to the app store: it's roughly ~10 lines of code that shows a window containing a"Hello, world!" message. This seemingly trivial task of deploying a "Hello World" app to the store has been extremely difficult, perhaps because of my lack of familiarity with the Apple ecosystem. I'd like to demonstrate all of the steps I've taken, my current understanding of deployments, and what the problems are. Project files Here's the code for the app (in a file located at src2/test_app/app.py). import os, sys from PySide2.QtWidgets import * class MainWindow(QMainWindow): def __init__(self, *args, **kwargs): super(MainWindow, self).__init__(*args, **kwargs) self.setCentralWidget(QLabel("Hello, world!")) if __name__ == '__main__': os.environ["QT_MAC_WANTS_LAYER"] = "1" app = QApplication(sys.argv) window = MainWindow() window.show() app.exec_() Furthermore, I've created an assets folder which contains an icon.icns file and I also created a Pyinstaller config/test_app.spec file to bundle this app into a testapp.app package: block_cipher = None added_files = [ ('../assets', 'assets') ] a = Analysis( ['../src2/test_app/app.py'], pathex=[], binaries=[], datas=added_files, hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False ) pyz = PYZ( a.pure, a.zipped_data, cipher=block_cipher ) exe = EXE( pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='testapp', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon='../assets/64.icns' ) coll = COLLECT( exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], name='app' ) app = BUNDLE( coll, name='testapp.app', icon='../assets/icon.icns', bundle_identifier='com.stormbyte.test-app.pkg', info_plist={ 'NSPrincipalClass': 'NSApplication', 'NSAppleScriptEnabled': False, 'LSBackgroundOnly': False, 'LSApplicationCategoryType': 'public.app-category.utilities', 'NSRequiresAquaSystemAppearance': 'No', 'CFBundlePackageType': 'APPL', 'CFBundleSupportedPlatforms': ['MacOSX'], 'CFBundleIdentifier': 'com.stormbyte.test-app.pkg', 'CFBundleVersion': '0.0.1', } ) In addition, I have an config/entitlements.plist file, containing all of the necessary information for binaries built by pyinstaller: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <!-- These are required for binaries built by PyInstaller --> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> <key>com.apple.security.cs.disable-library-validation</key> <true/> <key>com.apple.security.app-sandbox</key> <true/> </dict> </plist> This entitlements file is apparently necessary for pyinstaller to run things on Mac successfully, which is why I included it. Building the .APP I am able to build this app with: pyinstaller \ --noconfirm \ --log-level WARN \ --distpath '/Users/nikolay/Desktop/projects/cling_wrap/dist' \ --workpath '/Users/nikolay/Desktop/projects/cling_wrap/build' \ './config/test_app.spec' This creates a testapp.app file in my dist folder and the file icon I've designated appears just as I've intended. Codesigning the .APP binaries Next, I am able to use the codesign tool to sign all of the files that are part of the testapp.app I've just created. codesign \ -vvv \ --strict \ --deep \ --force \ --timestamp \ --options runtime \ --entitlements './config/entitlements.plist' \ --sign "Developer ID Application: Nikolay ***** (Z57YJ*****)" \ '/Users/nikolay/Desktop/projects/cling_wrap/dist/testapp.app' This successfully executes. Building the .PKG Installer Next, I am able to use productbuild to create a .PKG file, which will allow a user to install the app: productbuild \ --version '0.0.1' \ --sign "Developer ID Installer: Nikolay **** (Z57YJ*****)" \ --component '/Users/nikolay/Desktop/projects/cling_wrap/dist/testapp.app' \ /Applications testapp.pkg This successfully outputs: ... productbuild: Adding certificate "Developer ID Certification Authority" productbuild: Adding certificate "Apple Root CA" productbuild: Wrote product to testapp.pkg When I attempt to run this installer, everything works. I can even see the app installed in my Applications folder, and I can double-click and run it: With this confirmed, I am ready to run the notarization & stapling process prior to submitting my app to the App Store. I run notarization using the xcrun tool: xcrun altool \ --notarize-app \ --primary-bundle-id com.stormbyte.test-app.pkg \ --username=*****@gmail.com \ --password **** \ --file '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg' Which outputs: No errors uploading '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg'. RequestUUID = c40ebde4-dcd1-*********** I then receive an e-mail from Apple telling me that the notorization process has been successful: Next, I run the stapler tool: xcrun stapler staple '/Users/nikolay/Desktop/projects/cling_wrap/testapp.pkg' Which is also successful. Finally, I attempt to use Transporter to upload my app to the store but this happens: It says that the icon failed (when it clearly exists and is recognized by Mac?!!) and that the signature is invalid? Am I using the incorrect certificates for distribution to the App store? Thanks!
Posted
by nikolay_a.
Last updated
.
Post not yet marked as solved
0 Replies
549 Views
Asset validation failed (90236) Missing required icon. The application bundle does not contain an icon in ICNS format, containing both a 512x512 and a 512x512@2x image. For further assistance, see the Human Interface Guidelines at https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/. (ID: xxxxxx-a8a7-4dd3-9d3a-xxxxxxxxxxxx) I am getting this, while uploading .pkg file of electron web app for Mac through Transporter for TestFlight.
Posted
by swipedev.
Last updated
.
Post not yet marked as solved
1 Replies
509 Views
Asset validation failed (90283) Invalid Provisioning Profile. The provisioning profile included in the bundle com.abc.mac [com.abc.mac.pkg/Payload/abc.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: xxxxxxxx-e193-4623-8dbe-xxxxxxxxxxxx) I get the above error while uploading .pkg which is electron web app bundled through electron-bundler file through transporter for testFlight.
Posted
by swipedev.
Last updated
.
Post not yet marked as solved
2 Replies
941 Views
Hi, I recently submitted an electron application to the app store, and the review failed Guideline 2.1 for App Completeness because it's crashing on macOS 13.4. I'm unable to replicate the issue on my machine (the app works without crashing a 13.5 M1 and 10.14 x64). I'm using electron-builder to build the app, codesigning with the codesign command, and then building the pkg with productbuild. The error logs we were given are proving to be very hard to decipher for me - I've attached an abridged version of one of the .ips files (since we can't upload ips files) we were given. Thanks to anyone who can help! I can provide more info/logs if needed. 2023-07-17-132102 Abridged
Posted
by pcotandy.
Last updated
.
Post not yet marked as solved
3 Replies
2.0k Views
Currently, we are selling iOS apps through the App Store, however we're looking to add a MacOS version of the app with additional features. We wan't to select a different price template for the MacOS version of the app, while keeping the iOS one as is, does anyone know if this is possible? I can't seem to find anything in the Apple Developer website that can do such a thing, so any help is greatly appreciated!
Posted
by cstys.
Last updated
.
Post not yet marked as solved
3 Replies
2.1k Views
I am creating a macOS application to be distributed to Mac App Store. I am getting an error when I try to validate my .pkg file with the "altool". This is the error I am getting: 2023-06-28 22:15:18.389 *** Error: Asset validation failed Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: cef119d1-f045-4e50-94f7-22ee94877fad) (90283) { NSLocalizedDescription = "Asset validation failed"; NSLocalizedFailureReason = "Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXXXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: cef119d1-f045-4e50-94f7-22ee94877fad)"; NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 "Asset validation failed" UserInfo={status=409, detail=Invalid Provisioning Profile. The provisioning profile included in the bundle com.***.safari.web.Extension [com.***.safari.web.Extension.pkg/Payload/XXXXXX.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal., id=cef119d1-f045-4e50-94f7-22ee94877fad, code=STATE_ERROR.VALIDATION_ERROR.90283 "iris-code" = "STATE_ERROR.VALIDATION_ERROR.90283"; } Exited with code exit status 1 CircleCI received exit code 1 The steps I am following, are as follows: Command to generate the archive: xcodebuild -workspace ${WORKSPACE}/XXXXXX.xcodeproj/project.xcworkspace -scheme XXXXXX -sdk macosx -destination 'generic/platform=macOS' -archivePath ${WORKSPACE}/XXXXXXExt.xcarchive DEVELOPMENT_TEAM=XXXXXXXXXXXX PROVISIONING_PROFILE_SPECIFIER="match Development com.***.safari.web.Extension mac" PRODUCT_BUNDLE_IDENTIFIER=com.***.safari.web.Extension CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY="Apple Development" archive **The command to generate the .app file (export archive step): ** xcodebuild -exportArchive -exportOptionsPlist ${WORKSPACE}/Config/Prod-MacAppStore-exportOptions.plist -archivePath ${WORKSPACE}/XXXXXX.xcarchive -exportPath ${WORKSPACE}/mac/packages I am using AppStore Distribution certificate for this step. **The Command for generating .pkg file: ** productbuild --component ${WORKSPACE}/mac/packages/XXXXXX.app /Applications/ ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.unsigned.pkg The Command for signing the .pkg file: productsign --sign "3rd Party Mac Developer Installer: XXXXX Inc. (XXXXXXXXXX)" ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.unsigned.pkg ${WORKSPACE}/mac/packages/XXXXX-${app_build_number}.pkg I am using Mac Developer Installer certificate for this step. The Command for validating the .pkg file: xcrun altool --validate-app -f ${WORKSPACE}/mac/packages/signed/XXXXX-${app_build_number}.pkg -t macos --apiKey "${APP_STORE_API_KEY}" --apiIssuer ${APP_STORE_API_ISSUER} --show-progress The last command is failing. Could someone please let me know what I am missing? And what does it mean by "Missing code-signing certificate"?
Posted Last updated
.
Post not yet marked as solved
4 Replies
1.6k Views
Submit my app to Mac App Store. workflow: Sign with cert: Developer ID Application ---&gt; Success Notarize ---&gt; Success Sign with cert: 3rd Party Mac Developer Application ---&gt; Success productbuild with cert: 3rd Party Mac Developer Installer, and get .pkg artifact---&gt; Success Transporter upload ---&gt; Success TestFlight notify, and app update to the latest version ---&gt; Success Click open, and then the ERROR comes like the screenshot photo So I'm confusing which step's wrong. And I believe my account certificates, profiles are all configured with no problem. Anybody have any clues? I've been here for many days.
Posted Last updated
.
Post not yet marked as solved
13 Replies
2.4k Views
I'm struggling to get past the following error from Transporter. I've tried everything I can think of and I'm not sure what else to do. WARNING ITMS-90885: ""Cannot be used with TestFlight because the executable “${executable}” in bundle “${bundle}” is missing a provisioning profile but has an application identifier in its signature. Nested executables are expected to have provisioning profiles with application identifiers matching the identifier in the signature in order to be eligible for TestFlight."" Setup I'm using electron with a main.app and nested helper apps (e.g. Main.app/Contents/Frameworks/Main Helper (Renderer).app) I'm trying to upload to the Mac App Store I'm codesign-ing the contents with Apple Distribution: ... and signing the pkg installer with 3rd Party Mac Developer Installer: ... I'm using osx-sign to manage the code signing for me: basically it's doing a whole bunch of this: codesign --sign {40-char-hash} --force --timestamp --options runtime --entitlements "$CHILD_PLIST" "packages/mas-universal/{APP_NAME}.app/Contents/Frameworks/{APP_NAME} Helper (Renderer).app"
Posted Last updated
.
Post not yet marked as solved
14 Replies
1.6k Views
Hello, yesterday, I have noticed that my macOS app HelloAI started receiving a huge amount of downloads in Australia (10x more than other usual downloads total). These downloads are not correlating with the other numbers regarding the app's usage, subscriptions, etc. Once, I have witnessed similar behaviour on client's app – a few days of huge downloads - nobody understood what's going on and then the app got "banned" from App Store Search. Based on this experience, I think that somebody is trying to get my app down. Is there some way how to report this officially to Apple or how to fight against it? I feel completely powerless.
Posted
by Michal123.
Last updated
.
Post not yet marked as solved
1 Replies
603 Views
Hello, I would like to know the most appropriate and correct way to run a C program that relies on a third-party dylib that has already been notarized. I am developing a desktop app that will be published in the Mac App Store. However, when I try to run the C program as I did before notarization, I encounter the following error: dyld[13471]: Library not loaded: third-party.dylib Referenced from: <962ACED9-BC9C-3AF4-B350-EF0D8DC75C99> /path/to/c/program Reason: tried: ‘third-party.dylib' (relative path not allowed in hardened program), '/System/Volumes/Preboot/Cryptexes/OSthird-party.dylib' (no such file), 'third-party.dylib' (relative path not allowed in hardened program), '/usr/lib/third-party.dylib' (no such file, not in dyld cache). What are the alternatives for running the C program?
Posted Last updated
.