I've started a new iOS project enabling the option to deploy the same app in macOS (Catalyst). But when I try to create a Safari Extension in macOS, I get the following error
'Safari Extension.appex' is a Safari extension, which is not available when building for Mac Catalyst. You may need to restrict the platforms for which this app extension should be embedded in the target editor.
In the target editor Frameworks, Libraries and Embedded Content I've selected only the macOS platform in my Safari Extension, but I get the same error, any clue?
thanks for your time
I've received an answer from Apple
Embedding a Safari App Extension in a Catalyst app currently isn't
supported. If you could file a piece of Feedback in Feedback Assistant
that would be very helpful. Thanks!
https://forums.developer.apple.com/thread/122485
Related
I am working currently on adapting our Email application written on Xamarin iOS to run correctly on Apple Silicon M1. I have faced the following problem that I can't solve so far. The problem is that our code written for iOS that uses UIDocumentInteractionController on Apple Silicon opens "Share to" menu, also if I try to change this to Launcher.OpenAsync() call from Xamarin.Essentials it also opens "Share to" menu instead of opening the file with default application. I tried to use Launcher.OpenAsync() from Xamarin.Mac application and run it directly on Apple Silicon from VS Mac and it works as expected this way - opens file with default application. However when running from iOS application installed on Apple Silicon it always opens "share to" menu. It is a big problem for us as we need to allow user to open attachments files from our email editor. Any ideas what I can try to do to solve the problem?
So in the end I replaced our UIDocumentInteractionController with Quick Look Preview Controller which works as expected both on iPhone and iOS application running on M1.
Since the release of "Safari App Extension" I have toyed around with creating safari app extensions for native applications using xcode. Now however, I'm attempting to create an extension for an application that was built using the Electron Framework.
I'm wondering if this is possible and if anyone has had any luck accomplishing this goal. I'm unsure how to go about initiating the safari app extension without the use of xcode.
For those unfamiliar with "Safari App Extension" you can add one to an existing native project by opening a MacOS application, going to "File->New->Target->Safari Extension" this will then create the extension within your existing application and make the extension available within Safari->Preferences->Extensions.
Thank you for reading.
I'm not secure if what I'm saying it's true, but I think that Safari Extensions are writed with Safari apis and/or a language that it isn't javascript (because, on my old Mac, I needed to install an adblocker app with .app extension). The problem is that Electron is based by Chromium and requires javascript and Chromium based extensions. If you want, however, you can do the inverse.
If you are not expert with Chromium extensions, I suggest to you this link.
P.S.: You can also try to find the same or similar extension that works on Chromium.
I now want to write extension for Safari.
But xCode offers me first make the app, and then add the safari extension.
OK, I created an empty application, started writing my extension, but I have a question. Can I release an extension without reference to the application? I do not understand the process.
I want to just create a safari extension, without reference to a particular application, because my product is a Safari extension, not a application.
I know it's late but somebody else might stumble upon this topic and I think the following information can be useful.
It seems that according to Apple's documentation extensions that are created using Safari Extension Builder will not longer be supported: https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009977-CH1-SW1
Developer-signed Safari extensions are not supported in Safari 12. Safari extensions distributed in the Safari Extension Gallery are deprecated, and Safari 12 is the last release to support them. Safari by default will turn off Safari extensions using canLoad. Instead, use Content Blocker extensions. New submissions to the Safari Extensions Gallery will be accepted until the end of 2018.
So the only way seems to be to
Use Safari app extensions to add features to the Safari browser.
https://developer.apple.com/documentation/safariservices/safari_app_extensions:
this looks like the only way to develop an extension as of today (2018), alas.
There are 2 types of Safari extensions: ones that bundled with a Mac app (Safari App Extensions) and standalone extensions. I belive standalone extensions can be created using Safari Extension Builder (avaliable in Develop menu in Safari), without Xcode. You can learn more about Safari extensions here.
As Safari extension Builder is deprecated, you now use Xcode. Simply, a Safari Extension can either be bundled with an app, or standalone. To start a new standalone extension, that is, not part of a desktop app:
Launch Xcode
Choose File > New > Project
Select the template Safari Extension App in the Other section
Click Next (continue through the normal process to develop your Safari Extension)
Alternatively, if you wanted to add a Safari Extension to your existing project:
Launch Xcode
Open your existing app project
Choose File > New > Target
Select the template Safari Extension App in the Other section
Click Next (continue through the normal process to develop your app including Safari Extension)
An example might be Grammarly whereby you can download a desktop client and Safari extension (in a bundle) for macOS, or you may download the extension as a standalone app from App Store.
I'm developing a Mac app that uses WKWebView to display HTML resources. I want to use the Safari inspector to debug the JavaScript in my app.
When I debug my app by launching it from Xcode, Safari doesn't show my app in the Develop menu — it displays "No Inspectable Applications".
How do I get my Mac app to appear in Safari's Develop menu?
From https://forums.developer.apple.com/thread/21521:
Add an entitlement file to the application, then set the entitlement key com.apple.security.get-task-allow to YES. This key is automatically added to iOS applications for Xcode debugging, but it must be added manually to Mac applications.
If you only want to use Safari to inspect while Xcode is running a debug build, add the entitlement file to a Debug configuration and not the Release configuration.
Download & try same in Safari Technology Preview
https://developer.apple.com/safari/technology-preview/
I have the Keon from geeksphone. The Mozilla developer site talks about using the emulator, but nothing about installing an application onto a physical device. It is a developer phone, so I assume there's a way to develop with it? I can host the app and test it in the phone's browser, but I'd prefer trying to package it up and actually install it onto the device.
Found it. Now I need to figure out how to install an XPI file...
Testing Packaged Apps
Android bridge API
Now I need to figure out how to install an XPI file...
XPI files are add-ons, which FirefoxOS does not support at the moment.
You want to install FirefoxOS Simulator addon file which is in .xpi format? If yes then just drag and drop the file onto Firefox Browser, it will get installed.