From a15271772e8c5379c4b68587814ce97fcfd216f7 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Fri, 26 Jun 2026 21:08:28 +0000 Subject: [PATCH] Xcode project setup (#1) This PR contains the work done to setup the *Xcode* project, with its `.gitignore` and `.swift-format` files. Reviewed-on: https://repo.rock-n-code.com/rock-n-code/loud-amsterdam/pulls/1 Co-authored-by: Javier Cicchelli Co-committed-by: Javier Cicchelli --- .gitignore | 54 ++++++++++++++++++++++++++++ .swift-format | 65 ++++++++++++++++++++++++++++++++++ Loud.xcodeproj/project.pbxproj | 24 ++++++++++++- 3 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .swift-format diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a05440 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# macOS +.DS_Store +.AppleDouble +.LSOverride +Icon +._* + +# Xcode +## User settings +xcuserdata/ + +## Build generated +build/ +DerivedData/ + +## Various settings +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Other +*.moved-aside +*.hmap +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +## Build output and resolved dependency checkouts +.build/ +## SwiftPM's local registry config and per-user Xcode data (schemes live in +## xcuserdata, already ignored above). Shared .swiftpm metadata is committed. +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata + +# NOTE: `Packages/` is intentionally NOT ignored — it holds this repo's local +# Swift packages (source), not checked-out dependencies. +# NOTE: `Package.resolved` is intentionally NOT ignored — committing it locks +# dependency versions across the team and CI. + +# Fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output \ No newline at end of file diff --git a/.swift-format b/.swift-format new file mode 100644 index 0000000..f015b36 --- /dev/null +++ b/.swift-format @@ -0,0 +1,65 @@ +{ + "version": 1, + "lineLength": 200, + "indentation": { + "spaces": 4 + }, + "tabWidth": 4, + "maximumBlankLines": 1, + "respectsExistingLineBreaks": true, + "lineBreakBeforeControlFlowKeywords": true, + "lineBreakBeforeEachArgument": true, + "lineBreakBeforeEachGenericRequirement": true, + "lineBreakBetweenDeclarationAttributes": true, + "prioritizeKeepingFunctionOutputTogether": false, + "indentConditionalCompilationBlocks": true, + "indentSwitchCaseLabels": false, + "lineBreakAroundMultilineExpressionChainComponents": false, + "spacesAroundRangeFormationOperators": true, + "multiElementCollectionTrailingCommas": true, + "fileScopedDeclarationPrivacy": { + "accessLevel": "private" + }, + "noAssignmentInExpressions": { + "allowedFunctions": [ + "XCTAssertNoThrow" + ] + }, + "rules": { + "AllPublicDeclarationsHaveDocumentation": false, + "AlwaysUseLowerCamelCase": true, + "AmbiguousTrailingClosureOverload": true, + "BeginDocumentationCommentWithOneLineSummary": true, + "DoNotUseSemicolons": true, + "DontRepeatTypeInStaticProperties": true, + "FileScopedDeclarationPrivacy": true, + "FullyIndirectEnum": true, + "GroupNumericLiterals": true, + "IdentifiersMustBeASCII": true, + "NeverForceUnwrap": true, + "NeverUseForceTry": true, + "NeverUseImplicitlyUnwrappedOptionals": true, + "NoAccessLevelOnExtensionDeclaration": true, + "NoAssignmentInExpressions": true, + "NoBlockComments": true, + "NoCasesWithOnlyFallthrough": true, + "NoEmptyTrailingClosureParentheses": true, + "NoLabelsInCasePatterns": true, + "NoLeadingUnderscores": false, + "NoParensAroundConditions": true, + "NoVoidReturnOnFunctionSignature": true, + "OneCasePerLine": true, + "OneVariableDeclarationPerLine": true, + "OnlyOneTrailingClosureArgument": true, + "OrderedImports": true, + "ReturnVoidInsteadOfEmptyTuple": true, + "UseEarlyExits": true, + "UseLetInEveryBoundCaseVariable": true, + "UseShorthandTypeNames": true, + "UseSingleLinePropertyGetter": true, + "UseSynthesizedInitializer": true, + "UseTripleSlashForDocumentationComments": true, + "UseWhereClausesInForLoops": false, + "ValidateDocumentationComments": false + } +} diff --git a/Loud.xcodeproj/project.pbxproj b/Loud.xcodeproj/project.pbxproj index 727bc00..9b48f17 100644 --- a/Loud.xcodeproj/project.pbxproj +++ b/Loud.xcodeproj/project.pbxproj @@ -6,10 +6,31 @@ objectVersion = 110; objects = { +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 02B32DD62FEEC5A700DA6788 /* Apps */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Apps; + sourceTree = ""; + }; + 02B32DD72FEEC5AE00DA6788 /* Services */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Services; + sourceTree = ""; + }; + 02B32DD82FEEC5B400DA6788 /* Packages */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Packages; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXGroup section */ 02642FD02FEEB9A5007FA466 = { isa = PBXGroup; children = ( + 02B32DD82FEEC5B400DA6788 /* Packages */, + 02B32DD72FEEC5AE00DA6788 /* Services */, + 02B32DD62FEEC5A700DA6788 /* Apps */, ); sourceTree = ""; }; @@ -21,6 +42,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastUpgradeCheck = 2700; + ORGANIZATIONNAME = "Röck+Cöde VoF"; }; buildConfigurationList = 02642FD42FEEB9A5007FA466 /* Build configuration list for PBXProject "Loud" */; developmentRegion = en; @@ -31,7 +53,7 @@ ); mainGroup = 02642FD02FEEB9A5007FA466; minimizedProjectReferenceProxies = 1; - preferredProjectObjectVersion = 77; + preferredProjectObjectVersion = 110; projectDirPath = ""; projectRoot = ""; targets = (