All Projects → kiwix → Apple

kiwix / Apple

Licence: lgpl-3.0
Kiwix for offline access on iOS and macOS

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Apple

Web Archives
A web archives reader
Stars: ✭ 52 (-70.11%)
Mutual labels:  wikipedia, offline
Kiwix Android
Kiwix for Android
Stars: ✭ 390 (+124.14%)
Mutual labels:  wikipedia, offline
Kiwix Desktop
Kiwix for Windows and GNU/Linux desktops
Stars: ✭ 183 (+5.17%)
Mutual labels:  wikipedia, offline
Kiwix Js
Full portable & lightweight ZIM reader in Javascript
Stars: ✭ 130 (-25.29%)
Mutual labels:  wikipedia, offline
Web Maker
A blazing fast & offline frontend playground
Stars: ✭ 2,029 (+1066.09%)
Mutual labels:  offline
Hads
📚 Markdown superpowered documentation for Node.js
Stars: ✭ 147 (-15.52%)
Mutual labels:  offline
Huggle3 Qt Lx
Huggle is an anti-vandalism tool for use on MediaWiki based projects
Stars: ✭ 143 (-17.82%)
Mutual labels:  wikipedia
Budgetzero
https://app.budgetzero.io
Stars: ✭ 143 (-17.82%)
Mutual labels:  offline
Gradlewiki
关于Gradle编译你需要知道的一切
Stars: ✭ 174 (+0%)
Mutual labels:  wikipedia
Multipeer
📱📲 A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices
Stars: ✭ 170 (-2.3%)
Mutual labels:  offline
Brick
An intuitive way to work with persistent data in Dart
Stars: ✭ 159 (-8.62%)
Mutual labels:  offline
Infoboxer
Wikipedia information extraction library
Stars: ✭ 147 (-15.52%)
Mutual labels:  wikipedia
Libosmscout
Libosmscout is a C++ library for offline map rendering, routing and location lookup based on OpenStreetMap data
Stars: ✭ 159 (-8.62%)
Mutual labels:  offline
Wp2txt
WP2TXT extracts plain text data from Wikipedia dump file (encoded in XML/compressed with Bzip2) stripping all the MediaWiki markups and other metadata.
Stars: ✭ 145 (-16.67%)
Mutual labels:  wikipedia
Rekord
A javascript REST ORM that is offline and real-time capable
Stars: ✭ 171 (-1.72%)
Mutual labels:  offline
Ultimate Java Resources
Java programming. All in one Java Resource for learning. Updated every day and up to date. All Algorithms and DS along with Development in Java. Beginner to Advanced. Join the Discord link.
Stars: ✭ 143 (-17.82%)
Mutual labels:  wikipedia
Wikipedia Ipfs
An exploration to host Wikipedia in IPFS
Stars: ✭ 158 (-9.2%)
Mutual labels:  wikipedia
React Relay Offline
TypeScript library files for Relay Modern Offline
Stars: ✭ 169 (-2.87%)
Mutual labels:  offline
React Native Offline
Handy toolbelt to deal nicely with offline/online connectivity in a React Native app. Smooth redux integration ✈️
Stars: ✭ 2,000 (+1049.43%)
Mutual labels:  offline
Cmissync
Synchronize content between a CMIS repository and your desktop. Like Dropbox for Enterprise Content Management!
Stars: ✭ 153 (-12.07%)
Mutual labels:  offline

Kiwix for iOS & macOS

This is the home for Kiwix apps on iOS and macOS.

CodeFactor License: GPL v3 Drawing=

Mobile app for iPads & iPhones

Kiwix Desktop for macOS

Developers

Dependencies

Creating libkiwix.xcframework

Instructions to build kiwix-lib at on the kiwix-build repo.

The xcframework is a bundle of a library for multiple architectures and/or platforms. The libkiwix.xcframework will contain libkiwix library for macOS arch and for iOS. You don't have to follow steps for other platform/arch if you don't need them.

Following steps are done from kiwix-build root and assume your apple repository is at ../apple.

Build kiwix-lib

git clone https://github.com/kiwix/kiwix-build.git
cd kiwix-build
# if on macOS mojave (10.14), install headers to standard location
# https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes?language=objc
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
# make sure xcrun can find SDKs
sudo xcode-select --switch /Applications/Xcode.app
# [iOS] build kiwix-lib
kiwix-build --target-platform iOS_multi kiwix-lib
# [macOS] build kiwix-lib
kiwix-build --target-platform native_static kiwix-lib

Create fat archive with all dependencies

This creates a single .a archive named libkiwix which contains all libkiwix's dependencies. If you are to create an xcframework with multiple architectures/platforms, repeat this step for each:

  • native_static (for macOS – x86_64)
  • iOS_x86_64
  • iOS_arm64

You'll have to do it for both iOS archs although you built it using multi.

libtool -static -o BUILD_<target>/INSTALL/lib/libkiwix.a BUILD_<target>/INSTALL/lib/*.a

Add fat archive to xcframework

xcodebuild -create-xcframework -library BUILD_<target>/INSTALL/lib/libkiwix.a -headers BUILD_<target>/INSTALL/include -output ../apple/Model/libkiwix.xcframework

You can now launch the build from Xcode and use the iOS simulator or your macOS target.

Building Kiwix iOS or Kiwix macOS

  • Open project with Xcode open Kiwix.xcodeproj
  • Change the App groups (in Capabilities) and Bundle Identifier for both iOS and Bookmarks targets
    • App Group must be different and unique (ex: tld.mydomain.apple)
    • iOS Bundle Identifier must be different and unique (ex: tld.mydomain.apple.Kiwix)
    • Bookmarks Bundle Identifier must be a child of iOS one (ex: tld.mydomain.apple.Kiwix.Bookmarks)
    • ⚠ if you are using a regular (non-paying) Apple Developer Account, you are limited in the number of App IDs you can use so be careful not to fumble much with those.
  • Change the Signing profile to your account.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].