A workspace for on-boarding developers
This workspace is one of the ways you can get started with the R2 Swift Projects. It is not the only way and you can pick to setup your development environment in the way that best fits your needs.
In this workspace you will find 4 Github branches:
You pick this branch if are an integrator and all you need is to quickly get started with the R2 Testapp.
- git clone --recurse-submodules -b int/testapp https://github.com/readium/r2-workspace-swift.git r2-workspace-swift
- run carthage update --platform ios on r2-testapp-swift
- run carting update on r2-testapp-swift
- open r2-workspace-swift.xcworkspace
- run target r2-testapp-swift (carthage)
Cartfile should look like this:
github "readium/r2-shared-swift" == ?.?.?
github "readium/r2-streamer-swift" == ?.?.?
github "readium/r2-navigator-swift" == ?.?.?
github "readium/readium-opds-swift" == ?.?.?
github "weichsel/ZIPFoundation" == 0.9.8
github "onevcat/Kingfisher" == 4.10.1
github "jdg/MBProgressHUD"
github "stephencelis/SQLite.swift" == 0.11.5
github "tadija/AEXML" == 4.3.3
github "swisspol/GCDWebServer" == 3.5.2
github "krzyzanowskim/CryptoSwift" == 0.15.0
github "cezheng/Fuzi" == 2.2.1
github "dexman/Minizip"
You pick this branch if are an developer and a R2 contributor. You can get started quickly on the R2 Testapp and it's modules with this branch. We do appreciate any contribution, no matter how small it is, it makes a difference :)
- git clone --recurse-submodules -b dev/testapp https://github.com/readium/r2-workspace-swift.git r2-workspace-swift
- run carthage update --platform ios on r2-testapp-swift
- run carting update on r2-testapp-swift
- open r2-workspace-swift.xcworkspace
- run target r2-testapp-swift (submodules)
Cartfile should look like this:
github "weichsel/ZIPFoundation" == 0.9.8
github "onevcat/Kingfisher" == 4.10.1
github "jdg/MBProgressHUD"
github "stephencelis/SQLite.swift" == 0.11.5
github "tadija/AEXML" == 4.3.3
github "swisspol/GCDWebServer" == 3.5.2
github "krzyzanowskim/CryptoSwift" == 0.15.0
github "cezheng/Fuzi" == 2.2.1
github "dexman/Minizip"
You pick this branch if are an integrator and you would like to get started with the R2 Testapp supporting LCP.
- git clone --recurse-submodules -b int/testapp-with-lcp https://github.com/readium/r2-workspace-swift.git r2-workspace-swift
- add your lcp dependency to the cartfile
- run carthage update --platform ios on r2-testapp-swift
- run carting update on r2-testapp-swift
- open r2-workspace-swift.xcworkspace
- run target r2-testapp-swift (carthage-with-lcp)
Cartfile should look like this:
github "readium/r2-shared-swift" == ?.?.?
github "readium/r2-streamer-swift" == ?.?.?
github "readium/r2-navigator-swift" == ?.?.?
github "readium/readium-opds-swift" == ?.?.?
github "weichsel/ZIPFoundation" == 0.9.8
github "onevcat/Kingfisher" == 4.10.1
github "jdg/MBProgressHUD"
github "stephencelis/SQLite.swift" == 0.11.5
github "tadija/AEXML" == 4.3.3
github "swisspol/GCDWebServer" == 3.5.2
github "krzyzanowskim/CryptoSwift" == 0.15.0
github "cezheng/Fuzi" == 2.2.1
github "dexman/Minizip"
You pick this branch if are an developer and a R2 contributor. You can get started quickly on the R2 Testapp and it's modules including LCP with this branch. We do appreciate any contribution, no matter how small it is, it makes a difference :)
- git clone --recurse-submodules -b dev/testapp-with-lcp https://github.com/readium/r2-workspace-swift.git r2-workspace-swift
- add your lcp dependency to the cartfile
- update Cartfile (see below)
- run carthage update --platform ios on r2-testapp-swift
- run carting update on r2-testapp-swift
- open r2-workspace-swift.xcworkspace
- run target r2-testapp-swift (submodules-with-lcp)
Cartfile should look like this:
github "weichsel/ZIPFoundation" == 0.9.8
github "onevcat/Kingfisher" == 4.10.1
github "jdg/MBProgressHUD"
github "stephencelis/SQLite.swift" == 0.11.5
github "tadija/AEXML" == 4.3.3
github "swisspol/GCDWebServer" == 3.5.2
github "krzyzanowskim/CryptoSwift" == 0.15.0
github "cezheng/Fuzi" == 2.2.1
github "dexman/Minizip"
Dependencies and the modules they are used in
- weichsel/ZIPFoundation used in ReadiumLCP
- onevcat/Kingfisher used in R2 Testapp
- jdg/MBProgressHUD used in R2 Testapp
- stephencelis/SQLite.swift used in R2 Testapp, ReadiumLCP
- tadija/AEXML used in R2Streamer
- swisspol/GCDWebServer used in R2Streamer
- krzyzanowskim/CryptoSwift used in ReadiumLCP, R2Streamer
- cezheng/Fuzi used in ReadiumOPDS, R2Streamer
- dexman/Minizip used in R2Streamer
Readium LCP is a DRM. As any protection technology, care must be taken to avoid disclosing too much technical information to the open world without good reasons. This is why EDRLab has chosen to provide a small pre-compiled Readium LCP module to R2 implementers, in two flavors:
- a "test" grade LCP library, provided after a direct contact between the developer and EDRLab. To get this library, a developer must only provide to EDRLab its company name, web site and basic information about the context of the project involving Readium LCP.
- a "production" grade LCP library, which simply replaces the "test" library in the project after the development has been fully tested. Go get access to this production module, the client company must be trusted and the Readium LCP Terms of Used must have been signed.
To contact EDRLab, please send an email to contact(at)edrlab.org or use the Readium Slack on the "lcp" channel.