libreoffice-online/ios
Andras Timar 5325a93ec7 Update from Weblate
Translated using Weblate (Chinese (Simplified))

Currently translated at 70.3% (294 of 418 strings)

Translated using Weblate (Dutch)

Currently translated at 62.6% (262 of 418 strings)

Translated using Weblate (Upper Sorbian)

Currently translated at 64.1% (268 of 418 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (418 of 418 strings)

Translated using Weblate (Greek)

Currently translated at 99.7% (417 of 418 strings)

Translated using Weblate (Danish)

Currently translated at 99.2% (415 of 418 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (418 of 418 strings)

Translated using Weblate (Asturian)

Currently translated at 9.8% (41 of 418 strings)

Added translation using Weblate (Upper Sorbian)

Translated using Weblate (Catalan)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (French)

Currently translated at 100.0% (5 of 5 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (5 of 5 strings)

Co-authored-by: Andras Timar <andras.timar@collabora.com>
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/ca/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/es/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/fr/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/hu/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/id/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/pl/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/ru/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/code-welcome-text/tr/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ast/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/ca_VALENCIA/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/da/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/el/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/eu/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/hsb/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/nl/
Translate-URL: https://hosted.weblate.org/projects/collabora-online/help/zh_Hans/
Translation: Collabora Online/CODE welcome text
Translation: Collabora Online/Help
Change-Id: Ifd1e16a4ae1ad2afc16f21640759e65576d14398
2020-10-12 09:25:21 +02:00
..
CollaboraOnlineWebViewKeyboardManager Drop the pressesEnded method that did just logging 2020-10-09 12:33:14 +03:00
Mobile Update from Weblate 2020-10-12 09:25:21 +02:00
Mobile.xcodeproj Add source files from toolkit/source/awt for debugging goodness 2020-09-30 19:06:45 +02:00
TestFakeSocket fix license headers 2020-10-01 11:56:43 +02:00
config.h.in change product name 2020-10-02 14:18:28 +02:00
GEN2.txt Update the first step 2020-07-02 15:40:00 +03:00
ios.h fix license headers 2020-10-01 11:56:43 +02:00
ios.mm fix license headers 2020-10-01 11:56:43 +02:00
IPAExportOptions.plist Add an "export options" plist for providing .ipa archives 2020-05-15 14:00:56 +03:00
README Fix typos 2020-10-07 12:51:08 +02:00

How to build the iOS app:

1) First you need to build the LibreOffice core code for iOS. Put in
your autogen.input something like this:

--enable-debug
--enable-dbgutil
--enable-werror
--with-distro=LibreOfficeiOS

and build "normally". (Naturally, no unit tests will be run when
cross-compiling LibreOffice.) Of course there is no requirement to use
those --enable options; as a minimum, just
--with-distro=LibreOfficeiOS should work.

for use with the SIMULATOR you can use:
--with-distro=LibreOfficeiOS_Sim

Debug is implied when compiling for use in the simulator, but if you
don't want that, then edit "distro-configs/LibreOfficeiOS_Sim.conf"

This will produce a large number of static archives (.a) here and
there in instdir and workdir, but no app that can be run as such. (You
can see a list of them in
workdir/CustomTarget/ios/ios-all-static-libs.list)

2) Build LOOL Dependencies

POCO LIBRARY

2.1) Get the source poco library at https://pocoproject.org/download.html
2.2) Unpack

2.3a) Compile for DEVICE (arm64) use:
./configure --config=iPhone --static --no-tests --no-samples --omit=Data/ODBC,Data/MySQL --prefix=$HOME/poco-ios-arm64
make POCO_TARGET_OSARCH=arm64 -s -j4
make POCO_TARGET_OSARCH=arm64 install

2.3b) Compile for SIMULATOR (x86_64) use:
./configure --config=iPhoneSimulator --static --no-tests --no-samples --omit=Data/ODBC,Data/MySQL --prefix=$HOME/poco-ios-x64
make POCO_TARGET_OSARCH=x86_64 -s -j4
make POCO_TARGET_OSARCH=x86_64 install

This will install the poco static libraries and headers to your $home
directory into poco-ios-arm64 (and poco-ios-x64) directory. You can
change the directory to your wishes, but by installing it this way into
a directory in $HOME it doesn't pollute your root directories, doesn't
need root permissions and can be removed easily.

If compiler can't find <string.h> you need to install:
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

3) Do a separate clone of the online repo on macOS, but don't do any
autogen.sh, configure, or make, or open the Mobile Xcode project there
yet. We call this the app folder.

4) On a Linux machine: Do a separate clone of the online repo, run
autogen.sh, and configure it with the --enable-iosapp option:

./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice"

Then run make. That will produce files in loleaflet/dist, nothing
else. Copy those to the corresponding folder in the app folder from
step 2. This is how I do it:

make clean && make && tar cf - loleaflet/dist | ssh misan.local 'cd lo/online-ios-device && rm -rf loleaflet/dist && tar xvf -'

where misan.local is the macOS machine where I build the app, and
~/lo/online-ios-device is the app folder from step 2.

Then back to the Mac:

As you were able to build LibreOffice in step 1, you must already have
GNU autoconf installed on the Mac. Install also GNU automake and
libtool. Preferably from sources, to make sure a potential
installation of brew or similar will not pollute your environment with
unknown stuff.

As GNU libtool will be needed only for a very minimal part of the
build (running the autogen.sh script, but not anything else), it's
safest to install it somewhere that is not in your $PATH. Let's say
/opt/libtool. (Installing Automake in the default /usr/local, which is
in $PATH, is less risky.)

Run the autogen.sh script in the app folder, with GNU libtool
available, for instance:

PATH=/opt/libtool/bin:$PATH ./autogen.sh

5) In the app folder from step 2, edit the
ios/Mobile.xcodeproj/project.pbxproj file in your favourite text
editor. Change LOSRCDIR and all instances of "../ios-device" to refer
the LibreOffice core source directory from step 1.

6) In the app folder, run:

for DEVICE:
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lode/dev/LO --with-poco-includes=$HOME/poco-ios-arm64/include --with-poco-libs=$HOME/poco-ios-arm64/lib

for SIMULATOR:
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lode/dev/LO --with-poco-includes=$HOME/poco-ios-x64/include --with-poco-libs=$HOME/poco-ios-x64/lib

The configure script puts the app name as the CFBundleDisplayName
property into the ios/Mobile/Info.plist file, and sets up some
symbolic links that point to the LibreOffice core source and build
directories (which typically will be the same, of course).

7) Before opening the Xcode project for the first time
   - seriously consider disabling source code indexing, this
   spawns a vast number of git processes, and consumes huge
   amounts of CPU & memory:

	Xcode -> Preferences, "Source Control", uncheck "Enable Source Control"

8) Now you can open the Mobile Xcode project, build it, and run it.