Questions & answers about iCab Mobile 8 (2014/09/24)
iOS 8 & Keychain
- Why can't the previously saved passwords preserved when updating to iCab Mobile 8.5?
- When updating iCab Mobile from older versions to version 8.5, the previously saved passwords
and saved forms can not be preserved, so you need to enter and save the passwords again and
also save the forms again. The reason for this are changes in iOS 8 (related to the new iCloud
features of iOS 8) which require changes in certain App properties and App signing.
Unfortunately Apple seems to have overlooked that all these changes in iOS 8 could result in
the one-time data loss of the data that is saved in the keychain (passwords and saved forms data).
Unfortunately there seems to be no solution for this which does not result in data loss.
In general this issue can affect many other Apps as well (Apps which were initially created before Apple introduced the iCloud (2009), have iCloud support added later and which are now updated for iOS 8 and its new iCloud support).
The problem is the so called "App ID" which is required when developing an App. The developer needs to create an App ID and link it to all the services which the App is using (Push notifications, iCloud, Game Center, In-App purchases etc). Services which are not linked to the App ID can not be used by the App. For example the App ID is used to create a folder within iCloud where the App can store its files. The App ID is also used to create a storage within the keychain of the iOS (this component allows apps to securely save data like passwords) for the App, which no other App can access.
Apple provides the ability to create so called "wildcard App IDs" which can be used for many Apps which use the same services, but you can also create a unique App ID for each App. Using wildcard App IDs makes everything much more comfortable, because when developing Apps, you also need to create profiles based on the App ID, and when using individual App IDs for each App, the number of files you need to create do "explode".
For a few services (like In-App purchases) a wildcard App ID won't work, Apps which use these features do require a unique App ID.
Before iOS 8, the iCloud was one feature which did support wildcard App IDs. Since iOS 8 and its new iCloud, this is not longer that case.
For obvious reasons I did use a wildcard App ID for iCab Mobile until now. But because the new iCloud in iOS 8, this is no longer possible.
This is the reason why I have to create an new App ID for iCab Mobile. Unfortunately the App ID (or a certain part of it, called "prefix") is used as a key to access the data that is stored in the keychain of the iOS, and changing the App ID does mean that this key (the prefix) is changing as well, so the data that was saved in the keychain can no longer be accessed, instead iCab gets a completely new storage in the keychain with a new key.
Theoretically it should be possible to keep using the old "prefix", but unfortunately the web site where developers can manage and create the App IDs refuses to do this. So the only way is to change the "prefix", and this will result in the one-time loss of the keychain data.
I've contacted Apple and ask for help, but until now nobody could present a solution. It seems that Apple has simply forgotten to cover this case.
Important: This is a one-time issue. All passwords you save in the new version of iCab Mobile won't get lost anymore. This affects only those from previous iCab Mobile releases.
- Will be iCab Mobile 8 available for iOS 5 and 6 as well?
- Technically iCab Mobile 8 is fully compatible with iOS 5.1.1, iOS 6.x and iOS 7.x.
But a bug in Apple's process in submitting Apps for the AppStore does prevent that
the App can currently (March 2014) be made available for iOS 5 and 6. As soon as
Apple fixes this bug, I'll make the App available for iOS 5 and 6 again.
The technical background for this issue is the following: When submitting an App to Apple, there's an automated validation of the App, which check technical details of the App, and if the App passes this validation, the App is reviewed by real people and if it passes the review it will be made available in the AppStore. Currently, there's a bug within the automated validation which has the result that all Apps which use a certain iOS 7 framework will be falsely rejected if these Apps are not only targeting iOS 7.x but also iOS 5 and 6. So until Apple fixes this bug, I have to remove support for iOS 5/6.
- Why is iCab reloading web pages when switching Tabs?
- This only happens when the device is running out of free main memory (RAM). When
the device is running out of free memory iCab will release as much memory as
possible, which includes the web pages within inactive Tabs.
The number of Tabs that can be opened before the device is running out of memory depends on the web pages themselves (more complex web pages with many photos or videos require more memory than simple text-based pages), the device model (currently the built-in memory ranges from 256 MB (iPad 1, iPod Touch 4G) up to 1 GB RAM (iPhone 5s, iPad 3, 4, Air)), the background Apps, the iOS version (as a rule of thumb, the newer the iOS release, the more of the available memory it needs for itself).
In the Settings ("Other" section) you can enable the "Memory savings Mode" (which is enabled by default) to reduce the memory usage for inactive Tabs. Enabling the memory savings mode will slightly slow down switching between Tabs, but on most devices this is hardly noticeable.
It is even possible to configure iCab in the "Other" settings to no longer release the web pages in inactive Tabs when the memory is running out. But it is not recommended to do this in general. If the memory is running out and the iOS is unable to get enough memory to continue, it starts to terminate Apps, even the App in the foreground.
- Why are all the Tabs closed after leaving the App and coming back later?
- By default iCab keeps all the Tabs open, but you can change this in the settings.
There's and option "Open At Launch" in the "App Start" settings, which tells iCab what to open when it is launched. iCab can either keep or restore the last session (keep all Tabs open), open the homepage, the QuickStarter or an empty page. If the Tabs should be kept open, you have to make sure that the "Session" is selected here.
Another option which affects what exactly is opened when launching the App is the "Private Mode". The private mode is supposed to not store any private data, so the Tabs are not stored forever (they are considered as private data). By default iCab will only keep the Tabs open for a few minutes after leaving the App, so you can at least leave the App for a short time without losing anything. But when leaving iCab for a longer time, the Tabs and other private data will be lost while the private mode is enabled. In the "Privacy"settings of iCab you can configure the details about when and which private data is deleted in private mode.
Web Sites, Networking
- Why are there issues uploading files?
- As of iOS 6 and later the web engine of the iOS has native support for uploading
photos and videos from the photo album. Uploading other files is not supported by
the web engine. Under iOS 5, the web engine does not have any support for uploads
In the Settings of iCab Mobile ("Network" settings) you can configure if iCab should use the upload capabilities of the iOS or the one from iCab Mobile.
Using the upload capabilities of the iOS will work on almost all web pages but is limited to photos and videos from the photo album and is only working under iOS 6 and later. Using iCab's own upload capability will allow to upload all file types, even under iOS 5, but it can not work on all web sites.
- How can I let iCab Mobile fill out forms automatically?
- For standard login forms, iCab behaves a little bit different than other browsers
to get more flexibility and also more security and privacy.
First of all, you have to save the forms manually by using the "Save forms" item from the "Action" menu. Saving the form manually has the big advantage, that you can control what exactly will be saved. You fill out the form with all the data that should be saved, then you use the "Save forms" item. The forms in it's current state will then be saved. This way you can explicitly exclude certain form fields to be saved.
Switch on the option "Auto fill out forms" in the settings (Web sites > Save & Fill out forms) if iCab should automatically fill out the forms which were saved before.
for third-party Apps.
- Is it possible use iCab Mobile as default web browser on the device?
- No, the iOS will always use Safari as default browser. It's not possible to change
the default browser.
But if you install a certain bookmarklet in Safari, you can easily open the page that is currently displayed in Safari in iCab Mobile. See the blog post in the iCab Blog for more information about this.
- Can I force iCab to load the Desktop version of a site instead of the mobile version?
- Yes, most of the time this is possible.
Most web pages which provide a "normal" and a "mobile" version will determine which version they deliver based on the "Browser ID" (UserAgent) setting of the browser. This setting can be found in the "network" settings of iCab Mobile.
Selecting an ID of a Desktop browser (like "Safari (Mac)") will usually have the result that web sites deliver the "full" version of a page that is meant for desktop browsers.
Please note that if web pages determine mobile devices by their screen size and the touch gestures support, using a certain "Browser ID" might not work.
Also note that some web sites which assume that the browser is a desktop browser do rely on features which are only available on desktop browsers (like relying on a computer mouse or a physical keyboard, or relying on the Flash Plugin) which are not available on the iOS platform. So the desktop version of these pages might no longer fully work.
It is possible to define the Browser ID based on the URL of web pages. This makes it possible to keep the standard Browser ID ("Safari (iPad)" or "Safari (iPhone)") for most web sites and only use a special ID for those pages which do not work with the standard ID.
- Why doesn't it work when I click on links at Google?
- There's no problem at all with google pages in iCab Mobile, unless you change the "Browser ID" to certain IDs from Desktop browsers. The reason is
that the google page provides different versions of their site for different browsers and platforms. And if google assumes you're suing a desktop
browser, then it also assumes that you're using a computer mouse and the site will then rely on certain actions you can do with a mouse but which
can not be done with a touch screen.
For example the site uses so called "hover events" to trigger certain actions on the web page just by moving the mouse cursor over a link, without clicking. On a touch-based device this is impossible, triggering an action always require a touch (click). Apple tries to solve this issue within the iOS by simulating the "hover event" by a "touch" as well, which then requires a second touch to actually trigger the "click" event. Therefore if you really want to use the google page with a "Browser ID" of a desktop browser, you may need to click twice to open certain links. The first of these clicks will trigger the hover event, the second triggers the click event and actually opens the link.
In general it is highly recommended not to use a Desktop Browser ID für the google web site (and also some other web sites). You get the best experience when you stick with the Browser IDs "Safari (iPad)" and "Safari (iPhone)". These will be recognized by most web sites as "iPad" or "iPhone" platform and then these sites won't use features anymore which can not fully supported (or not supported at all) by the iOS platform.
- Where can I find the sync key for Firefox Sync?
- To login in your Firefox Sync account you need the login name (which is usually
your email address), the password and the sync key. With all these data, you
should be able to login at firefox sync within iCab Mobile.
You can find the Sync key within the preferences dialog of the Firefox browser. In Firefox please open the "Preferences" dialog and then the "Sync" panel. Here click on the link "connect device" and then on the link "I don't have the device with me". This will open a dialog box with the Sync key.
Usually this key is in the following format:
Since version 29, Firefox has introduced a completely new version of Firefox Sync, which is incompatible to the old version. While the new Firefox browser can still work with an old Firefox sync account, but it can not create an old one anymore and once you've switched to the new Firefox Sync version, you can not go back.
iCab Mobile 8 does not yet support the new Firefox Sync, but this is already planned. So currently you can only sync with "old" Firefox sync accounts within iCab Mobile..