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

55 Posts
Sort by:
Post not yet marked as solved
7 Replies
152 Views
As an indy developer, it's prohibitive to start developing backend receipt validation services. Is there anything else in Apple's technologies that we can use to verify whether the person who is using my app, has paid for it? The first thing I thought of when Apple rolled out Sign in with Apple ID, was hopefully, it would include some API that would allow me to ask a simply question: did this Apple ID pay for my app? As an indy developer, this is the one feature that would keep my paid app on the Mac App Store. Anyone have any good suggestions for solving this as an indy developer?
Posted Last updated
.
Post not yet marked as solved
5 Replies
109 Views
I'm busy designing my app's functionality and really would like to provide some features that rely on background processing after the user has logged in. A Login Item seems ideal for this use case. I appreciate the lengths Apple go to, to communicate the complex technologies involved in app development, including the planning of macOS apps. I haven't found any information in the planning and design (admittedly under HIGs) documentation on whether it's possible to provide some background processing element along with an app destined for the Mac App Store. Perhaps it's not mentioned for a reason? However, it would be really useful to background processing dealt with up-front, especially under planning, because it has a huge impact on how one moves forward with product design. Especially when you're an indy developer with limited time and resources. I can't, for the life of me, find where I previously read that daemons and agents weren't allowed to be shipped with a Mac App Store app, because of the Sandbox requirements. It was probably a reply by Eskimo somewhere in the forums. Does the same apply to Login Items? The bulk of the Login Item documentation is in the documentation archive, most of which was written before the existence of the app stores, so I couldn't find any answers there. I previously believed that an app destined for the Mac App Store could only include a single binary, that of the main app itself. Although I've seen the recent article on including a command line utility binary in the distribution too. Also, if my understanding of code signing is correct, apps distributed via an app store are signed by Apple, and thus can't communicate via XPC with a binary signed and distributed via a Developer ID. Or is there some workaround there that might get me closer to my goal?
Posted Last updated
.
Post not yet marked as solved
7 Replies
258 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
149 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
149 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
322 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
241 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.2k 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
247 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
250 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
275 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
275 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
280 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
293 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
321 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
400 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
355 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
450 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
539 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
.