Electron has an API for the macOS share menu, but the page does not include an example of how to use it. I'm struggling to get started, as I'm not sure which file to put the code in, or how to plumb it to an interface element. How do you use the ShareMenu API?
Related
Can somebody please explain me what is the purpose of using Google Tag Manager (GTM) on an iOS app?
Currently I am working on an app which part of the legacy configuration resides on GTM but I cannot find any purpose of this.
I've read the documentation but I find it very confusing.
It mentions to add GoogleTagManager pod, add the json corresponding to your container and "preview" it with a Custom URL Schema.
The things that I dont understand are:
Why adding GoogleTagManager pod if you are not using it in your app, there is no import or anything like that
Why download the container (json file) and add it into your project. Based on the documentation, it doesnt mention anything about linking this json file with your actual xcode project.
How by using a custom URL Schema will test your container? On the documentation doesnt mention anything about handling this custom URL schema.
So based on the documentation I dont find any purpose of using GTM at all. The thing that for me makes sense is when login an event using Google Analytics, by calling Analytics.logEvent..., but this is Google Analytics, not GTM.
I will appreciate if someone can provide some information about this.
Thanks in advance.
Google Tag Manager is used, when you want to change some custom event data on the build which is already live(on App store) and you don't want to resubmit the new build just for the event. For more details you can refer this link.
I'm trying to create a webview with the capability to block/redirect certain urls requested inside the webview (not just the page url, but also the requests sent from the page, think of it as what a browser extension is able to do).
After some research, the closest I get was this Swift/Obj-c approach of use NSUrlProtocol: https://www.raywenderlich.com/2292-using-nsurlprotocol-with-swift, and the doc of the native-webview-ext mentioned something about WKURLSchemeHandler https://github.com/Notalib/nativescript-webview-ext .
I'm new to mobile development and this feature is crucial for my project. I wonder if anyone has experience building this out in NativeScript, I hope I don't have to convince my team and my boss to write this in Swift instead :(.
As you see in the webview-ext plugin docs, it does support overriding resource urls. Refer the registerLocalResource method.
Just in case, even if that is not supported you don't have to write your whole project in Swift as you can always access all native apis from JavaScript / TypeScript itself, read more about it here.
I am trying to create a simple electron app, that opens Google office files from Google Drive, reads the link file and creates a new window containing that google doc page.
I can make it work, if I edit info.plist after building with electron-builder to make the app accept the file extensions '.gdoc, .gsheets and .gslides'.
Is there a smarter way that doesn't involve manually editing info.plist?
Electron-builder is supposed to be able to do that through specifying the FileAssociation. I've read of various issues with this but haven't needed it myself yet– if it works for you, please report back.
There is also the Windows only electron-regedit node module:
"File associations, file icons & open with... for electron apps
This module allows you to register your app in the windows registry,
manipulate context menus & handle native open, edit, print, preview
actions ect."
However for Google drive you might be looking at registering a protocol and url scheme. There is support for that electron-packager
protocol
Array of Strings
The URL protocol scheme(s) to associate the app with. For example,
specifying myapp would cause URLs such as myapp://path to be opened
with the app. Maps to the CFBundleURLSchemes metadata property. This
option requires a corresponding protocol-name option to be specified.
protocol-name
Array of Strings
The descriptive name(s) of the URL protocol scheme(s) specified via
the protocol option. Maps to the CFBundleURLName metadata property.
I want to import a document from another app into my app like it's done in MS Outlook iOS app when you click the paperclip in an email. Then you get a list of apps (dropbox, google drive etc) + recent documents and you can select a document.
How is this done / do I need to use the app-extensions for this ?
thanks
Frank van Vliet
this is the scope of App Extensions. To add an App Extension to your Project you have to navigate to File -> New -> Target and the App Extension you are looking for is called Document Provider. Please first check the WWDC Video on best practice for App Extensions and the App Extension Programming Guide. It will help you to develop the understanding of this Feature.
EDIT:
Maybe I set you on the wrong track, but within the App Extension Programming Guide you could have found the answer to your Question. I'm using Xcode 7.0 Beta 4, but most of the following screenshots should look exactly the same in Xcode 6.*. First of all I started a new SingleView-Application written in Swift and added the Document-Provider Extension as a target to the Project as outlined above.
After building the application with the new Document Provider target I ended up starring confused onto the Share-Menu realising that we talked at cross purposes. The Documentation on this target is slightly muddled but after a while of testing and searching I realised that the thing you are looking for is the Document Picker, not the Document Provider. On this Page you can find the Relevant Chapter: Accessing Documents Link, where you can get examples for the Document Picker.
Since this will hopefully solve your Problem, I would like to shortly refer to the Document Provider and the overvalue it could add to your Application.
The Document Provider extension consists of two separate parts: the Document
Picker View Controller extension and the File Provider extension. The Document Picker View Controller extension provides your document provider’s user interface. The system displays this interface when the host app presents a document picker view controller for your document provider. This interface should let users browse through and select documents and destinations from inside your document provider. This extension can also perform basic import and export operations without any additional support.
from the App Extension Programming Guide as mentioned above
So the Document Provider is kind of an Import Feature as seen from another app. If you would implement a Document Provider Target for your Application, other Apps can access designated data. For example you could attach Files from your App to an E-Mail (left screenshot) or Open a File in Pages (right Screenshot).
When working with Files, this could be a nice feature for your users.
Also I would recommend using either a Share or a Action Extension.
Share extensions give users a convenient way to share content with other entities, such as social sharing websites or upload services. For example, in an app that includes a Share button, users can choose a Share extension that represents a social sharing website and then use it to post a comment or other content.
That doesn't sound exactly like the thing you want to achieve, but at the moment even Apple uses the Share Extension for all kinds of things.
An Action extension helps users view or transform content originating in a host app. For example, an Action extension might help users edit an image in a document that they’re viewing in a text editor. Another type of Action extension might let users view a selected item in a different way, such as viewing an image in a different format or reading text in a different language.
You said you want to import a document from another app into your app. This sounds handy. Lets assume a user opens a Document "loremIpsum.txt" in the iCloudDrive Application and wants to share it to your new app.
Now, you have to write the code to handle imported files when opened by the Document Picker, you could reuse this code to easily add a Action Extension to the Share-/Action-Menu. I hope this will help you and solves more than one problem.
Best regards
cr0ss
I am new to dart and I am trying to read data from a file and use the contents to draw something canvas. In doing so I am running into 'The built-in library 'dart:io' is not available on Dartium ' issue.
I understand Dart has limitations as Javascript in that code that is running in a browser cannot natively access the File System of the running client.
At the same time are there any tips on how to read a file and also use the contents to write it to canvas?
Thanks in advance.
What kind of application are you trying to build?
If it runs in the browser the files are usually on the server.
If it is a normal web page you can't access user files. There is a sandboxed space accessible to be used by by the code of a webpage.
If you build something like a Chrome app you have less limitations.
You definitely can't import 'dart:io' when the could should run in the browser.
The APIs available in the browser can be found in 'dart:html'.
If you want to build a Chrome app this package provides access to the extended API http://pub.dartlang.org/packages/chrome
I fixed my problem by prompting the user to choose the file. Similar approach as in
https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications but using DART.