This repository contains the client-side code for The Palace Project Palace application.
- Install Xcode 14.2 in
/Applications
, open it and make sure to install additional components if it asks you. - Install Carthage if you haven't already. Using
brew
is recommended.
If you run this project with DRM support on a Mac computer with Apple Silicon, make sure to check [x] Open using Rosetta in Xcode.app application info. This is required to build with Adobe DRM support.
git clone git@github.com:ThePalaceProject/ios-core.git
cd ios-core
# one-time set-up
./scripts/setup-repo-nodrm.sh
# idempotent script to rebuild all dependencies
./scripts/build-3rd-party-dependencies.sh --no-private
Open Palace.xcodeproj
and build the Palace-noDRM
target.
- Contact project lead and ensure you have access to all the required private repos.
- Then run:
git clone git@github.com:ThePalaceProject/ios-core.git
cd ios-core
./scripts/bootstrap-drm.sh
- Open Palace.xcodeproj and build the
Palace
target.
Unless the DRM dependencies change (which is very seldom) you shouldn't need to run the bootstrap-drm.sh
script more than once.
Other 3rd party dependencies are managed via Carthage and a few git submodules. To rebuild them you can use the following idempotent script:
cd ios-core
./scripts/build-3rd-party-dependencies.sh
The scripts
directory contains a number of other scripts to build dependencies more granularly and also to build/archive/test the app from the command line. These scripts are the same used by our CI system. All these scripts must be run from the root of Palace ios-core
repository, not from the scripts
directory.
develop
is the main development branch.
Release branch names follow the convention: release/palace/<version>
. For example, release/palace/1.0.0
.
Feature branch names (for features whose development is a month or more): feature/<feature-name>
, e.g. feature/my-new-screen
.
Continuous integration is enabled on merge events on develop
branch. Palace device builds are uploaded to ios-binaries.
Copyright © 2021 LYRASIS
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.