Contents of ios/README has moved to the website
Change-Id: I2fb628a9b69badbb0052e4a303df90bf39e25bad
This commit is contained in:
parent
a409b221f8
commit
c48e8172cb
1 changed files with 1 additions and 115 deletions
116
ios/README
116
ios/README
|
@ -1,115 +1 @@
|
|||
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 Office Suite"
|
||||
|
||||
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 Office Suite" --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 Office Suite" --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.
|
||||
See https://collaboraonline.github.io/post/build-code-ios/
|
||||
|
|
Loading…
Reference in a new issue