An iOS app for the Society for Computers & Law (SCL) — the UK's leading educational charity for the tech law community.
The app brings content from scl.org to your iPhone or iPad:
- News — browse and read the latest SCL articles and analysis
- Events — see upcoming SCL events, webinars and conferences
- About — learn about SCL, its leadership, trustees, specialist groups and how to get in touch
It's built with Swift and SwiftUI and runs on iOS 16 or later. Designed by @jamdev and coded mainly by Claude.
We'd love your help — whether that's reporting a problem, suggesting an idea, or contributing code. You don't need to be a developer to get involved.
The easiest way is to open an issue on GitHub. An issue is just a message describing a bug or a suggestion — anyone can create one, and it helps us keep track of everything in one place.
If you've never used GitHub before, here's how:
- Create a free account at github.com/signup if you don't already have one.
- Go to this project's issues page: github.com/computersandlaw/sclapp-ios/issues
- Click the green "New issue" button.
- Give it a short title (e.g. "Events tab shows no events") and describe the problem in the text box. There's no special format required — plain English is perfect.
- Click "Create" (or "Submit new issue") and you're done. You'll get an email if anyone replies or asks a follow-up question.
When reporting a bug, it helps a lot if you can include:
- What you did — e.g. "opened the Events tab and pulled down to refresh"
- What you expected to happen
- What actually happened — a screenshot is worth a thousand words (you can drag images straight into the issue text box)
- Your device and iOS version — e.g. "iPhone 14, iOS 17.5"
Before creating a new issue, have a quick look at the existing ones in case someone has already reported the same thing — if so, you can add a comment or a 👍 reaction to it instead.
If GitHub isn't for you, you can also email SCL at hello@scl.org.
If you're a developer and would like to contribute:
- Fork this repository and clone your fork.
- Open
SCLApp.xcodeprojin Xcode (this is the authoritative project — theSCLApp.swiftpmpackage is a secondary copy). - Build and run on the iOS Simulator or a device (iOS 16+).
- Make your changes on a branch, keeping to the existing code style. The app deliberately uses stock SwiftUI navigation (TabView, NavigationSplitView, large titles) — please avoid introducing custom navigation chrome.
- Open a pull request (PR) describing what you've changed and why.
For larger changes, it's a good idea to open an issue first so we can discuss the approach before you invest time in it.
Before approving your PR we may ask you to sign a contributor's licence agreement. We are deciding our approach to licensing. Please reach out to hello@scl.org before opening a PR.
Uploading a build from Xcode, step by step:
Before you start
- You need a paid Apple Developer Program membership, and an app record already created in App Store Connect with the matching bundle ID (
uk.org.scl.app). - The project uses automatic signing (team
9KV964KM62), so Xcode manages the distribution certificate/profile. Check the Apple ID is signed in under Xcode ▸ Settings ▸ Accounts. - Each upload needs a unique build number for a given version. The version is
MARKETING_VERSION(e.g.1.0) and the build isCURRENT_PROJECT_VERSION(e.g.1) in the target's build settings. For any re-upload of the same version, bump the build number.
Archive & upload
- Pick a device destination (not a simulator): in the toolbar destination menu choose Any iOS Device (arm64). Archiving is disabled while a simulator is selected.
- Product ▸ Archive. This builds with the Release config and opens the Organizer window when done (or open it via Window ▸ Organizer).
- Select the new archive → Distribute App.
- Choose App Store Connect → Upload, then accept the defaults (automatic signing, upload symbols) and Upload.
- After a few minutes to ~an hour the build appears in App Store Connect under TestFlight and becomes selectable for an App Store version (you'll usually get an email when processing finishes).
Then in App Store Connect
- TestFlight tab → assign the build to internal/external testers.
- App Store tab → create/select the version, pick the build, fill in metadata, and submit for review.
Troubleshooting
- "Build number already used" → bump
CURRENT_PROJECT_VERSION. - Signing errors → check the signed-in Apple ID and that the app record exists in App Store Connect for
uk.org.scl.app. - Export compliance is pre-answered via
INFOPLIST_KEY_ITSAppUsesNonExemptEncryption = NO, so that prompt is skipped.
- Email: hello@scl.org
- Website: www.scl.org
- X: @computersandlaw
- LinkedIn: SCL