libreoffice-online/ios
Tor Lillqvist a3b44f2b8b Work in progress on document creation using templates in the iOS app
When the "Create Document" button in the document browser is pressed,
we scan a set of ODF templates in the Templates subfolder of the app
bundle, and we display that list as a collection view. (So far that
view is not interactive, i.e. once it is displayed, you are stuck
there.)

Eventually, when the user chooses one of the templates, we will open
that and immediately, before the user has done any edits, do a Save As
of it as a real (not template) document in the app's document folder.
What name to use for it is unclear yet. Further saves will thus don't
need any dialog to choose the document name.

More work will be needed on i18n of the template support. Should we
have localised templates? At least localised template names. Etc.

Change-Id: I5675779a5b16bc4c70a943109aa0dd53cf4bd903
2018-12-04 22:12:39 +02:00
..
Mobile Work in progress on document creation using templates in the iOS app 2018-12-04 22:12:39 +02:00
Mobile.xcodeproj Work in progress on document creation using templates in the iOS app 2018-12-04 22:12:39 +02:00
TestFakeSocket Move the iOS app to the ios folder 2018-11-22 16:50:57 +02:00
config.h.in Use the right version name and git hash for the iOS app 2018-11-27 01:05:04 +02:00
ios.h Adapt to change in core: paintTile() now takes a buffer pointer also on iOS 2018-10-10 16:31:38 +03:00
ios.mm Adapt to change in core: paintTile() now takes a buffer pointer also on iOS 2018-10-10 16:31:38 +03:00
README Use --with-iosapp-name to set the name displayed in the Help>About dialog 2018-11-27 00:35:57 +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.

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) Do a separate clone of the online repo on macOS, but don't run any
make or open the Mobile project there yet.

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

./configure --enable-iosapp --with-iosapp-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 online clone
from step 2. This is what I do:

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

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

4) In the online folder form 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 the
LibreOffice core source directory from step 1.

Then run:

./autogen.sh

and

./configure --enable-iosapp --with-iosapp-name="My Own Mobile LibreOffice" --with-lo-builddir=$HOME/lo/ios --with-poco-includes=/opt/ios-poco/include --with-poco-libs=/opt/ios-poco/lib

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

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