PortableApps-ForMacOS64

PortableApps-forMacOS64: Tools & Scripts To Run macOS-X/XI Apps As MacOS Portable Apps From Portable/Internal Drives, Or Run Multiple-Instances Of Same App.


Project maintained by PortableApps64 Hosted on GitHub Pages — Theme by mattgraham

PORTABLE APPS For MacOS X/XI 64

Portable Apps for MacOS-X/XI-64 (aka MacOS-10/11-64) (MacOS10, MacOS11, MacOSX, MacOSXI) is a Set of Scripts/Tools Which Allows To Run Apps (i.e: Mozilla’s “Firefox.app”) made for macOS, As A Portable App For MacOS (aka Portable App For MacOS-X/XI-64 / MacOS-10/11-64), And Also Allows To Run (Second/Third/)Multiple Instances Of Same App in macOSX/macOSXI (macOS-X/XI, macOS-10/11). (View this repo/project on GitHub).

So We Are Including 64bit Pashua dialog, 64bit Platypus, etc etc Tools To Assist In Executing/Running macOS (64bit) Apps Either As Portable App Or As Multi-Instance (Of Same) App, So That We Can Run Our Apps Either From Portable/External Drive/Disk Or Run From Mac’s Internal-Drive, And We Are Making It To Be Compatible With Both 64bit-Only macOSX (Catalina, & macOSXI after it) And Also Compatible With 64bit+32bit macOSX (Mojave & macOSX before it).
The Newer ‘Script’(s)/Tool(s) That We Are Building Can (Also) Be Modified/Adapted To Use With Other “Portable Apps for MacOS-X/XI-64” (Under This Project), And Can Also Be Used With Older “Portable Apps for OSX” (from another developer’s project “FreeSMUG”/“osxportableapps”).
  • FreeSMUG/osx-pa based older Portable Apps cannot run on 64-bit-only macOSX (Catalina, or macOSXI after it) because Apps were not built with completely 64bit compatible codes/tools, AND because: Apple has removed 32-bit support (almost-completely) from macOSX Catalina & macOSXI after it)
  • For Windows based “PortableApps”, checkout another developer’s project: https://GitHub.com/PortableApps
  • By the way, not-all but some Windows Apps Can Be Run On macOS-X/XI By Using : “Wine”, “Wineskin”, “WineBottler”, “PlayOnMac”, etc.
  • Not-all but many many Unix/BSD/Linux/etc based tools/apps can be built from source-code (and some binary/executable tools can also be downloaded/used) on your macOS-X/XI Mac computer, by using these package-management tools:
    MacPorts” (Be warned: “MacPorts” requires admin/sudo privileged access),
    pkgsrc” (macOS) (Be warned: “pkgsrc” also requires admin/sudo privileged access),
    HomeBrew(click on “Assets” below a release, then click on “brew-*.tar.gz” to download). (ByTheWay, Be Warned1, 2, 3, 4, 5, 6,... of Violation of Privacy-Rights by “HomeBrew” project & “Google” and other risks : HomeBrew (by-default) uses Google engines/APIs/etc, & Google stores+records+collects your ALL download/usage patterns/profile, private-info, etc near-ForEver. But one good aspect is “HomeBrew” does-not require admin/sudo privileged access.),
    Craft1
  • ( PA = pa = Portable App )


 
Portable-Apps-For-MacOS-X/XI-64 (aka “Portable-Apps-OS-X-XI-64” aka “PortableApps-ForMacOS64” aka “PortableApps-OSX1-64”): | F | Portable Firefox OS-X-XI-64 |
Content/INDEX List: | Intro | Build/Run-Tools(for-Devs) ¹{ Portable-Apps-OS-X-XI-64 | Xcode | Swift | Platypus | Pashua }¹ | Pre-Build(for-Devs) ²{ PB-1 | Duplicate (License & ReadMe) | PB-2 | PB-3 | PB-4 | PB-5 }² | Build(for-Devs) ³{ B-1 | B-2 | B-3 | B-4 }³ | Post-Build(for-Users) | Run/Execute/Test | Errors | Help-To-Build | Extra-Notes{ Load Folders Under RootFolder | Show All Files Folders | Related Unicode Chars | Verify File Authenticity | CodeSign }| Abbreviations | License(s) |
macOSXI Big Sur - version is 11.0.z (10.16.z) (mostly 64bit-only)
macOSX Catalina - version is 10.15.z (mostly 64bit-only)
macOSX Mojave - version is 10.14.z (64bit+32bit)
macOSX High-Sierra - version is 10.13.z (64bit+32bit)
macOSX Sierra - version is 10.12.z (64bit+32bit)
( XI = 11 = Eleven = macOS-XI = macOSXI = macOS11 )
( X = 10 = Ten = macOS-X = macOSX = macOS10 )
( X/XI = X-XI = 10/11 = 10-11 = Ten/Eleven = Ten-Eleven = macOS-X/XI = macOS-X-XI = macOS-10/11 )
( Generally in a version number X.Y.Z , X indicates a MAJOR version number, Y is Minor , Z is patch / build / maintenance , then a revision alphanum string may/can exist. But Apple followed different versioning: Significant.Major.Minor )
( PA = pa = Portable App . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )


BUILD TOOLS & EXECUTION/RUN TOOLS (for DEVELOPERs)(and USERs):

We use (mentioned in below) tools to build our binary executable, & we also use (mentioned in below) tools to assist our-project tool during execution, & for executing the App either as portable app Or as multi-instance of same app.
To DEVs/USERs: Verify files/apps after download. And download only when download url/website begins with “https”.
TO USERs, If you only-want to USE a pre built App, & do not want to completely compile/build, then go directly into App sub-dir/sub-folder, shown here & obtain "*-ForMacOS64.dmg" ₁(or "*-OS-X-XI-64.dmg" or "*-ForMacOS64.tar.gz" or "*-OS-X-XI-64.tar.gz" or "*-ForMacOS64.zip" or "*-OS-X-XI-64.zip")₁ file release, and FOLLOW “POST-BUILD (for USER)” instruction shown on “Portable-AppName-OS64” (or “Portable-AppName-OS-X-XI-64”) page, to know what else you have to get & do.
To USERs, Some items/files/components we may-not (or cannot) directly include inside in some of the built+shared App archive ("*.dmg", "*.tar.gz", "*.zip", etc) file. Either because of License/proprietary restrictions Or to provide you/USER more Security/Privacy Or there are some type of file-sharing (or file-distribution), etc related restriction(s).
Some files/components should not be provided by someone-else, as it may have pre-fixed (or trackable) IDs/numbers/settings, etc.
So it is better+safer to load/install (those specific components) on your side by yourself, to get your own (and different than others) IDs/numbers/etc.
And in some cases, some IDs/numbers inside some specific items/components need-to-be or should-be anonymized(either randomized in some cases or kept-same in other cases), to provide more Privacy/Security to USER, some of those steps are/will-be done (if possible) and pre-included by us/DEVs, and All of such modifications/matters are mentioned in that (Portable) App’s webpage.
To USERs, you can skip below BUILD-TOOLS & Other sections which are for DEVELOPERs, & Goto next “POST-BUILD(for USERs)” section (in this page), Or goto the "POST-BUILD (for USERs)" section in the (Portable) App’s webpage, from which you want to obtain the (Portable) App.


Portable Apps For MacOS X/XI 64:
Script(s)/Tool(s), Config(s)/Settings, etc For “Portable-Apps-For-MacOS-X-XI-64” (aka “PortableApps-ForMacOS64”) (this project) are Released with following (combined) LICENSE(s) + RESTRICTIONs + PERMISSIONs:
GNU General Public License Version 3 (GPL v3).
Do Not Use This To Kill/Harm/Violate (or Steal-from)(Any) Human/Community,Earth,etc.
Copyright © 2020 Erik T Ashfolk (<atErik@ÖυťĹöōķ·ċōm; atErïķ@AśhFölķ·ćōm> Do Not Copy Eml-Adrs, Type In English/basic-Latin Char, No Soliciting Permitted). All rights reserved.

(All other trademarks, etc cited here are the property of their respective owners.)
(All other copyright items cited here are the copyright of their respective author/creator.)

( PA = Portable App . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )


Xcode:
Xcode is released by Apple. It includes complete toolset for developing Mac/macOS, iPhone/iOS, etc, IDE (GUI) for building Apps,etc, iOS simulator, source-code management, Frameworks & Tools, Command-Line-Tools(CLT), etc, etc, etc, etc.
At currrent stage of this project, we will-be/are using only/mostly Command-Line-Tools (CLT) portion of Xcode. CLT includes: SDK frameworks & headers, compiler (gcc, LLVM, etc), Linker, Make, etc etc.
to install Xcode-CLT, run this command in Terminal window:
  xcode-select --install
or, Visit Apple Dev site (and create a “free” account) & obtain only Xcode-CLT portion (not full Xcode), for now:
  https://Developer.Apple.com/downloads
Command Line Tools for Xcode 11.5(dmg file, 260.4 MBytes) (May-20, 2020) has MD5:5620d026d2313934cdfee2499c10ccc4, SHA1:23943d6eaccdec9290077457252132707298210f, SHA256:4a6210962fe568d871e2b51ceb8836930031f432a8e1a7ec2e98f64768f87c79.
To get a sense on size of FULL Xcode: Xcode 11.5 (xip file, 8.12 GBytes) (May-20, 2020) has MD5:65a84fa871855af4f369fe643fe278e0, SHA1:4654b261841d0336cb90ea1c82d15fd7aa03c982, SHA256:a5568ae0d30d9d3be94416dbd1aa3a26f23ca5d937c4b9895913cda1b18ceea4.


Swift:
Swift is released by Apple. Its a programming language, etc (to build Apps, etc). Since v2.2 it is released as open-source. It provides Swift related LLVM compiler & related toolchains, frameworks & headers, etc to Xcode.
At currrent stage of this project, we may/will-be/are using Swift Toolchain:
Swift: v5.2.4 Toolchain (pkg file, 599.4 MBytes) for Xcode 11.5 (May-20, 2020) has MD5:9da44d83095e17cbcde46691af5a043b, SHA1:ddd4ee0cb0dc640121680606e203c809eec854ab, SHA256:ba409649620129375e014c4753a6f802fb94e46ee833dbf917111e593342ddfc.


PLATYPUS:
Older "Portable AppName.app" bundle is created/packaged by using the Platypus script wrapper (aka Platypus App builder) from http://sveinbjorn.sytes.net/platypus
New website: https://Sveinbjorn.org/platypus
GitHub: https://GitHub.com/sveinbjornt/Platypus
Platypus is licensed under BSD-3-clause, & Platypus (v5.3 & later version) seems to be able to generate 64bit-only compatible app bundles, but it does not (digitally) sign or provides any option to sign the generated app bundle, So it seems, only Admin level privileged user can use+run Platypus generated apps in 64bit-only macOSX (Catalina, & macOSXI after it), and (it appears v5.3 & later version generated) apps can also be run/used in 64bit+32bit supported macOSX (Mojave & macOSX before it) by a less privileged user.
To wrap an App for macOSX Mojave & macOSX before it, use v4.9. Zip file is 1.7 MBytes, MD5:076f27017fde028948fe560dd7457b71, SHA1:490107b5da6f16cfe7d64692b1699905c3eba960.
To wrap an App for macOSX Catalina & macOSXI after it, use v5.3 & later. v5.3 zip file is 3.3 MBytes, MD5:51ebf430b45529a7dd891b8d6cd80517, SHA1:dacaf4b6f9309f4abff3f453ea31fe0edf74dd05.


PASHUA:
Pashua dialog uses completely 64bit compatible codes, so it seems to be a good choice for now (as a ‘dialog’/interaction assistor), (and its licensed-under BSD-3-clause), Check here:
Website: https://www.BlueM.net/en/projects/pashua/
Github: https://GitHub.com/BlueM/Pashua
We have to use Pashua Or similar, because older “Portable Apps OSX” (from “FreeSMUG”/“osx-pa”) did not include 64bit-only compatible dialog/interaction software/tools, So cannot be run/executed on 64-only macOSX (Catalina, or macOSXI after it).
Pashua(dmg) v0.11 file has 1.8 MBytes, MD5:7492da10f78dde4833264eebbda9c210, SHA1:bcc843a1f889ff779a6b6acc1b90a27b72f040f5.
( PA = pa = Portable App )
Goto Top or Index


PRE-BUILD (for DEVELOPERs):

BRING TOGETHER BUILD-RELATED ITEMS/OBJECTS,ETC (PREPARATION):

Here, We use “OSX” or “OS-X” or “OSX-Old” or “OS-X-Old” ₁(and Not-“OS64”, and also Not-“OS-X-XI-64”)₁ in-the-End of a Folder/Directory NAME to indicate, that this Folder/Dir is for an older PA app (that was likely obtained from “OsxPortableApps”/“FreeSMUG” site) & its not-compatible with 64bit-only macOSX (Catalina & macOSXI after it),
and We use “OS64” or “OS-X-XI-64” or “64” at-end of a Folder/Dir NAME ₂(i.e: “Portable-App-OS64” or “Portable-App-OS-X-XI-64” or “PortableAppName-OS64” or “PortableAppName-OSX64” or “PortableAppName-OSXI64” or “PortableAppName-OS-X-XI-64” or “PortableAppName-OSX-64” or “PortableAppName-OSXI-64” or “PortableAppName-OSX-OSXI-64” etc)₂ to indicate, this is where we will use this-project & this is where we will work + create/build our App that will/can run on both: 64-bit-only macOSX (Catalina & macOSXI after it) and also on 64bit+32bit based (older) macOSX (Mojave & macOSX before it).

PB-1: Suppose, We are working-on/building this project from below (example) folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/"
Above folder can also be accessed in this shorter way in macOS (Catalina, or macOSXI after it):
 "/Projects/Portable-Apps-OS64/"
Follow Create Folder(s) Under RootFolder section for macOS (Catalina, or macOSXI after it).
( Another option is to create a build/developement related folder "PA-OS64" or “PA-OS-X-XI-64” inside your own userspace:
"/Users/MyUserName/MyProjects/PA-OS64/" or
"/Users/MyUserName/MyProjects/PA-OS-X-XI-64/" )
( PA = pa = Portable App . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )
Note: To DEVs, You Must Create DUPLICATE-Files For “LICENSE” & “README.md” File(s), & Duplicates Must Have Different FileNAME : For Any Item (Program / Script / Tool / License / ReadMe file, etc) Under This Project/Repo, (If Not Done Already/Yet), Devs/You Need/Have To Add A “ReadMe” & A “License” File, You May/Can Do That In This Way : Use GitHub To Create a New File, Then Type in "LICENSE" in FileName-Box, GitHub Will Show A Button/Option To Add a LICENSE file, Use That, Then Choose & Add Your Choice Of "LICENSE" Type, Then Goto RAW View (Page/Mode/Button) of that LICENSE file, Copy & Paste That (RAW)-Info/Content Into Another NEW (Text) File With Such File-Name: "LICENSE.<License-Type/NAME-&-Version>.<Software/Script/Program/Tool-NAME>.txt" or "<Lic-Type/NAME-&-Ver#>.LICENSE.<Software/Script/Program/Tool-NAME>.txt" or "<License-Type/NAME-&-Version>_LICENSE_for_<Software/Script/Program/Tool-NAME>.txt" (i.e: "LICENSE.MPL-2.0.Firefox.txt"). And You Also Need/Have To Create Another NEW File To Duplicate The Content Of “README.md”, It Will Be A Backup “ReadMe” File, But It Must Have A Different FileNAME: "README.<Software/Script/Program/Tool-NAME>.md" ₃(i.e: "README.PortableFirefox-ForMacOS64.md" or "README.PortableAppsOS64-Firefox.md" or "README.PortableFirefox-OS64.md" or "README.PortableApps-OS-X-XI-64-Firefox.md" or "README.PAOS64-Firefox.md" or "README.PA-OS-X-XI-64-Firefox.md" or "README.PAOS64-Firefox.md" or "README.PA-ForMacOS64-Firefox.md" or "README.PA64-Firefox.md", etc)₃.
This Will Allow To CLEARLY Show+Include : Which App Has Which/What “README” File, & Which App Has Which/What “LICENSE” File, & This Will AVOID The Problem Of OVERWRITE/DISCARD Of Same Named “LICENSE” File(s) Or Same Named “README.md” File(s), When Multiple Different-Project’s Tool / Script / Program / License / README, etc Are (Or Will Be) Placed In Same Folder. This Project Uses (And Will Use) Multiple Items (From Different Folders) Into Same Folder. So Each File Must Have Unique (aka: Non-Conflicting, aka: different) File-NAME. PLEASE Follow The Convention We Laid Out, Thank You.
( PA = pa = Portable App . Lic = Licn = License . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )


PB-2: Obtain NEW Platypus (at the time of writing this README.md, it is/was v5.3),
   from here: https://Sveinbjorn.org/platypus
and install in your Mac computer, new version allows to build “*.app” for both: 64bit-only macOSX Catalina (or macOSXI after it), & also for 64bit+32bit macOSX Mojave or macOSX before that.
Also get Platypus v4.9, as that is/was the last 32bit+64bit supported ( & working) Platypus (for older mcOSX), that allows to build/wrap macOS app⒮ for 64bit+32bit suppported older macOSX Mojave or macOSX earlier of that.


PB-3: Obtain Pashua dialog from here : https://www.BlueM.net/en/projects/pashua/
Open dmg installer, Copy "Pashua.app", "Pashua.sh" into below build related folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/"
( shorter form of above location is: "/Projects/Portable-Apps-OS64/" )
( or, Copy in your userspace: "/Users/MyUserName/MyProjects/PA-OS64/" )
( PA = pa = Portable App . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )


PB-4: Get macOS 64-bit compatible APP,
(to convert them as “Portable App” Or to convert them as Multi-instance App).


PB-5: Get (Language, Profile, License, etc) build related files/folders/bundles:

a: Use GitHub’s “Clone or Download” button & select “Download ZIP”, save zip file, goto default download location folder “Downloads”, double-click/tap on zip file (to decompress it), you’ll get a folder with same-name (without the “zip” extension), then Copy all files inside that folder, & Paste into our build folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS-X-64/"
( above location’s shorter form is: "/Projects/Portable-Apps-OS64/" )
( Or, Paste into your userspace: "/Users/MyUserName/MyProjects/PA-OS64/" )

b: Skip below files/steps which you’ve already obtained/exists Or which you’ve already done.
c: Obtain old PortableAppNameOSX App (i.e: PortableFirefoxOSX) (download from here(FreeSMUG/OsxPortableApps sites), Or download any other non-portable macOS Apps directly from original releaser’s website.
d: Double-Click/Tap on "PortableAppName_*.dmg" or "AppName_*.dmg" file to view internal contents(files, bundles, folders, etc).

e: Copy necessary files/bundles (if does not exist in destination), & Paste into below sub-dir structure shown inside our build location:
1st Create a single-letter sub-dir/sub-folder by using the 1st alphabet/letter of “AppName”, in the location which was shown in above PB-5-a step, & also shown below:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/" )
then Create another sub-dir with “AppName”, under that single-letter sub-dir:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/"
or, "/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/AppName-OSX/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/"
or, "/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/AppName-OSX/" )
( Or, Create it inside your userspace, like this:
"/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OSX-Old/"
or, "/Users/MyUserName/MyProjects/PA-OS64/AppName-OSX/" )
( NOTE: Use “OSX” or “OSX-Old” (and Not-“OS64”) in the End, to indicate the App inside this folder is Not-Yet-Converted into a “Portable-App-OS64”, & this App (very likely) was obtained from “OsxPortableApps”/“FreeSMUG” site.
( PA = pa = Portable App. . OS64 = MacOS-X/XI-64 = MacOS-10/11-64bit )
f: Create another sub-dir "PA-AppName-OS64" under the location shown in PB-5-a step:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/" )
( Or, Create that sub-dir inside your userspace, like this:
"/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OS64/" )

g: After following the step PB-5-e, you will/should find a folder "Portable AppName OS X" inside ".../PortableAppName-OSX-Old/" folder (or in ".../PA-AppName-OSX-Old/" folder). And inside that folder, you will/should find the portable app bundle "Portable AppName.app".

h: Right-click (or Tap with double-finger) on "Portable AppName.app" bundle, which is here:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app"
( above location’s shorter form is: "/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app" )
( Or, access it inside your userspace: "/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OSX-Old/Portable AppName OS X/Portable AppName.app" )
and select “Show Package Contents” option, to go inside the bundle:
i-1: Copy these 2-folders: "English.lproj" (and "profile" if it exists), from below location (and below location is inside the bundle):
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName OS X/Portable AppName.app/Contents/Resources/"
( above location’s shorter form is: "/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OSX-Old/Portable AppName/Portable AppName.app/Contents/Resources/" )
( Or, here: "/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OSX-Old/Portable AppName OS X/Portable AppName.app/Contents/Resources/" )
i-2: If you want to use your existing Portable-App’s settings/profile from "Portable AppName OS X" (which is in your external storage/drive), then Copy "profile" folder from that, into our build location.
i-3: If you want to use your existing App’s settings/“profile” in your/current system (inside your computer’s internal drive), with the newer “Portable AppName ForMacOS64”, then copy below “profile” folder:
  "/Users/MyUserName/Library/Applications Support/AppName/Profiles/********.default/"
( Note: some app’s Developer uses the app’s NAME inside "Applications Support/" folder, some Dev uses his/her own Or employer company NAME. So you should (or may need to) find out app’s company/business/group name also. )
j: Paste the “profile” folder inside our build related (destination) folder:
"/System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/"
( above location’s shorter form is:
"/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/" )
( Or, Paste in your userspace:
"/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OS64/" )
Goto Top or Index


BUILD (for DEVELOPERs):

BUILD/WRAP/GENERATE WITH PLATYPUS:

B-1: Test the ‘script’ file, before using it to build Portable App for OS X 64:
Tips: a good practice from beginning would-be, After getting this ‘script’
(Place it inside the recommended folder, which is shown few paragraphs above),
1st Rename it to "script.sh", then Open "script.sh" with your choice of code editing/developing editor/build software,
Improve/Modify source code, Save,
then Use below commands to test if bash code syntaxes are right Or where the fault⒮ is/are:
0┌─────────────────
1│MacNm:~ UsrNm$ sh -n /System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/script.sh
2│MacNm:~ UsrNm$ echo $?
3│0
4│MacNm:~ UsrNm$
5└─────────────────
( the above ‘script’ can also be accessed from here:
"/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/script.sh" )
When there is no syntax-error, (in other words, When the output is “0”),
then copy the "script.sh" & paste it in same folder,
& Rename the "script.sh Copy" (or "script Copy.sh") file, into the "script",
then follow next/below stage/procedures.


B-2: Build the final “Portable AppName ForMacOS64.app” bundle, by using Platypus:
To build new “Portable AppName ForMacOS64.app” bundle,
choose these below files, directories, bundles, etc inside the Platypus GUI interface:
directory : English.lproj
directory (optional) : profile
bundle : AppName.app
bundle : Pashua.app
icon : P_AppName_Caution.icns
icon : appIcon.icns
sh-script : pashua.sh
sh-script : pashua.sh.lib
sh-script : script
tool : filecount
tool : dirsize
readme-file : Read me.txt
license-file : GPL-3.0_LICENSE_for_script.txt (or GPL-3.0_LICENSE_for_Script/Tool-Name.txt)
license-file : <App’s-License’s-shortName-&-version-number>_LICENSE_for_AppName.txt
license-file : BSD-3-clause_LICENSE_for_Pashua.txt
license-file : BSD-3-clause_LICENSE_for_Platypus.txt
license-file : BSD-3-clause.txt


B-3: Then you may use, these type of settings in Platypus GUI interface:
Script Type : Shell : /bin/sh
Script Path : /System/Volumes/Data/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/script
  ( above location’s shorter form is: "/Projects/Portable-Apps-OS64/<1st-Alphabet-Of-AppName>/PortableAppName-OS64/script" )
  ( if you’re using your userpsace: "/Users/MyUserName/MyProjects/PA-OS64/PA-AppName-OS64/script" )
Interface : Text Window
Unselected options : Run with root privileges , Run in background , Accept dropped items
Selected/Check-Marked options : Remain running after execution
App Name : Portable AppName ForMacOS64 (or specify what you want)
Fill in other boxes: identifier, author, etc


B-4: Then tap/click/select/press the “Create App” button.
It will create/generate a new “Portable AppName ForMacOS64.app” bundle, that is
compatible with 64-only macOSX (Catalina, or macOSXI after it), and also
compatible with 64bit+32bit macOSX (Mojave, or 64bit-supported macOSX earlier of it)

POST-BUILD (for USERS)(and Developers):

Users/you may have to download+add some files or apps or components (or change a settings) by yourself, & place that inside a specific sub-folder location, inside the “*.app” bundle, which is inside the downloaded “*.dmg” archive-file.
Under this project in different App’s page, instruction in this section/paragraph, will be different.
This section/paragraph may also be empty, if User have to do nothing.

RUN/EXECUTE/TEST:

Now you need-to run/execute & test & investigate the “*.app” App/bundle that was built.

You may OPTIONALLY do these:
Which “profile” folder is used by the running AppName ?
AppName > main menu > ... > Show Profile Folder: ...


ERRORs/PROBLEMs:

If you have spotted an bug/error/fault, then let us know,
create/report an issue under this project in GitHub.
And during/after build, if you received/observed/found Error(s)
please Write down what Error⒮ you’re getting,
try to research & try to solve as much possible,
and/then Let us know about your unsolved errors & Share your code changes
by creating an Issue here in GitHub, & submit info.

If no errors, even then please share your final working code, your OS info, etc (if you want to)
either: by Forking/Cloning (this project) + Edit/Change & Test ‘script’ file in your side/computer + Push your own (successful/working) code-changes inside your own (this)-cloned-project first + then send a Pull-request to this “PortableApps-ForMacOS64” project,
or: by Sharing/pasting your code-changes, by using the create new “Issue” option in GitHub under this project.

HELP TO BUILD:

Please help+contribute+collaborate+improve+rectify current codes to build this bash-shell ‘script’ (or apple-script or …, etc ), so-that it can be run/used by Platypus Or run/used directly by user, To run macOS Apps on (64-bit) macOS-X/XI from portable/external
drive/storage⒮), Or run macOS App as a second/third/multi-instance of same App.
Thanks in advance.

Goto Top or Index


EXTRA-NOTES:

Create Directory Under Root-Directory: ( Directory = Folder )
To create "MyProjects" folder in mac hard drive (not under your user-name), you may edit synthetic.conf:
0┌─────────────────
1│sudo nano /etc/synthetic.conf
2└─────────────────
and then add below 2-lines of settings:
0┌─────────────────
1│Projects System/Volumes/Data/Projects
2│Development System/Volumes/Data/Development
3└─────────────────
then Press Ctrl+X (to Exit), and Nano prompts/asks you to press “Y” (to Save) or “N” (to Discard) changes, so press “Y” (to Save), then Nano shows target/destination filename /etc/synthetic.conf (and allows you to change name), So press Enter to select it & Save+Exit.
Note: you must press tab-button after typing "Projects"/"Development". More on Nano
and Execute below Terminal/shell command⒮ to create those 2-folders:
0┌─────────────────
1│sudo mkdir -p /System/Volumes/Data/Projects
2│sudo mkdir -p /System/Volumes/Data/Development
3└─────────────────
... and then you must REBOOT.

Now "MyProjects" or "Development" folder(s) can be accessed in these ways:
"/System/Volumes/Data/Projects"
"/System/Volumes/Data/Development"
and also in its shorter form:
"/Projects"
"/Development"


Show All Files & Folders in macOS:
To see all files in Finder (inlcuding Hidden/System) in macOS, i executed below 2-commands:
0┌─────────────────
1│defaults write com.apple.finder AppleShowAllFiles TRUE
2│killall Finder
3└─────────────────
or, in Finder, press these 3-buttons together at-same-time: [⇧Shift]+[⌘Command]+[ >. ]
Goto Top or Index


List Of Few Useful Unicode Characters/Symbols, & How To Use/Show Them:
( We will use some of these in our dialog messages from this ‘script’ )
Unicode related Abbreviations: Char = Character/Symbol/Glyph Grph = Graphic Emj ~= Emoji ~= Emoticons Txt = Textual Glyph U = Unicode A = ASCII CJK = Chinese-Japanese-Korean Ref = Reference dec = decimal DEC = DRC = Decimal Entity (Ref) Code HEC = HexaDecimal Entity (Ref) Code h = H = x = hex = HexaDecimal CNRC = Character Name Ref/Entity Code PE = Percent-Encoding FRE = Font/Character/Glyph/Grapheme Rendering Engine
⬐1of3⬐2of3⬐3of3
Low-Density Dotted Grph Char ░ &#9617; 176 Medium-Density Dotted ▒ &#9618; 177 High-Density Dotted ▓ &#9619; 178
Block █ &#9608; &block; 219 Bottom Half-Block ▄ &#9604; &lhblk; 220 Top Half-Block ▀ &#9600; &uhblk; 223
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
Box-Drawings:    
Light-Horizontal ─ &#9472; Light-Vertical │ &#9474; Light-Down&Right ┌ &#9484;
Light-Down&Left ┐ &#9488; Light-Up&Right └ &#9492; Light-Up&Left ┘ &#9496;
Light-Vert&Right ├ &#9500; Light-Vert&Left ┤ &#9508; Light-Down&Horizontal ┬ &#9516;
Light-Up&Horizontal ┴ &#9524; Light-Vert.&Horiz. ┼ &#9532;  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
📁 1F4C1, File Folder. Closed 📂 1F4C2, Open File Folder 📃 1F4C3, Page with curl. Rolled Paper
📄<1F4C4, Page facing Up. Page/Paper/Files 📤 1F4E4, Outbox Tray. For Send Out. Copy 📥 1F4E5, Inbox Tray. For Receiving. Paste
Warning Sign ⚠︎ (Txt) U+26A0 Warning Sign ⚠️ (Emj) Left-Pointing Magnifying Glass 🔍 U+1F50D
Right-Pointing Magnifying Glass 🔎 U+1F50E Computer (Laptop) 💻 U+1F4BB Monitor/Screen 🖳
Computer (Desktop) 🖥 U+1F5A5    
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
Middot “·” &#183; 🍎⌥Opt+⇧Shift+9 ❖Alt+250 / ❖Alt+0183 Bullet “•” &#8226; 🍎⌥Opt+8 ❖Alt+249  
Apostrophe (aka Vertical Single-Quote) ' &#39; &apos; (Vertical/Straight/Double) Quotation-Mark " &#34; &quot; Grave-Accent (aka Backtick/Tick, DiacriticalGrave) ` (`) &grave; &#96;
Acute-Accent ´ &#180; Full-Width Quotation-Mark " Full-Width Apostrophe '
(Curved/Curly) Left Double Quotation-Mark: “ (“) (&#8220;) &ldquo; 🍎⌥Opt+[ ❖Alt+0147 (Curved/Curly) Right Double Quotation-Mark: ” (”) (&#8221;) &rdquo; 🍎⌥Opt+⇧Shift+] ❖Alt+0148 Double High-Reversed-9 Quotation-Mark ‟ &#8223;
(Curved/Curly) Left Single-Quotation-Mark ‘ (‘) &#8216; &lsquo; 🍎⌥Opt+] ❖Alt+0145 (Curved/Curly) Right Single-Quotation-Mark ’ (’) &#8217; &rsquo; 🍎⌥Opt+⇧Shift+] ❖Alt+0146 Single High-Reversed-9 Quotation-Mark ‛ &#8219;
(CJK) Reversed Double Prime Quation Mark 〝 U+301D (CJK) Double Prime Quotation Mark 〞U+301E
(Single)-Vertical-Line (aka Pipe Char) "|" &#124; &verbar; &vert; (Single)-Broken-Bar "¦" &#166; &brvbar; ❖AltGr+` ❖AltGr+6 ❖AltGr+⇧Shift+Right\ ǁ &#449; &#x1C1; ‖ &#x2016;
Ampersand (aka "And") & &#38; &amp; Less-Than < &#60; &lt; Greater-Than > &#62; &gt;
Non-Breaking Space (NBSP) " " &#160; &nbsp; 🍎⌥Opt+Space ❖Alt+0160 ❖Alt+255 Narrow No-Break Space (NNBSP) " " &#8239; Space " " &#32;
Zero-Width Space(ZWSP) "​" &#8203; U+200B    
Percent % &#37; Asterisk * &#42; &ast; Exclamation ! &#33; &excl;
Number (aka Hash, Pound-Sign) # &#35; &num; Plus + &#43; &plus; Comma , &#44; &comma;
Period (aka dot, full stop) . &#46; &period; Solidus (Forward-Slash) / &#47; &sol; Colon : &#58; &colon;
SemiColon ; &#59; &semi; Equals = &#61; &equals; Question ? &#63; &quest;
Commercial-At @ &#64; &commat; Square-Bracket [ ] &#91; &#93; &lsqb; &rsqb; Reverse-Solidus (Back-Slash) \ &#92; &bsol;
Circumflex-Accent (Hat) (Caret) ^ &#94; &Hat; Low-Line (aka LowBar, UnderBar, UnderScore) _ &#95; &lowbar; Full-Width Asterisk * U+FF0A
Registered-Trademark: ®(base) ®️️(emj) ®︎(txt) &#174; U+00AE 🍎⌥Opt+r ❖Alt+0174 Copyright: ©(base) ©️️(emj) ©︎(txt) &#169; U+00A9 🍎⌥Opt+g ❖Alt+0169 Trademark: ™ &#8482; 🍎⌥Opt+⇧Shift+2 ❖Alt+0153
Copyleft © (ɔ)    
Euro: € &#8364; 🍎⌥Opt+2 ❖Alt+0128 Cent: ¢ &#162; 🍎⌥Opt+4 ❖Alt+155 Yen: ¥ &#165; 🍎⌥Opt+y ❖Alt+157
Pound (Currency-Sign) £ &#163; 🍎⌥Opt+3 ❖Alt+156 Dollar $ &#36; &dollar;  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
Apple symbol “” &#63743; U+F8FF 🍎⌥Opt+⇧Shift+k (macOS) Red Apple “🍎”(emj) &#58181; U+E345 &#xe345; 🍎︎(txt) Green Apple “🍏” &#127823; U+1F34F &#x1f34f; 🍏︎(txt)
These char(s) also look like an Apple, & some can be displayed with (Unicode) Combining Diacritics, etc: Ag (Ol-Chiki) “ᱜ” U+1C5C (Apple/Mango) ​̀ᱜ , ᱜ̀ , ᱜ́ , ᱜ̀ , ᱜ́ , ᱜ̌ , ᱜ̇́ Ha (Limbu) “ᤜ” U+191C , ᤜ+ᤨ=“ᤜᤨ” , ᤜ+ᤧ=“ᤜᤧ” , ᤜ+‌ᤪ=ᤜᤪ , ᤜ͑ , ᤜ͗ , ᤜ̀ , ᤜ́ , ᤜ̍ , ᤜ̀ , ᤜ́ , ᤜ̖ , ᤜ̗ , ᤜ̌ , ᤜ̭ , ᤜ̜ , ᤜͅ Low-Ca (Tai-Tham) “ᨩ” U+1A29 ᨩ̴ , ​̴ᨩ , ᨩ̀ , ᨩ́ High-Ca (Tai-Tham) “ᨧ” U+1A27 ​̴ᨧ , ᨧ̴ , ᨧ̀ , ᨧ́ Mem-Qoph (Pahlavi) “𐭬” (R-to-L) U+10B6C Om (WarangCiti) “𑣿” U+118FF Latin O with Acute “Ó” U+00D3 o with grave “ò” U+00F2 o with acute “ó” U+00F3 Small Omicron with Tonos/AcuteAccent (Greek) “ό” U+03CC (Apple/Orange) Ban (Georgian) “ბ” U+10D1 & “Ბ” U+1C91 (Apple/Orange) AntiClockwise Clock-Circle Arrow “⥀”(base) “⥀︎”(txt) (Apple) Tu (Linear-B B069) “𐀶” U+10036 (Apple/Peach) Ra (Telugu) “ర” U+0C30 (Apple/Orange) Da (Telugu) “ద” (apple) U+0C26 ద̖ , ద̗ , ద̜ , ద̨ , ద̩ , ద̹ , దͅ , ద᪹ , ద᪺ Ba (Mayanmar/Burmese) “ဗ” U+1017 (an Apple in sideway) ​̴ဗ , ဗ̴ , ဗ̖ , ဗ̗ , ဗ̜ , ဗ̨ , ဗ̩ , ဗ̭ , ဗ̹ , ဗͅ , ဗ᪹ , ဗ᪺ Yesieung (Hangul Jamo) “ㆁ” U+3181 Dha (Kannada) “ಧ” U+ (Upside-down Apple falling from a tree-branch) Tha (Tai-Tham) “ᨵ” U+1A35 ᨵ̖ , ᨵ̗ , ᨵ̴ , ​̴ᨵ , ᨵ̜ , ᨵ̨ , ᨵ̩ , ᨵ̭ , ᨵ̹ , ᨵ᪹ , ᨵ᪺
⬐1of2 ⬐2of2
“Squared-Plus” “⊞” &#8862; U+229E used by Wikipedia as indicator for Windows Flag/Logo/Key symbol, ❖Win+B ❖Win Kangxi “⽥” U+2F65
“Black Diamond Minus White X” “❖” &#10070; U+2756 used by others+me to indicate Windows Flag/Logo/Key symbol CJKUI “㗊” U+35CA
Ro (Halfwidth Katakana) “ロ” U+FF9B (its like “White Vertical Rectangle” “▯” U+25AF) Nu (Vai) “ꖸ” U+A5B8
These also look like a Window or Windows: CJKUI “田” U+7530 CJKUI “毌” U+6BCC “畋” U+754B = 田X = WindowsX = Windows10 Esh (Old Italic) “𐌎” U+1030E CJKUI “回” U+56DE Squared-Square “⧈” U+29C8 He (Old Itlaic) “𐌇” U+10307 Squared Minus “⊟” U+229F Clear-Screen symbol “⎚” U+239A White Square with Vertical Bisecting Line “◫” U+25EB CJK = Chinese Japanese Korean, CJKUI = CJK Unified Ideograph Lagab (Cuneiform) “𒆸” U+121B8 Lagab-Lagab “𒇔” U+121D4
⬐1of2 ⬐2of2
Goat “🐐”(emj) &#128016; U+1F410 🐐︎(txt) often used to indicate GNU software, GNU/GPL-License, GNU-Hurd OS, GNU-BSD OS, etc. Wildebeest & Goat🐐 are in similar family & have similarity.  
Egypt Hiero. Goat/kid 𓃙 U+130D9 Ibex 𓃵 U+130F5 Hartebeest 𓄃 U+13103 Oryx 𓃲 U+130F2
⬐1of2 ⬐2of2
Penguin “🐧”(emj) &#128039; U+1F427 🐧︎(txt) often used to indicate GNU-Linux-OS. Tux is a 🐧︎ penguin  
Combining-Diacritics (with Unicode hex code-point): ◌̀ 300 ◌́ 301 ◌̃ 303 ◌̆ 306 ◌̇ 307 ◌̌ 30C ◌̍ 30D ◌̖ 316 ◌̗ 317 ◌̜ 31C ◌̨ 328 ◌̩ 329 ◌̭ 32D ◌̴ 334 ◌̹ 339 ◌̀ 340 ◌́ 341 ◌ͅ 345 ◌͑ 351 ◌͗ 357 ◌ͨ 368 ◌᪹ 1AB9 ◌᪺ 1ABA ◌᷎ 1DCE ◌᷃ 1DC3 ◌᷎ 1DCE ◌ᷗ 1DD7 ◌ᷛ 1DDB ◌ᷞ 1DDE See CDM
⬐1of3⬐2of3⬐3of3
Congruence Relation Symbol ≡ &#8801; &equiv; A 240 U+2261 Vertical Ellipsis ⋮ U+22EE vellip Menu/App key ▤
Identical To ≡ Strictly Identical To ≣ Greek Capital Letter Xi Ξ
Not-Equal-To ≠ &#8800; &ne; 🍎⌥Opt.= Almost-Equal-To ≈ &#8776; &asymp; &ap; &approx; 🍎⌥Opt+x Division ÷ &#247; 🍎⌥Opt+? 🍎⌥Opt+/ ❖Alt+0247
Plus-Minus ± &#177; 🍎⌥Opt+⇧Shift+= ❖Alt+241 Infinity ∞ &#8734; &infin; 🍎⌥Opt+5  
⬑1of3⬑2of3⬑3of3
Various ⿰ ⿱ ⿲ ⿳ ⿴ ⿵ ⿶ ⿷ ⿸ ⿹ ⿺ ⿻ 〔 〕 ︿ ﹝ ﹞ ‹ › ∶ ⎮ ╱ ⧶ ⧸ ⫻ ⫽ 〳 ゠ ː̷̸
։ ֊ ׃ ״ ٪ ۔ ܁ ܂ ܃ ܄ᅟ
⬐1of3⬐2of3⬐3of3
White Frowning Face ☹ ️ &#9785;/&#65039; &#x2639;/&#xFE0F; ☹︎(txt) Worried Face 😟(emj) &#128543; 0x1F61F 😟︎(txt) White Smiling Face ☺ &#9786; 0x263A ☺︎(txt)
Slightly Smiling Face 🙂(emj) &#128578; 0x1F642 🙂︎(txt) Black Smiling Face ☻ &#9787; 0x263B ☻︎(txt)  
⬑1of3⬑2of3⬑3of3
⬐1of3⬐2of3⬐3of3
Ballot Box ☐ &#9744; U+2610 Ballot Box with Check ☑ &#9745; U+2611 ☑︎(txt) Ballot Box with X ☒ &#9746; U+2612 ☒︎(txt)
ª U+00AA &#170; &ordf; ʈ U+0288 &#648;


Unicode Tricks+Tips:
To display an Emoji/Emoticon(emj) as a Textual(txt) glyph (if available/renderable), Use a VS15-char(&#xFE0E; or &#65038;) after the Emoji, (or apply CSS, i.e: span.gray { -webkit-filter: grayscale(100%); filter: grayscale(100%); }).
When an Emoji-Modifier character (i.e: “Emoji Modifier FitzPatrick Type-6” character &#x1F3FF; or &#127999; U+1F3FF) is placed after an Emoji (not all Emojis, but usually Emojis with (human)-body/body-parts are supported), then that Emoji will appear with dark/gray color/skin-tone, but many (font/glypgh/emoji)-Rendering-engine/system still does not support this "Human Diversity" for all Emojis!
If you want to Join a diacritical-mark with an Unicode-char(U-char), then place diacritic(s)-char(s) after the base/primary U-char in sequence, in such case Text/Font Rendering Engine will/may join them as a sequence of single-char to display, so your Search/Find(Ctrl+F) option/button may or may-not work to find it, But if you want to join AND also want to make sure to be able to search/find those char(s) separately, then place the CGJ-char(U+034F or &#847; or &#x34F;) in-between them. Text/Font Rendering Engine in your system may-not work/support/uptodate as expected/instructed/requested by Unicode consortium/group.
If you want to display a character & a diacrtic-mark separately & close to each other, but without joined-by the Font/Text rendering engine/system, then place a ZWNJ char(U+200C &#8204; or &zwnj; or &#x200C;) in between them. Also see space.
http://Liberties.WikiDot.com/symbols1
http://Liberties.WikiDot.com/ligatures1
https://en.Wikipedia.org/wiki/Unicode_font
https://en.Wikipedia.org/wiki/List_of_Unicode_characters
Goto Top or Index


Verify/Authenticate Files:
In macOS-X/XI, Calculate & Compare hash/checksum/digest code (it is a very unique identity code) of a file/bundle:
In macOS-X/XI in shell (“Terminal” utility) window, type command (shasum) & press space key,
then drag the .dmg file from Finder(file browser) window & drop it into Terminal window:
The shasum tool by-default calculates the “SHA1” hash-code, & openssl usage also shown:
0┌─────────────────
1│MacNm:~ UsrNm$ shasum /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│50ff626452dfadb9cbb6a2a5e2ddf60848adf256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
3│MacNm:~ UsrNm$ shasum -a 1 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
4│50ff626452dfadb9cbb6a2a5e2ddf60848adf256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
5│MacNm:~ UsrNm$ openssl sha1 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
6│SHA1(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= 50ff626452dfadb9cbb6a2a5e2ddf60848adf256
7└─────────────────
To calculate “SHA256” hash-code, use -a 256 option in shasum, & openssl usage also shown:
0┌─────────────────
1│MacNm:~ UsrNm$ shasum -a 256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│e0052b8423cc117c99371a97e51a6ef9948510ac9a9c0ec1f2537be3597bad57 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
3│MacNm:~ UsrNm$ openssl sha256 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
4│SHA256(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= e0052b8423cc117c99371a97e51a6ef9948510ac9a9c0ec1f2537be3597bad57
5└─────────────────
To calculate “MD5” hash-code, use md5 option in openssl:
0┌─────────────────
1│MacNm:~ UsrNm$ openssl md5 /Users/UsrNm/Down…/Port…Firefox…r4.1.dmg
2│MD5(/Users/UsrNm/Down…/Port…Firefox…r4.1.dmg)= fa6691336e22a2d83e5629533b830300
3└─────────────────


Add Signature With App/Code:
Sign (aka: “codesign”, aka: add digital-signature) a macOS-X/XI binary app, without being in the Mac Developer Program:
  https://StackOverflow.com/questions/27474751/
Apple Developer Program (ADP) requires $99 fee ! & that allows a Dev to release (signed) App with signature, & that App (if its a general app) can be used by less-privileged user (and ofcourse by any privileged user). Apple Developer site/website (not ADP) allows to create “Free” account, by using a user’s/dev’s Apple-ID, that allows to download/get some basic Development related items for free, like: Xcode, Xcode-CLT, etc.
 
Goto Top or Index


Abbreviations:
Acronyms, Recursive Backronyms & Abbreviations used here:
Dev = Develope = Bld = Build ( = Developer = Builder ) Web-Browser = WB = WebBr Ver = Version = v Mem = Memory Mngr = Manager Virtual = Virt FileSystem = FS Network = Net Socket = Sock Security = Sec Hardware = HW Software = SW Firmware = FW Driver = Drvr = Drv Server = Srv Service = Svc Graphics = Grph Engine = Engn JavaScript = JS Apple = Apl Microsoft = MS Google = Ggl Mozilla = Mz
PA = Portable App . Ususally kept-in & run from a user’s External/Portable drives/storage, Or PA is kept-in & run from internal-Storage when a user need to run 2nd or multiple instances of same PA apps with different profile(s)/settings.
FF = Firefox . A web-browser from Mozilla Foundation. Before FF v57 it used Gecko engine. Since v57, FF was renamed as “Firefox Quantum”(FFQ) & began to use a different & new web-browser engine, & Mozilla REMOVED SUPPORT FOR ALL PREVIOUS ADDONS/PLUGINS in FFQ !!! and, Although major parts of new engine were+are mostly based on Servo,..engine but it is still (deceptively/purposely) named/known as same “Gecko”! some users calls/identifies it GwS(“Gecko-with-Servo” or “Gecko-w/Servo”) or SbG(“Servo-based-Gecko”) or in-short just calls it “Servo” engine. I will call it here, just Servo or GwS or SbG. FFQ in iOS was forced to use WebKit based engine. Lots of PLUGINS existed & was released for (older) Gecko based older FF (before v57), Mozilla STOPPED sharing/distrubuting ALL OF THOSE ADDONS/PLUGINS for older Gecko based older “Firefox” !!! Which indicated (again & sadly, that) Mozilla products are not-reliable & not-stable & cannot be depended-upon. Now there are very VERY LESS PLUGINS availble/ported/released for Servo/GwS based FFQ (v57 & after). WebRTC is kept in enabled state by-default, which can reveal user’s local location without user’s consent with full-awareness, which is a violation of Privacy-Rights, & this type of violation is also done by other new web-browsers too!
SF = AS = Safari . A web-browser developed by Apple Inc . Proprietary . Uses open-source WebKit based engine. WebKit was closed-source & based-on OpenSource KDE-HTML(KHTML) layout engine & OpenSource KDE-JS(KJS) engine, etc. KHTML in WebKit was renamed into WebCore, & KJS in WebKit was renamed into JavaScriptCore by Apple Inc. Later WebKit was made open-source(LGPL) by Apple Inc, and then Adobe Systems, KDE, Igalia, & others joined. Later JavaScriptCore was replaced with SquirrelFish JS (SFX) engine in WebKit. WebKit was internally upgraded into WebKit2. Many other web-browsers are actually based on modified/customized version of WebKit engine. WebKit devs have removed GC related codes, after Google forked WebKit & created (WebKit-based) Blink for GC. Apple Inc forcefully/indirectly restricts other devs/groups, i.e: devs are forced to use WebKit to develop their apps for macOS/iOS, etc.
CM = CH = Chromium . Open-Source . A web-browser initially developed by Google LLC. Uses Blink rendering engine (Blink is based on modified WebKit engine), & V8 (JavaScript engine). Later Microsoft, Igalia, Yandex, & others joined to develope CM. Later Facebook, Opera Software, Adobe Systems, Intel, IBM, Samsung, & others joined to develope Blink. Many many web-browsers are actually based on modified/customized version of this CM web-browser or Blink engine from CM.
Ch = GC = Chrome = Google-Chrome = GCh = gCh = gCH . Ch is developed by Google LLC . Many features+components are Proprietary & runs various binaries even before user logins into their OS, & does-not provide any option to completely disable/remove such malware-like behavior. GC web-browser’s engine is based-on Chromium web-browser. Initially used WebKit rendering engine, later Google eventually forked WebKit to create Blink (BSD-License) based engine, now all Google-Chrome variants are using Blink except in iOS, in iOS its forced to use WebKit based engine.
OS = Operating System = OprtSys = OpSys . A collection/set of vast numbers+types of programs, to assist interactions between computer User and computer hardwares & softwares and computer networks. Many OS did-not & does-not have GUI. Modern OS usually contains: microKernel/monolithicKernel/nanoKernel, HW layout & mngr, HW drvr, IPC mngr, I/O mngr, Virt mem mngr, Protected mem mngr, Scheduling, PreEmptive MultiTasking, RealTime support, Console I/O, FS support, Net support, Sockets, Security monitoring, Process mngr, PnP mngr, Power mngr, Graphics Display mngr, Window mngr, system services, related System Libraries, Userland/UserApps, App Environments, Servers/Daemons/Services for Userland, OS SubSystems/Thread support, related Userland Libraries.
Unx = Unix = Research-Unix = *nix. Originally developed (in 1969) by Ken Thompson & Dennis Ritchie & others at-then AT&T Bell Labs.
BSD = BSD-Unix = Berkeley Software Distribution . Initially “BSD” was based on Unix v5, & it was developed by Bill Joy & Ozalp Babaoglu & Keith Bostic & others from CSRG(Computer Systems Research Group). Uses Monolithic kernel. BSD was updated to “4.3BSD-Net2”, and ~finally upd into “4.4BSD-Lite2” (after winning lawsuit filed-by AT&T), then BSD development ended. But 1-pair of devs released “386BSD” based on 4.3BSD-Net2. Later 386BSD & 4.4BSD-Lite were forked as “NetBSD” by another group, and later one more group forked 386BSD & 4.4BSD-Lite as “FreeBSD”. Later FreeBSD was forked into “DragonFly-BSD”. Later NetBSD was forked into “OpenBSD”. OpenBSD group prioritizes & focuses on SECURITY, trustworthiness, etc of source code & OS functionalities.
OSX/OSXI = 🍎 = OS10/11 = OS-X / OS-XI = OS-10 / OS-11 = MacOS = macOS = ( macOS-X / macOS-10 ) = ( macOS-XI / macOS-11 / OSX1 ) . This OS is developed by Apple Inc. ClosedSource GUI OS. Initially based on Apple Lisa OS & (Unix based) Xenix, etc, then it was changed into combination of Unix … BSD(4.3BSD-Net2, 386BSD, 4.4BSD-Lite2, FreeBSD, NextSTEP, etc) … then finally changed into “Darwin” based OS. Initially kernel was Monolithic (for 68k) & nanokernel (for PowerPC), then changed into Hybrid(XNU) Kernel (initially CMU-Mach2.5 & 4.3BSD, then changed into OSFMK/Utah-Mach4 & FreeBSD).
Win = ❖ = Windows OS = WinOS ( Win3.1, Win95, Win98, WinME, WinCE, WinNT, Win2000/Win2K, WinV, Win7, Win8, Win10 ). WinOS developed by Microsoft corp . ClosedSource GUI OS . Windows 9X (Win9X), WinMe & earlier WinOS used Monolithic kernel & was based on “Interface Manager”, etc. Later WinCE-family & WinNT-family of WinOS used Hybrid(NT) Kernel. Initial WinOS was a Graphical-Shell of MS-DOS OS, initially MS-DOS was based on CP/M-OS, 86-DOS, etc. WinOS-10/Win10 includes MS-Edge web-browser, its initially based on Trident engine, then changed into Blink(CM) engine.
Lnx = 🐐︎GNU-🐧︎Linux = GNU/Linux = GNU/Lnx, though most users shorten/call/know it as “Linux” or “Linux OS”. OpenSource (Unix-like) OS, with OpenSource Kernel. GNU-OS used/uses (Unix based) GNU tools/utilities developed by Richard Stallman, & uses GNU-Kernel (aka GNU/Hurd-Kernel). Linux-kernel (aka “Linux”, kLnx, “Freax”) was developed by Linus Torvald based on Unix & MINIX-OS, to replace MINIX-OS (initially). MINIX was/is based on Unix (v7) tools/utilies & it uses microkernel. MINIX began to use GNU tools/utilies after GNU was released). When AT&T filed lawsuit against BSD, users/devs could not get+use new/updated BSD/BSD-kernel, & all users/devs realized they needed a “free” OS-&-kernel without AT&T’s-restrictions, & this “Linux” was built+available exactly/around that time with “free” GNU-GPL license & GNU-tools/utilities, So users/devs ended-up using this “GNU/Linux” instead of BSD, & So “GNU/Linux” became popular. Various groups & individuals later began to develop/release various distros/OSes based on GNU/Linux or GNU/Hurd (aka GNU/Mach) or GNU/BSD etc etc. All of these were/are primarily a derivative of Unix.
AOS = 🤖︎ = Andr = AN = Android OS . A (GUI) OS developed by Google LLC (under Alphabet Inc), with members of OHA consortium, & by open-source dev(s)+individual(s). Many components are open-source, except these CLOSED-SOURCE components: “Google Play”, “Google Play Services”, etc, etc, etc). Andr uses (BSD based) Bionic C-Lib, uses ToyBox (based on older BusyBox) based Unix utilities, mksh, etc. Andr uses modified Linux-kernel.
iOS = 🍎📱 . Developed by Apple Inc, used in such Apple devices iPhone, iPad, etc. Its a closed-source GUI OS. Based on (Unix->BSD->) Darwin OS. Uses Hybrid(XNU) Kernel.
Goto Top or Index