How application behaves when updated from Mac App Store? - macos

I'm building sandboxed OSX app (with embeded helper app that is running on the background) that will be delivered through the Mac App Store and I'm not sure how update will affect app life cycle.
What will happen with running app, when user hits update in app
store?
What will happen with running background helper app when user hits
update in app store?
Are apps installed under different accounts updated separately?
Thanks for any help, documentation for sandboxed apps doesn't have any information about update process.

Related

How can I test a standalone watchOS application?

I can't figure out how to test running my watchOS app as a standalone app. When I run it on the simulator it never works unless I also have the associated iOS app. Running the watch scheme shows that the iOS app is running along with the watchOS app. I created a scheme which just builds the watch and it will cause the watch app to start, but it doesn't actually update the compiled binary.
First of all, you have to create certificates for all project targets and upload on Testflight, Through Testflight (mobile application) you can install the app and it will sync automatically in the watch.
The second option will, Connect your watch with mobile and install that watch application via Xcode on mobile, it will sync automatically in the watch.

Can I use In-App-Purchases when distributing outside of Apple's App Store?

I'm new to mac os app development and the documentation doesn't ever say that this is not supported (as far as I could tell).
Can I use IAPs if I don't submit to the App Store?
Is there anything different that I should do to setup IAPs when distributing outside of the App Store?
It looks like this is not possible, as documented here:
https://developer.apple.com/macos/distribution/
Only iCloud and Push Notifications are available.
I think its possible by following instructions below.
Go to itunesConnect , Users and Roles, Create a sandbox user . I am thinking you have already made the in app purchase items in your app in itunes connect. Now in your device log out the Appstore ID from settings. Do the in app purchase using the Test user credentials you created, and it will make the in app using a sandbox environment.
For more info about In App follow this link :
https://www.raywenderlich.com/122144/in-app-purchase-tutorial

Archive Watch app application without iOS application

Ive builded a watch application for OS 2.x, and i wanted to submit the watch app to the app store without the iOS application. how can i do that ? what targets do i need to remove and so i can send the watch app standalone app without iOS ?
Do i have to submit both of them and apple will decide to take the apple watch application without iOS app ?
i tried to remove iOS application from targets. then the app stopped running on simulator. and couldn't be archived.
You can't do it. A watchOS application doesn't currently exist without a corresponding iOS application. If you are only updating the watch app, you still have to resubmit the whole thing, and the version of the iOS app must be incremented as well.

JS not executed on Pebble Time with "notifyWithAppMessage: no delegate" in the app logs

I have a perfectly working (Pebble Classic) app on the Pebble app store. However, when installed on Pebble Time, the JS is not always executed (or takes too long to kick in) and in the logs I can see "[PHONE] pebble-app.js:?: notifyWithAppMessage: no delegate."
Is it Aplite compatibility issue or do I need to do something differently for Basalt platform. App is SDK2, thus compiled only for Aplite.
Note that the JS was not bundled in iOS app yet, so if you want to try it you must use Android app.
https://apps.getpebble.com/applications/5541de234b4d965adb000050
This should work. Please file a bug via the mobile app.

Mac OS Sandbox: Launching main application from helper

I have create in sandbox, an app which use a helper to start at login, as presented here.
It works ok, but the next messages are logged in the console:
lsboxd[1560]: Not allowing process 15208 to launch "/Applications/SandboxApp.app/Contents/Library/LoginItems/SandboxHelper.app" because it has not been launched previously by the user
lsboxd[1560]: Not allowing process 15208 to register app "/Applications/SandboxApp.app/Contents/Library/LoginItems/SandboxHelper.app" for launch.
I see that this messages are about the helper, but I don't know what to do, to prevent them.
My only concern is that Apple may reject the app because of this messages.
Is someone who prevent the raise of those sandbox messages, or is someone who sent an app, which raise sandbox messages, to Apple and was accepted on Appstore?
See http://blog.timschroeder.net/2012/07/03/the-launch-at-login-sandbox-project/ - according to this it is a code-signing issue that probably won't be an issue with the AppStore build as the AppStore build gets resigned.
This should work in the final build. According to Apple Documentation (Section “Launching Helpers with Launch Services”):
Launching Helpers with Launch Services
A sandboxed app is allowed to
launch a helper using Launch Services if at least one of these
conditions has been met:
Both the app and helper pass the Gatekeeper assessment. By default
that means both are signed by the Mac App Store or with a Developer
ID. Note: This does not include your development ("Mac Developer") or
distribution ("3rd Party Mac Developer Application") signing
identities.
The app is installed in /Applications and the app bundle
and all contents are owned by root.
The helper has been (manually) run
at least once by the user.
The first and/or second one should cover your case when your app was installed through the Mac App Store.

Resources