Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,22 @@ env:
DEVELOPER_DIR: /Applications/Xcode_26.0.1.app/Contents/Developer

jobs:
build:
build-swiftleeds:
name: Build SwiftLeeds (DEBUG)
runs-on: macos-latest
steps:
- name: Checkout iOS Repository
uses: actions/checkout@v2

- name: Build iOS Project via Fastlane
run: fastlane build_debug

- name: Build SwiftLeeds via Fastlane
run: fastlane build_swiftleeds

build-kotlinleeds:
name: Build KotlinLeeds (DEBUG)
runs-on: macos-latest
steps:
- name: Checkout iOS Repository
uses: actions/checkout@v2

- name: Build KotlinLeeds via Fastlane
run: fastlane build_kotlinleeds
12 changes: 12 additions & 0 deletions Configuration/KotlinLeeds.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// KotlinLeeds Configuration

PRODUCT_BUNDLE_IDENTIFIER = uk.co.kotlinleeds.KotlinLeeds
PRODUCT_NAME = KotlinLeeds
APP_DISPLAY_NAME = KotlinLeeds
API_HOST = kotlinleeds.co.uk
CONTACT_EMAIL = [email protected]
APP_GROUP_IDENTIFIER = group.uk.co.kotlinleeds
CODE_SIGN_ENTITLEMENTS = SwiftLeeds/KotlinLeeds.entitlements
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon
EXCLUDED_SOURCE_FILE_NAMES = SwiftLeedsAssets.xcassets SwiftLeedsColors.xcassets
WIDGET_KIND_NAME = KotlinLeedsWidget
12 changes: 12 additions & 0 deletions Configuration/SwiftLeeds.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// SwiftLeeds Configuration

PRODUCT_BUNDLE_IDENTIFIER = uk.co.swiftleeds.SwiftLeeds
PRODUCT_NAME = SwiftLeeds
APP_DISPLAY_NAME = SwiftLeeds
API_HOST = swiftleeds.co.uk
CONTACT_EMAIL = [email protected]
APP_GROUP_IDENTIFIER = group.uk.co.swiftleeds
CODE_SIGN_ENTITLEMENTS = SwiftLeeds/SwiftLeeds.entitlements
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon
EXCLUDED_SOURCE_FILE_NAMES = KotlinLeedsAssets.xcassets KotlinLeedsColors.xcassets
WIDGET_KIND_NAME = SwiftLeedsWidget
10 changes: 10 additions & 0 deletions KotlinLeedsWidgetExtension.entitlements
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.uk.co.kotlinleeds</string>
</array>
</dict>
</plist>
546 changes: 514 additions & 32 deletions SwiftLeeds.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

98 changes: 98 additions & 0 deletions SwiftLeeds.xcodeproj/xcshareddata/xcschemes/KotlinLeeds.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "2600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AECB295227417F9D00CDC983"
BuildableName = "SwiftLeeds.app"
BlueprintName = "SwiftLeeds"
ReferencedContainer = "container:SwiftLeeds.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug-KotlinLeeds"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AECB296227417F9E00CDC983"
BuildableName = "SwiftLeedsTests.xctest"
BlueprintName = "SwiftLeedsTests"
ReferencedContainer = "container:SwiftLeeds.xcodeproj">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AECB296C27417F9E00CDC983"
BuildableName = "SwiftLeedsUITests.xctest"
BlueprintName = "SwiftLeedsUITests"
ReferencedContainer = "container:SwiftLeeds.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug-KotlinLeeds"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AECB295227417F9D00CDC983"
BuildableName = "SwiftLeeds.app"
BlueprintName = "SwiftLeeds"
ReferencedContainer = "container:SwiftLeeds.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release-KotlinLeeds"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AECB295227417F9D00CDC983"
BuildableName = "SwiftLeeds.app"
BlueprintName = "SwiftLeeds"
ReferencedContainer = "container:SwiftLeeds.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug-KotlinLeeds">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release-KotlinLeeds"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
16 changes: 16 additions & 0 deletions SwiftLeeds/App/ConferenceConfig.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Foundation

enum ConferenceConfig {
private static func value(for key: String) -> String {
guard let value = Bundle.main.object(forInfoDictionaryKey: key) as? String, !value.isEmpty else {
fatalError("Missing Info.plist key: \(key)")
}
return value
}

static let apiHost: String = value(for: "APIHost")
static let pushURL: String = "https://www.\(apiHost)/push"
static let contactEmail: String = value(for: "ContactEmail")
static let appGroupIdentifier: String = value(for: "AppGroupIdentifier")
static let conferenceName: String = value(for: "CFBundleDisplayName")
}
8 changes: 8 additions & 0 deletions SwiftLeeds/App/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>$(APP_DISPLAY_NAME)</string>
<key>APIHost</key>
<string>$(API_HOST)</string>
<key>ContactEmail</key>
<string>$(CONTACT_EMAIL)</string>
<key>AppGroupIdentifier</key>
<string>$(APP_GROUP_IDENTIFIER)</string>
<key>UILaunchScreen</key>
<dict>
<key>UIColorName</key>
Expand Down
4 changes: 2 additions & 2 deletions SwiftLeeds/App/SwiftLeedsApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import SwiftUI
@main
struct SwiftLeedsApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate

@StateObject private var appState = AppState()
@StateObject private var themeManager = ThemeManager.shared

Expand All @@ -20,7 +20,7 @@ struct SwiftLeedsApp: App {

// MARK: - AppDelegate
final class AppDelegate: NSObject, UIApplicationDelegate {
static let pushURL: String = "https://www.swiftleeds.co.uk/push"
static var pushURL: String { ConferenceConfig.pushURL }

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
URLCache.shared.diskCapacity = 100_000_000
Expand Down
2 changes: 1 addition & 1 deletion SwiftLeeds/Data/Model/Sponsor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ struct Job: Decodable, Hashable, Identifiable {
let location: String
let url: String

static let sample = Job(id: UUID(), title: "Senior iOS Engineer", details: "Bringing all your Swift skills to the fore", location: "Leeds", url: "https://www.swiftleeds.co.uk")
static let sample = Job(id: UUID(), title: "Senior iOS Engineer", details: "Bringing all your Swift skills to the fore", location: "Leeds", url: "https://example.com")
}
4 changes: 2 additions & 2 deletions SwiftLeeds/Data/Model/TeamMember.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ struct TeamMember: Codable, Identifiable {
twitterURL = try container.decodeIfPresent(String.self, forKey: .twitterURL)
slackURL = try container.decodeIfPresent(String.self, forKey: .slackURL)

if let imageURL = try container.decodeIfPresent(String.self, forKey: .photoURL) {
photoURL = imageURL.hasPrefix("/") ? "https://swiftleeds.co.uk\(imageURL)" : imageURL
if let imageURL = try? container.decodeIfPresent(String.self, forKey: .photoURL) {
photoURL = imageURL.hasPrefix("/") ? "https://\(ConferenceConfig.apiHost)\(imageURL)" : imageURL
} else {
photoURL = nil
}
Expand Down
17 changes: 17 additions & 0 deletions SwiftLeeds/KotlinLeeds.entitlements
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>appclips:kotlinleeds.co.uk</string>
<string>applinks:kotlinleeds.co.uk</string>
</array>
<key>com.apple.security.application-groups</key>
<array>
<string>group.uk.co.kotlinleeds</string>
</array>
</dict>
</plist>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"images" : [
{
"filename" : "1024.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"images" : [
{
"filename" : "1024 1.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "AppIcon 1.png",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "Frame 110.png",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "Frame 139.png",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "CarriageworksTheatre.jpg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Clock.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"images" : [
{
"filename" : "Icon.pdf",
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "Icon-Dark.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
Binary file not shown.
Binary file not shown.
Loading
Loading