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
|
||||
.DS_Store
|
||||
|
||||
# AI-generated assets
|
||||
Raw_Assets/
|
||||
Ready_Assets/
|
||||
|
||||
# ML Training Data
|
||||
IYmtg_Training/
|
||||
|
||||
@@ -22,9 +22,13 @@ enum CurrencyCode: String, CaseIterable, Codable {
|
||||
struct AppConfig {
|
||||
// 1. CONTACT EMAIL (Required by Scryfall)
|
||||
static let contactEmail = "support@iymtg.com" // Example: Use your real email
|
||||
|
||||
|
||||
// 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
|
||||
|
||||
// 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
|
||||
static let enableFoilDetection = true
|
||||
@@ -53,7 +57,7 @@ struct AppConfig {
|
||||
}
|
||||
|
||||
static var scryfallUserAgent: String {
|
||||
return "IYmtg/1.0 (\(contactEmail))"
|
||||
return "IYmtg/\(appVersion) (\(contactEmail))"
|
||||
}
|
||||
|
||||
static func validate() {
|
||||
|
||||
@@ -302,6 +302,7 @@ Perform these steps before submitting to the App Store.
|
||||
* [ ] Verify `contactEmail` is valid.
|
||||
* [ ] Verify `tipJarProductIDs` match App Store Connect.
|
||||
* [ ] Ensure `enableFoilDetection` and other flags are `true`.
|
||||
* [ ] Update `appVersion` (Semantic Versioning: Major.Minor.Patch) and `buildNumber` for this release.
|
||||
2. **iCloud / CloudKit:**
|
||||
* [ ] Signing & Capabilities → iCloud → CloudKit enabled.
|
||||
* [ ] CloudKit container added: `iCloud.<bundle-id>`.
|
||||
|
||||
Reference in New Issue
Block a user