Mac App Store app with Safari Extension - cocoa

I'm trying to understand how an app like 1Password can be on the Mac App Store and come with a Safari extension (and most importantly, how can the extension communicate with the app) because I'd like to do the same.
Is the native app running a server as a subprocess that get's called by the safari extension?
I'd like to know if it's possible to do that and still be Mac App Store + Sandboxing friendly.

1Password uses an agent to communicate between the Mac App and the Safari Extension. The agent is most likely a small server process that can receive RESTful calls from the extension(s). This mechanism allows the synchronization between all the different extensions (Safari, Chrome, Firefox, etc), the client and the main database.
The Safari extension is no longer installed directly by the 1Password app, by the way. Instead, you are directed to a web page that contains the Safari extension download, thus making the App sandbox-friendly.

I believe it's a regular .app that has a Safari extension inside it as a resource.
The app will check for the existence of the Safari extension on application launch, and if it doesn't find it in the default locations it will prompt the user to install it. If the users chooses to install it, the app copies the extensions to the Safari extensions folder.

Related

How mobile Firefox addon can recieve information from it's Desktop version? (if both are logged in)

I want to be able to close tabs on my mobile Firefox, while using Desktop version of Firefox. I thought Tab-sync would make it work, but it doesn't. So now I'm on the quest to fix it with an extension.
I have thought about using sync area of storage (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync) but it's not supported on Android.
Do I have to build some external service to send command from Desktop version to that service and then use Mobile Firefox extension to do the polling or there is a better way to utilize fact that I'm logged on both of these devices.
Any ideas please?

It is possible to use chrome / chromium webview in Cordova application for Windows 8/8.1/10 Store App?

I want to build a cross platform application in Apache Cordova that uses a Chromium-based Webview component for Windows Store Apps.
Similar to Crosswalk https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
It's possible?
Windows Store apps cannot use Chrome and must use the default browser shipping with windows (you can't even put a none-Edge browser into the windows store). I guess the good news is that if you are patient, Blink (which is the rendering engine Chrome is based upon) is becoming the default rendering engine for Edge next year. BTW crosswalk is also dead, as Chrome is now the rendering engine for all modern Android phones..
Edit from 2020... Since Slack and other Electron apps are in the store and since Cordova now supports Electron - you might want to go with Electron instead of creating a Windows Store app.

Building an Application like Chrome App Launcher

How would one go about building an Application like the Google Chrome App launcher like the one they released for windows, it seems like a simple application that just appears over its taskbar icon, however I wanted to know more about what could be used to make such an app.
Chrome and its app launcher are all open source, so you can have a look. However there is probably a lot of Chromium knowledge required to be able to navigate the code.
Some details:
the launcher is native c++
it runs in the same process as the Chrome browser
there is no practical way to get the location of the taskbar button, so it is faked using the cursor.
Some trivia:
the app launcher is called the app list internally
the launcher was originally implemented on ChromeOS, and was first ported to work on Windows. That was simple. It was later ported to Mac OS X (just released!) which was more complicated

Buying iTunes content from desktop app

I have a desktop application running on OS X and Windows. I'd like users to be able to buy iTunes content from within the app, and I'd like to earn via the affiliate program.
Is this allowed, and if so, how do I do it? The documentation states:
The use of the affiliate program inside apps is perfectly acceptable
and in fact encouraged behavior for app developers.
but it's not clear if this only applies to iOS apps, or desktop apps, too. Furthermore, I don't know how to pull it of in practice: It seems I am supposed to open a certain URL*. I believe on iOS, this is intercepted, and the user is taken to the App Store. On OS X (or Windows), it seems that this would flash a browser window before opening iTunes, which I'd like to avoid. I'd like to directly open iTunes with the purchase option. Or do I have to embed a browser frame in my app and use some kind of web interface?
*) There is some redirecting, and I can improve the user experience with 'short links', or by handling the redirection manually in the background, but in the end there is always an openURL call.
www.apple.com/itunes/affiliates/
the program applies to most content types, links can be on a website or within an app. essentially anywhere a iTunes store is: Mac: iTunes and Mac App Store. and on iOS: app store, itunes store and iBookstore. and Win: Itunes Store.

launch an app from a URL on Windows Phone 7

I know that on the iPhone you can register a URL prefix such as myapp://blah which, when opened in safari, will open up your application.
Is there anything like this for Windows Phone 7?
Unfortunately not, applications can only be launched by the user from the application list or home screen. I suspect that the hooks are there in the operating system because the YouTube application is launched when attempting to view a video on the YouTube website from the browser and the user is prompted to install the app if they haven't already got it installed. But unfortunately, this approach isn't publicly available.
You may give Receive Push Notifications in an Application for Windows Phone http://msdn.microsoft.com/en-us/library/ff402556%28v=VS.92%29.aspx a try.

Resources