As far as I can determine, there is no way to save the data in my Safari App Extension when Safari terminates. It seems I have to save the data every time the page changes. That's wasteful. Does anyone know of a work around?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
In the past when I entered an object name in the search field at the top of the documentation window, Xcode would display appropriate object names. Now when I enter an object name like NSVIew, 'No Results' is shown. Apparently I am missing some data file. What's going on?
I received a automated phone call claiming to be from a organization managing distribution of the award in the case of Cameron, et al. vs Apple
The address I am supposed to respond to is: HTTPS://samllappdeveloperassistance.com
Is this a scam?
Just a simple question here:
As far as I can tell, I must install my Safari extension with an app that I built in Xcode.
OK.
What is not clear is what happens when the user quits my installing app. Does the extension remain available through Safari, or is it deleted?
Is it available the next time my user runs Safari, or does he/she have to run my installer app again?
My Safari App Extension is having trouble with one website. This is typical for some other websites as well.
Navigating to that website results in 6 “Load” events. For each such event I send a “safari.extension.dispatchMessage” to my objC code.
For the first of these Load messages, my objC code sends a ‘sendMeIcons” message to “safari.self.addEventListener('message', function(event)”. The other 5 Load events are ignored by my objC code and do not send this message.
safari.self.addEventListener('message', function(event) receives sendMeIcons JUST once. Yet, the event handler for this message) is invoked 4 times. The first invocation is correct. The other 3 are spurious.
I have no idea why this is happening.
Here is my objC code
safari.self.addEventListener('message', function(event)
{
if (event.name === "Load My URL")
{
console.log('In event listener Load My URL');
...
return;
}
if (event.name === "sendMeIcons")
{
...
if (hrefs.length <1) //THIS IS ALWAYS TRUE FOR THIS TEST CASE.
{
safari.extension.dispatchMessage("js Found No Icons");
return;
}
else
{
...
safari.extension.dispatchMessage("IconsReturned",{"urls": arrayOfUrls});
return;
}
}
I don't have a clue how to proceed. Any suggestions.
When calling:NSURL* aURL = [NSURL URLByResolvingBookmarkData:secBookmark options:options relativeToURL:nil bookmarkDataIsStale:&isStale error:&err];isStale is YES.When attempting to get a fresh bookmark, calling:NSData* secureBookmark = [aURL bookmarkDataWithOptions:options includingResourceValuesForKeys:nil relativeToURL:nil error:&err];produces:2019-03-11 15:53:51.603133-0700 XXX[534:8439] Error: Error Domain=NSCocoaErrorDomain Code=256 "Could not open() the item" UserInfo={NSURL=file:///Users/oldmancoyote1/Desktop/E%20Projects%20folder/Drawing/Drawing%201%20.pdf, NSDebugDescription=Could not open() the item}If I ignore isStale, there appears to be no problem. Can I safely ignore isStale?
I just installed the default safari app extension (the one created by Xcode) on my mac. Its icon is visible in Safari, but when I run the extension, nothing happens. Then when using the Safari/Developer/Web Inspector/ and choosing Sources, an Extension Script folder does not appear at the lower left. Do you have any suggestions to resolve this problem?
Topic:
App & System Services
SubTopic:
Core OS
Tags:
macOS
Safari Extensions
Safari Services
Safari and Web