273452d8c6
I could not figure out any sane way to access the correct .json files, or data constructed from them by the Objective-C code, at run-time in the iOS app. The l10n-for-node stuff that gets used in a normal Online is not suitable at all as it wants to use XMLHttpRequest. Thus I am working on changes to loleaflet that will include the translations in the bundle.js when building for iOS. (Or Android, presumably, once we get there.) There won't be any need to load the correct .json files separately. Change-Id: Ifd72b4077f3634c34dd2c2d84c0a2554459c86b6 |
||
---|---|---|
.. | ||
Mobile | ||
Mobile.xcodeproj | ||
TestFakeSocket | ||
README |
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 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 Mobile/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 Mobile/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.