feat: Implement app versioning and update gitignore
- Adds appVersion and buildNumber to AppConfig.swift for centralized version management. - Updates scryfallUserAgent to use the dynamic appVersion. - Updates .gitignore to exclude AI asset and training directories. - Adds a version check step to the README release checklist. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -27,3 +27,10 @@ env/
|
|||||||
|
|
||||||
# Mac-specific
|
# Mac-specific
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# AI-generated assets
|
||||||
|
Raw_Assets/
|
||||||
|
Ready_Assets/
|
||||||
|
|
||||||
|
# ML Training Data
|
||||||
|
IYmtg_Training/
|
||||||
|
|||||||
@@ -26,6 +26,10 @@ struct AppConfig {
|
|||||||
// 2. IN-APP PURCHASE ID (Use a "Consumable" type in App Store Connect for repeatable tips)
|
// 2. IN-APP PURCHASE ID (Use a "Consumable" type in App Store Connect for repeatable tips)
|
||||||
static let tipJarProductIDs: [String] = [] // Example: Use your real Product ID
|
static let tipJarProductIDs: [String] = [] // Example: Use your real Product ID
|
||||||
|
|
||||||
|
// 3. VERSIONING
|
||||||
|
static let appVersion = "1.0.0" // Follows Semantic Versioning (Major.Minor.Patch)
|
||||||
|
static let buildNumber = "1" // Increments with each build submitted to App Store Connect
|
||||||
|
|
||||||
// Feature Flags
|
// Feature Flags
|
||||||
static let enableFoilDetection = true
|
static let enableFoilDetection = true
|
||||||
static let enableConditionGrading = true
|
static let enableConditionGrading = true
|
||||||
@@ -53,7 +57,7 @@ struct AppConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static var scryfallUserAgent: String {
|
static var scryfallUserAgent: String {
|
||||||
return "IYmtg/1.0 (\(contactEmail))"
|
return "IYmtg/\(appVersion) (\(contactEmail))"
|
||||||
}
|
}
|
||||||
|
|
||||||
static func validate() {
|
static func validate() {
|
||||||
|
|||||||
@@ -302,6 +302,7 @@ Perform these steps before submitting to the App Store.
|
|||||||
* [ ] Verify `contactEmail` is valid.
|
* [ ] Verify `contactEmail` is valid.
|
||||||
* [ ] Verify `tipJarProductIDs` match App Store Connect.
|
* [ ] Verify `tipJarProductIDs` match App Store Connect.
|
||||||
* [ ] Ensure `enableFoilDetection` and other flags are `true`.
|
* [ ] Ensure `enableFoilDetection` and other flags are `true`.
|
||||||
|
* [ ] Update `appVersion` (Semantic Versioning: Major.Minor.Patch) and `buildNumber` for this release.
|
||||||
2. **iCloud / CloudKit:**
|
2. **iCloud / CloudKit:**
|
||||||
* [ ] Signing & Capabilities → iCloud → CloudKit enabled.
|
* [ ] Signing & Capabilities → iCloud → CloudKit enabled.
|
||||||
* [ ] CloudKit container added: `iCloud.<bundle-id>`.
|
* [ ] CloudKit container added: `iCloud.<bundle-id>`.
|
||||||
|
|||||||
Reference in New Issue
Block a user