Safari Web Extension horribly slow - swift

So I created a Safari Web Extension. I did not change any piece of code and ran the template code provided by Xcode.
I clicked on the toolbar item and a blank popover window popped up. It took around a good 5 seconds to load the "Hello World!" screen (It is the screen that is the part of the template Xcode provides).
After that, whenever I again clicked on the toolbar item, the "Hello World!" screen popped up immediately, but Safari did not respond until around another 5 seconds.
Is this a bug on Apple's part or am I missing something?
I am using Xcode 12.2 and Safari 14.0.1
Note: This does not happen on a Safari App Extension

It's a bug in Safari right now. I've had it reported with Apple for quite a while under FB8976225. But the great news is it looks to be resolved in Safari Technology Preview Release 124. I'm hoping we will see it moved to the Stable channels soon.

Related

iOS 11 UIWebView JavaScript Pop-up Issues

I have an issue with updating an app for use with iOS 11. I have the native app, which uses a UIWebView to show a GWT JS application.
However, pop-ups are not working in this app for iOS 11. They can open, a value can be selected, and then they will save the value and close, but then they will reopen exactly as they were prior to closing, and this will continue. If I have 2 drop downs, then the first will have the issue described above, but if I then open a second I will see the values from the first drop-down until I have clicked somewhere else on the screen to close it.
The second time the drop-down comes up it does not automatically close on selection, but does seem to change the value. Additionally, if I close the drop-down without having anything selected then it will pop-up with the same number of items in the list, but all blank, as though the initial pop-up is somehow feeding values into the second pop-up.
I have eliminated the possibility that it is solely a code issue, as the same exact native and web code has the pop-ups working as intended on iOS 11.
I would appreciate any advice on how to deal with this, either because you have experienced this issue yourselves or even just in general issue debugging hints for iOS 11, as this is relatively new to me.
Thanks.
What worked for me was replacing UIWebView with WKWebView from WebKit framework. For the moment I didn't found any better solution to this issue.
Be sure you add WebKit.framework to your target.
This is an ios issue with UIWebView, as mentioned in the previous answer. Replacing this with WKWebView will help to fix this. For anyone who is not able to replace to WKWebView, this issue is fixed in xcode 9.2 beta-2 version. So you can build your app with xcode 9.2 beta-2 (hopefully the stable version will have this fix as well), and try testing in ios 11.2.

Smartface in action does not work on android devices

I have opened smartface in action application on the IDE, but it does not work on android devices. When the application opens just a white and empty page is appeared on the device screen.
And all the objects that must be in the pages in the project are also disappeared.
All the pages have just a white screen.
Smarface Emulator takes a lot of memory (I think because all JS files are loaded in the memory). Try to clear (close all apps from) the memory of your Android phone and try again. Hope this helps.
It does not still work. On the smartface ide, the main page of the smartface in action project is still white. There is no object on the page, so when I emulate the project I just see a white page on the device screen and I cannot do anything due to no object on the page.

How can one suppress automatic refresh of open browser windows on the iPhone, iPad, etc. when switching back into them?

The question is: How can one suppress the annoying auto-refresh of open web browsers in Safari, etc., when the user of an iPhone or iPad switches back into it after switching out of it? There appears to be no setting that can do this on these devices.
Today I inadvertently discovered a way to stop this annoying behavior, even though it does not qualify as a real fix, it is a method of suppressing the behavior by taking a simple action every time prior to switching out from Safari or another browser. Not ideal, but it does give you control (finally) of the browser such that the behavior is suppressed. The link to the answer is here:
https://discussions.apple.com/message/25254749#25254749
If you don't feel like surfing there, here's the trick:
In Safari or another browser app, touch and hold on a piece of text (a single word or letter is fine), then lift your finger off the screen. The word or letter will be selected and the familiar little pop-up that says "Copy | Define" appears. Touch "Define" and the screen that shows the word's definition or says it couldn't find a definition pops up. Now, do not touch anything else; not "Done", "Search the Web", or anything else. Now press the Home button (i.e., the one on the bottom portion of the front face panel of the iPhone with the square in it). You will be switched back to the springboard with all your app icons and from there can do anything else you want. Then, touch the browser icon for the browser you were in and you'll switch back into it. The definition screen covering the browser window will still be there. Touch "Done", and the screen drops away. Blessedly, the open browser window(s) will not reload.
Update:
In Mercury, the trick hasn't failed me so far. However in Safari, sometimes it fails to work when many apps are backgrounded and many browser windows are open. Possibly because Safari is bundled with iOS and written by devs in the same company, the Springboard may have more hooks into it and been programmed to have more discretionary power over its behavior. And a blocking process initiated by Springboard is cancellable by Springboard; if not, then it'd hardly be consistently useful as an OS. But I have noticed that by placing Safari in its select-browser state (touch the lower-right one-square-on-top-of-the-other icon in Safari that causes the browser windows to stack tilting forward, pseudo-3D style) and then switching out to the Springboard and doing whatever, etc., then back into Safari, that also seems to work, even with a lot of browser windows and apps open. But as we all know, some web pages have Javascript that force an auto-refresh based on last date-time of retrieval which they store in their DOM, usually in a hidden field or some other place. So that can't be helped when a browser window becomes active. However lacking that, the window doesn't refresh. So in terms of getting consistently positive results when trying to suppress auto-reload when using Safari, I recommend this approach more often than the more general one I described first.

Weird iOS5 glitch when keyboard appears after selecting textfield

When selecting a textfield in iOS5 a weird arrow moves from the top left to bottom right of the screen when the keyboard appears. This only happens in iOS5 on the device and the simulator. When running with iOS4 it works as expected.
It only happens the first time the app runs, when i dismiss the keyboard and select the textfield again the arrow isnt visible. I have to restart the app to see it again.
Notes:
Ive posted a video to display what i'm getting http://youtu.be/4Ju2-wQ3hVY
I've tried stripping out other classes and creating a new blank nib with a textbox only but the problem still persists within my project. Creating a new project with xcode 4.3, the problem isnt visible. I've also tried with zombies enabled and didnt get any errors.
Are there new project / build settings that might conflict with the older versions?
This arrow looks like bug to me. I suggest you to file a bug report to Apple and post your issue to http://devforums.apple.com, where maybe issue will be notice by Apple employees and you may get more details on this.

I am building an ios navigation app that is not opening in the ios simulator

I have this navigation app with several views and no data yet.. however I had a small break from coding over the weekend and have come back to it only to have it not load in the ios simulator.
There are no errors in the xcode output while it runs but as soon as i click to run button it loads the app up but as soon as it opens it closes and goes to the home screen.
I have tried cleaning the build and opening closing everything but just cannot figure this thing out...
Since there is no error messages or indication as to what is wrong I am going to suggest
a few other things you can try out:
Have you tried "iOS Simulator" -> "Rest content and settings".
In Xcode click the "Product" menu in the menubar, hold down the Option key and
you should see "Clean" change to "Clean Build Folder".
Lastly pull up Organizer (Shift+Command+2), select the "Projects" and the then click "Delete Derived Data".
The two last ones should not be directly related to the simulator, but they won't hurt either.
Does your app requires internet connection to run.. if it does, check ur internet connection as well.
I have this kind of problem last time and turn out, if there's no internet connection and you didn't put any exception on that, the app will straight away crash with no errors..