Xcode project setup (#1)

This PR contains the work done to setup the *Xcode* project, with its `.gitignore` and `.swift-format` files.

Reviewed-on: rock-n-code/loud-amsterdam#1
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit is contained in:
2026-06-26 21:08:28 +00:00
committed by javier
parent e3e278dacb
commit a15271772e
3 changed files with 142 additions and 1 deletions
+54
View File
@@ -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
+65
View File
@@ -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
}
}
+23 -1
View File
@@ -6,10 +6,31 @@
objectVersion = 110;
objects = {
/* Begin PBXFileSystemSynchronizedRootGroup section */
02B32DD62FEEC5A700DA6788 /* Apps */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = Apps;
sourceTree = "<group>";
};
02B32DD72FEEC5AE00DA6788 /* Services */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = Services;
sourceTree = "<group>";
};
02B32DD82FEEC5B400DA6788 /* Packages */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = Packages;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXGroup section */
02642FD02FEEB9A5007FA466 = {
isa = PBXGroup;
children = (
02B32DD82FEEC5B400DA6788 /* Packages */,
02B32DD72FEEC5AE00DA6788 /* Services */,
02B32DD62FEEC5A700DA6788 /* Apps */,
);
sourceTree = "<group>";
};
@@ -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 = (