ipad – iPadOS: Creating files on SMB share

In reply to a comment from Marian Rainer-Harbach, I wanted to suggest an answer that I’m not 100% firm about, but does reflect my greater familiarity with iPadOS gained over the last eight months. I believe the answer to my question is a firm “no”: iOS and iPadOS apps (including the Files app) cannot create files on an external share except in very circumscribed cases.¹

The issue here is with app sandboxing:

Generally, apps are restricted to accessing files inside their own sandbox, meaning the files and directories they were installed with. Aside from temporary cache files, this is the only way apps can address files simply by name.

This is something I’ve learned from using apps like the Blink ssh/mosh shell, Pythonista, iVim, Termius, and other apps that can provide Unix shell-like access or other ways of specifying files by pathname. I’ve supplemented this learning-by-experience a bit with some research in the Apple Developer docs, but I don’t claim expertise here as an app developer.²

So: iPadOS apps can access files contained in their sandbox directory, like /private/var/mobile/Containers/Data/Application/$appID, or its subdirectories, by name (in read-write mode if they so choose), but outside that directory (in superfolders or siblings), they only have by-name access to securely-shared componentized resources (nearly always only in read-only mode), and they generally have no visibility at all into other apps’ sandboxes.

Yet iPadOS apps can, obviously, access files elsewhere in at least two circumstances:

  1. An iCloud Documents directory created for the app; and
  2. Files shared with the app via a Share sheet.

The iCloud directory is created by the app developer’s using CloudKit, and has a specific naming convention: in the Blink shell, for instance, the files I can find in the Files app under iCloud Drive → Blink are available in the Blink shell under the symbolic link ~/iCloud.

If I read that symlink, I can find:

blink> ls -l iCloud
lrwxr-xr-x  1 mobile  mobile  91 Mar 17 14:53 iCloud -> 
/private/var/mobile/Library/Mobile Documents
/iCloud~com~carloscabanero~blinkshell/Documents

Thus, apps using CloudKit can “break out of their sandbox”, but only to the extent of reaching what amounts to a second iCloud sandbox, limited to only their own iCloud Documents data.

This is why, since the introduction of iPadOS (iOS > v13) and the Files app, some iPad apps sport a file-opening screen that looks very like the Files app; via the UIDocumentBrowserViewController interface, they give the user the ability to use a Finder-like interface for managing an app’s files.

However, as similar as they look (so similar, in, fact, that you could be forgiven for thinking it was simply Files being used as a helper app), there’s a key difference between this UIDocumentBrowserViewController interface and the Files app: when you tap iCloud Drive in the Files app, you find a directory listing all the various CloudKit-compatible apps you have installed, each as subdirectories you can navigate to. But when you tap iCloud Drive in an app using the UIDocumentBrowserViewController interface, you’re immediately taken to the iCloud Documents subdirectory for that app; you can’t “escape” and look at other apps’ iCloud documents.

Share sheets are the other way apps can potentially get access to files outside their sandbox. However, this is user-initiated (via a Share operation), and the file-like object the app receives is not accessible simply by pathname. You won’t find an app that includes a “Recents” list with files shared via Share sheet, because once an app has lost reference to a file object given it by handoff from the Share sheet, it no longer has a way to access it again (unlike files in its own sandbox, which it can access at any time by name).

Usually, that means the app being Shared to has no ability to create a file—that would be mucking with another app’s sandbox by name and isn’t allowed.

(There’s an exception for “bundles”—objects in macOS/iOS/iPadOS like apps that appear to be files, but are actually directories—on macOS you can right-click on an app in the Finder and choose to “Open bundle” to see this. When bundles are shared with appropriate permissions, the shared-to app may be able to create files inside the bundle.)³

While not fully answering all my questions, I think this background at least explains the issue: except for Shared bundles, apps simply can’t create files anywhere except inside their own sandbox. While the Files app—as a system utility—has greater access than other iPadOS/iOS apps to browse the file tree (including mounts of network drives), it still doesn’t have the right to create files outside its own sandbox by name, which is what would be required to allow the functionality I was asking about.

While app sandboxing exists in macOS—for all apps installed from the Store, and many other apps too, as Apple has pushed developers to implement app sandboxing in their macOS apps—it’s an ever-present security measure in iOS and iPadOS that, unlike on macOS, can’t be ignored by ordinary developers, not even with the coöperation of users (assuming they haven’t jailbroken their devices).

The Finder is a macOS app that isn’t subject to sandboxing rules. iPadOS’s Files app looks like Finder, so at its first introduction it was perhaps reasonable for users to expect it to work like Finder, too. But as an iOS/iPadOS app, even though it does have special access, Files still has to play by (most of) the rules—meaning no file creation in random places in the filesystem hierarchy.


¹ This discussion doesn’t really pertain to Secure Enclave storage, which has its own, entirely separate, set of requirements. But it should probably be obvious that the concepts of “Secure Enclave storage” and “network storage” can’t overlap!

² This is why I am posting this answer to my own question, but I’m not accepting it unless and until it gets a number of upvotes to suggest it is, in fact, the right answer—perhaps commenters will have corrections or suggestions.

³ There’s also an exception when an app shares a subdirectory of its own with another app; in the Blink shell, for instance, you can use the command open to give, say, an editor access to text files inside a Blink documents subdirectory. But even in this case, this just allows the other app to open and export to files in the foreign directory; it doesn’t get full read-write access.

ios appstore – iPad Mini 2 – stuck in install loop (Kindle for iPad)

An iPad Mini 2 running software version 12.5.1.

In the App Store, I install Kindle for iPad, enter my Apple password, and the installing icon circles away, then it goes back to default, and Kindle for iPad is not installed, it is ready to be installed again as if it is not installed. There is no shortcut on the desktop.

The App Store says the requirement is iPadOS 12.0 or later.

Help appreciated.

Ipad how do I double click in safari?

Ipad how do I double click in safari? – Ask Different

ipad – Keeping iCloud files resident on an iOS device

ipad – Keeping iCloud files resident on an iOS device – Ask Different

Arrow Key Navigation on iPad External Keyboard Sometimes Causes Cursor to Jump

The Problem

I am using a Logitech K480 Bluetooth keyboard with a 7th generation iPad (iPadOS 14.6) and I often notice that when I am navigating a body of text I have typed (e.g. in the Notes or Facebook apps) with the keyboard arrows the cursor will jump to the beginning of a text field if I push the up arrow twice in a particular location. It can be quite annoying when trying to navigate text I’ve typed; it’s difficult to intentionally navigate using it (or avoid it) because of the variable length of lines in paragraphs.

The first push of the up arrow will move the cursor one line up and then the second push will jump the cursor; it happens both immediately and if I wait. If I push the down key after the jump (again either immediately or if I wait), the cursor will jump back to the original line (i.e. the line I was on before I pushed the up key the first time). The cursor jumping behaviour will occur again in the same manner when pushing the up key twice.

This behaviour consistently occurs if the cursor is at the end of a line following the first up arrow push, no matter the location of the paragraph on the page or the position of the line in the paragraph.

Related Behaviour

There is some related behaviour. When using Command + left arrow to skip to the end of the line, pushing the up arrow will consistently not move the cursor to the line above but will instead jump the cursor to the beginning of the same line (pushing the down cursor subsequently will jump the cursor back to its original position at the end of the line). Sometimes when navigating a typed document with the arrow keys, a push of the up or down arrow key seems to move two lines at once.

Possible Explanations

Together these behaviours and their consistency make me think this is an iPadOS ‘autoscrolling’ function, analogous to how deleting text with the onscreen keyboard speeds up the longer the backspace button is held. However, I have not found any documentation of this behaviour by Apple or anywhere else online.

I don’t think this is a feature of the K480 keyboard; it is not listed anywhere in the Logitech documentation, and the responder to my enquiry to Logitech seemed to have no knowledge of this phenomenon (though it was a particularly unhelpful response…). My work’s IT manager thinks it is likely an iPad software feature.

Perhaps this is just a feature of Apple devices that I’m not aware of (e.g. something that’s shared between Macs and iOS devices), but it is strange that I can’t seem to find even a mention of this behaviour.

The Questions

Has anyone else observed this behaviour? Can it be customised or toggled? Is there some documentation (or personal experience) of the behaviour that lays out how it works?

ios – sync iPad home screens between 2 iPads

ios – sync iPad home screens between 2 iPads – Ask Different

macos – Back up iPad to Mac automatically

I stopped using iCloud backup on my iPad because of excessive data usage*. I now back my iPad up to my Mac instead. However, as far as I can see, this has to be done manually – I have to remember to navigate to the iPad in Finder and click “back up now”, otherwise it doesn’t happen.

So my question is, is there a way to schedule backups of my iPad to my Mac, so that they happen automatically? Ideally I’d like to have it back up every day, and keep at least the last few days of backups, so that I can restore to an earlier time if I need to.

*this is because an app I use, Blankbook, stores all its data in a single file, which is hundreds of Mb in size and updates every day. This file is the main thing I want to keep backed up.

icloud – Books on iPad no longer downloading purchased books

I have 1,076 iBooks purchased from the iStore in my iCloud. I have, starting just this holiday morning, the ability to read 0 iBooks on my iPad in the Books app. Is there any other app which I can download that can access iBooks?

What happens is that I click on a book to download it and it informs me instantaneously that the book will be found in my library when it is done downloading. Then, as the screen shows a large version of the book with a light grey progress bar beneath it, either nothing happens or approx. 5% of the bar goes dark gray (in another view, a tiny bit of the “downloading indicator” circle turns dark. That is all. No books have yet to become available in My Library or anywhere else.

After consulting with Apple Support I have tried the following things to remedy this problem:

  • App was uninstalled and reinstalled
  • iPad was shut down and restarted
  • the newest update was installed
  • the Apple systems web page was consulted to see if the Books problem was Apple’s problem (which it was not)
  • I logged out and back in to Books
  • the date/time was confirmed as correct
  • my wi-fi was tested and works fine

That is all I can think if right now. I read every day for 4 or 5 hours on my iPad. It is a huge part of my life and I was reading just last night. Now not one of any of the 10s of random books I tried to download will. Can anyone help?

If there is no other app that will download them and this is somehow a hardware problem that cannot be solved, can they be read by another ‘mobile’ device as I cannot see myself spending 3 hours reading from a 2015 MacBook screen all day. If it helps I also have a kindle and Samsung tablet.

ipad – Why won’t my iBooks download suddenly and can I use another app to reas them besides Books on IOS?

I just got off the phone this Apple customer support after 48 minutes and 2 months after I let my Apple Care lapse on my 6th gen. iPad, I need a miracle. I have 1,076 iBooks purchased from the iStore in my iCloud. I have, starting just this holiday morning, the ability to read 0 iBooks on my iPad in the Books app. Is there any other app which I can download that can access iBooks? What happens is that I click on a book to download it and it informs me instantaneously that the book will be found in my library when it is done downloading. Then, as the screen shows a large version of the book with a light grey progress bar beneath it, either nothing happens or approx. 5% of the bar goes dark gray (in another view, a tiny bit of the “downloading indicator” circle turns dark. That is all. No books have yet to become available in My Library or anywhere else. The following things have been attempted to remedy this problem to get my approx. $8k of books back (ironic that I don’t have $500 for a new iPad but I’m moving house). Some were tried at the suggestion of Apple Cust Svc and some were just me: App was uninstalled and reinstalled, iPad was shut down and restarted, the newest update was allowed to download and install itself, after which the iPad had – as always after an update – a long restart, the Apple systems web page was consulted to see if the Books problem was Apple’s problem which it was not, I longed out and back in to Books, the date/time were checked and were correct, the wifi was checked by downloading Hulu from the Appstore in 2.3 seconds. That is all I can think if right now. I’m someone who has a chronic illness that kerps me homebound much of the time as well as often neurologically (linguistically) compromised – obviously not at this moment – but the point is that I read every day for 4 or 5 hours on my iPad. It is a huge part of my life and I was reading just last night. Now not one of any of the 10s of random books I tried to download will. Can anyone help? If there is no other app that will download them and this is somehow a hardware problem that cannot be solved, can they be read by an android device like a kindle or Samsung tablet? Both that I have are at least 3 or 4 years old. Is my only real solution to buy another ipad? I cannot see myself spending 3 hours reading from a 2015 MacBook screen all day. But I will for now. Sigh. Please help. I just bought so many new books too and was halfway through 4 or 5. thanks for your help, Jamie

How do you migrate ibooks from Books on iPad to Kindle?

Migrate from iPad to Kindle via MacOs Big Sur with iCloud Drive and Calibre

Caveats

  • I migrated via a Mac computer, running Big Sur. This uses Finder to sync with the iPad. Older versions of MacOS (IDK which ones) used iTunes, and this answer doesn’t apply to those, or to Windows or other computers.
  • The process was long and arduous and I undoubtedly did not capture every step perfectly. If you find errors below, feel free to correct them or comment and I will.
  • Not all books migrated. Some had DRM, some had other issues. The process below does not document the errors, it only documents how to blindly migrate the books that migrate easily by following these steps and ignoring errors. If it’s important to you to migrate every book (which may not even be possible) you’ll have to pay close attention and read between the lines.
  • This focuses on epub files, and ignores PDFs and other things. Once you’ve completed this you’ll know what to do with PDFs.
  • This assumes some working knowledge of settings in iPad and Kindle, good knowledge of Finder advanced features, and knowledge of how to get around the system in Terminal and run shell commands and simple scripts of 2 or 3 lines from the command line. Sorry, this is not for beginners.

Summary

The iPad stores books in ePub format, uncompressed and expanded into packages or folders. We’ll copy them to the Mac, retrieve them from the secret-double-hidden folder they are in, convert them into compressed single-file ePub format, convert those using third party software Calibre into to MOBI files that Kindle can read, and move those to the Kindle.

Step 1: Sync books from iPad to MacOs using iCloud Drive


On the iPad enable iCloud Drive and enable it specifically for iBooks.  On the iPad I was working with this was already done so I can’t detail the steps, but they are in Settings.

Plug the iPad into the Mac and open Finder. Remember, this is for Big Sur and other recent versions of MacOs that don’t use iTunes for this.  The iPad will appear in the LHS navigation bar.  Go there and make sure it works.  You will not see the Books folder there, but you should see some things just to confirm the iPad is connected.

If you’ve never done this, it will take a while for iCloud Drive to sync. Anywhere from seconds to half an hour. Wait.

Then in Terminal run both the following to open the iBooks locations:

open ~/Library/Mobile Documents/iCloud~com~apple~iBooks/Documents
open ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks

You can find more details on this step in this Question

You’ll see your books in one or both of the two windows that open.  You’ll need to repeat Step 2 below for each folder if there are books in both. I can’t find any way other than the “open” command to get to these folders! You can’t cd to them and can’t navigate to them in Finder by clicking or using Go…

Step 2: Copy the synced books to an ordinary folder


Create a folder for further work.  Here I’ll use ~/Downloads/iBooks.

Go to each of the two folders you opened with “open” in the last step, select all files, Copy them to ~/Downloads/iBooks eg with Ctrl-A Ctrl-C Ctrl-V.

This will take some time.   Note, despite the time it took to sync iCloud Drive, these files were not synced to your computer! At this point the files are actually being copied from iCloud to your ordinary folder.  You’ll see each one update with a little timer.


I’m not sure if you can eject the iPad at the end of Step 1, but you can definitely do it now.

Step 3: Convert all the epub folders to compressed epub files




Go to ~/Downloads/books. You’ll see your books as a bunch of epub files, but they aren’t files they are folders.  If you only have a few you can compress them by right-clicking in Finder, but I didn’t do it that way. The following assumes you have a lot of books.

In Terminal go to the iBooks folder and create a new folder for the zipped epub files

cd ~/Downloads/iBooks
mkdir zipped


Zip each epub folder into a file (following works in bash)

for f in *; do zip -r zipped/$f $f ; done

Step 4: Use Calibre to convert the epubs to mobis

 
Download and install Calibre. During installation select the kind of Kindle you own.

Load your files: Run Calibre, click Add Books, navigate to the zipped folder you just created, select all your new epub files then click Open.

Convert them to Mobi: In the main Calibre window select all the books you just loaded, click Convert, click Ok. Watch the Jobs count in the bottom right corner, til it gets to zero. This might take a while.

Step 5: Collect all the mobi files

By default Calibre puts its converted files in ~/Calibre Library/Unknown. The last segment of that folder, “Unknown” may be different for you.  It’s the “book author” which for me was Unknown for every book I imported from iBooks. You’ll need to explore the Calibre output folder to make sure of what’s going on. The actual MOBI files for your books are scattered all over folders there so we’ll collect them all in one place.

In Terminal:

cd ~/Calibre Library
cd Unknown (or wherever the books are)
find . -name *.mobi -exec mv {} . ;
mkdir kindle
mv *.mobi kindle

Step 6: Copy the files to Kindle

Finally! Plug your kindle into your Mac. It’ll appear on the left in Finder. Open it, go to the Kindle’s Documents folder then in Documents make a folder for all your migrated books called “iBooks” or whatever you want. You won’t see the folder in the Kindle reader, you’ll only see it here in Finder and it’ll help you keep things organized.

Use finder to copy all the Mobi files from the kindle folder in step 5 to the iBooks folder you just created.

Eject the kindle with the Eject icon in Finder’s LHS navigation bar.

The books will all appear in your Kindle Library. They will not have cover art and some other features may be missing. Calibre allows you to migrate cover art but I didn’t do that. I didn’t touch any Calibre settings or try any advanced features. There are other places you can read about doing those things.


Happy reading!

DreamProxies - Cheapest USA Elite Private Proxies 100 Cheapest USA Private Proxies Buy 200 Cheap USA Private Proxies 400 Best Private Proxies Cheap 1000 USA Private Proxies 2000 USA Private Proxies 5000 Cheap USA Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive.com Proxies-free.com New Proxy Lists Every Day Proxies123.com Proxyti.com Buy Quality Private Proxies