*jios 903.2* is now available on App Store.
Please study its App Store shop-window for the latest details. Search App Store for: *j901* (its deprecated name) Depending on your device *settings*, your installed app may or may not update automatically. This update is suitable for all users running iOS/iPadOS version 16.2 or later. Formerly there was an issue with the app automatically overwriting folders in the sandbox, thereby losing your edits. This issue has now been fixed. Do not alter your device settings to delay updating the app. It is unnecessary and could be harmful. Apple recommends for security's sake always running your device with the latest version of iOS [iPadOS]. There's a lot I need to put on record about jios. For now, only two things matter: [1] Your scripts in the app sandbox – a.k.a. *On My iPhone [iPad]* [2] Changes to the app's name. *[1] Your scripts in the app sandbox* Ignore this section if you have not yet downloaded jios (a.k.a j901) – or have deleted it from your iPhone [iPad]. Provided you have not edited any files in the app sandbox, or there are no edits you want to retain, the neatest way for all but advanced users to get everything factory-fresh is to delete *jios* (aka *j901*) and download it afresh from App Store. This deletes all existing files and user defaults belonging to the app. It thereby forces the app to perform a maiden run. The app confirms it is doing a maiden run by emitting a hunting-horn sound when launched: (*ta-rah, ta-rah!*) However the app will appear to run ok without you doing this. In which case manually update these sandbox folders a.s.a.p, in order of importance: - j/system - j/tools - j/assets - j/addons (sorry, all or nothing) If you don't, you will start to notice odd things happening. QUICK CHECK: the welcome message should show the line: *Welcome to J (903.2 57)* …If you see anything else, e.g. containing "J for iOS/iPadOS" then you are running an out-of-date version of the j/system folder. See below: Updating your sandbox to get the latest factory scripts. *[2] Changes to the app's name* App Store knows this release as: *j901 Version 1.2*. But the screen name now shows as: *jios 903.2*. The *screen name* is the name you see under the app icon. Apple has complained to me that the names don't match (Bad UX). But they approved this release, insisting that the two names must be converged at the next app update. This gives the J community an opportunity to discuss what the app should really be called. Over the weekend I will update *Guides/iOS* on jwiki once I have checked everything is hunky-dory. ========== *EXTRA: Updating your sandbox to get the latest factory scripts* On iOS [iPadOS] every app has its own sandbox (aka: jail, as in: jailbreaking). *Files* app lets you see the sandbox contents of every running app in the left sidebar under the heading: *On My iPhone [iPad].* Without acquiring one of a carefully guarded, time-limited collection of permissions, an app cannot read/write/move a file outside its own sandbox. Developers undertake to abide by Apple guidelines, which forbid submitting an app that grants these permissions invisibly to anyone, even the user. The upshot is that jios cannot be shipped with: - j-to-j - sockets - pacman - dylib files - macros or scripts for moving scripts about - any fancy way of moving files (scripts) to and fro which is not under the total conscious control of the end-user. Apple offers alternative safer ways to support these familiar J features, which jios will support in due course. The sandbox for jios is effectively a single folder: j/ -subdivided into: - j/addons - j/assets - j/config - j/plotf - j/slate - j/system - j/temp - j/test - j/tools - j/user The app itself contains a hidden collection of factory files you can optionally unbundle. But, for security reasons, you can only unbundle an entire folder from the above list, not individual files. And you must do it manually. WARNING: Unbundling a given folder overwrites its existing contents. Example: to unbundle *j/system*, launch jios and enter the following dot-command (case-sensitive): .U system Example(2): to unbundle the entire j/ folder, enter the dot-command: .U NOTE: in this release, *plot* and *viewmat* are part of jios.app itself, and as such are tested and supported. Similarly named code inside j/addons is bundled in jios.app for reference only. Avoid using require'plot' or require'viewmat' in your own code, which will corrupt the jios versions of plot and viewmat, with undefined results. All other JAL addons are untested. Any that use Windows Driver (wd) will not work as they stand. NOTE(2): The folder j/addons is a redacted copy of /Applications/j903/addons from the macOS release of jqt903 (to match the JE engine). It is up-to-date as of April 2023. Some files/folders have been removed to comply with App Store requirements, notably all dylibs. No one can stop you putting them back on your own device, but neither is there any guarantee they will work. If they are not built for arm64 architecture they won't. iOS may detect a security violation (in this or a future version of iOS) and kill the app without logging diagnostics. For this reason alone, jios is not to be used for anything mission-critical. Ian Clark ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
