Skip to content

computersandlaw/sclapp-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCL App

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.

Getting involved

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.

Reporting a problem or suggesting an idea

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:

  1. Create a free account at github.com/signup if you don't already have one.
  2. Go to this project's issues page: github.com/computersandlaw/sclapp-ios/issues
  3. Click the green "New issue" button.
  4. 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.
  5. 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.

Contributing code

If you're a developer and would like to contribute:

  1. Fork this repository and clone your fork.
  2. Open SCLApp.xcodeproj in Xcode (this is the authoritative project — the SCLApp.swiftpm package is a secondary copy).
  3. Build and run on the iOS Simulator or a device (iOS 16+).
  4. 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.
  5. 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.

Releasing a build to App Store Connect (maintainers)

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 is CURRENT_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

  1. 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.
  2. Product ▸ Archive. This builds with the Release config and opens the Organizer window when done (or open it via Window ▸ Organizer).
  3. Select the new archive → Distribute App.
  4. Choose App Store ConnectUpload, then accept the defaults (automatic signing, upload symbols) and Upload.
  5. 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.

Contact

Releases

Packages

Contributors

Languages