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
29 changes: 10 additions & 19 deletions swift-paperless.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,13 @@
7A4D58892D13568900FCB1F1 /* DataModel in Frameworks */ = {isa = PBXBuildFile; productRef = 7A4D58882D13568900FCB1F1 /* DataModel */; };
7A4D588B2D13569500FCB1F1 /* DataModel in Frameworks */ = {isa = PBXBuildFile; productRef = 7A4D588A2D13569500FCB1F1 /* DataModel */; };
7A4D588D2D13569A00FCB1F1 /* DataModel in Frameworks */ = {isa = PBXBuildFile; productRef = 7A4D588C2D13569A00FCB1F1 /* DataModel */; };
7A59C91B2F143239002EC151 /* Common in Frameworks */ = {isa = PBXBuildFile; productRef = 7A59C91A2F143239002EC151 /* Common */; };
7A59C91D2F143239002EC151 /* Networking in Frameworks */ = {isa = PBXBuildFile; productRef = 7A59C91C2F143239002EC151 /* Networking */; };
7A5C138A29AA7E2F00D71F51 /* Semaphore in Frameworks */ = {isa = PBXBuildFile; productRef = 7A5C138929AA7E2F00D71F51 /* Semaphore */; };
7A64771C2BDD50D200217C18 /* libraries.md in Resources */ = {isa = PBXBuildFile; fileRef = 7A64771B2BDD50D200217C18 /* libraries.md */; };
7A68F0B329B4B94B00878223 /* Flow in Frameworks */ = {isa = PBXBuildFile; productRef = 7A68F0B229B4B94B00878223 /* Flow */; };
7A6AA3452C1EDEBE007A1866 /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = 7A6AA3442C1EDEBE007A1866 /* MarkdownUI */; };
7A6DA7002D7DD3E900B3B185 /* Networking in Frameworks */ = {isa = PBXBuildFile; productRef = 7A6DA6FF2D7DD3E900B3B185 /* Networking */; };
7A6DA7022D7DD3F000B3B185 /* Networking in Frameworks */ = {isa = PBXBuildFile; productRef = 7A6DA7012D7DD3F000B3B185 /* Networking */; };
7A94EF072F1ECE05005DA431 /* Testing.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 7A94EF062F1ECE05005DA431 /* Testing.storekit */; };
7AAC43182CA06F8D003E6A3A /* AsyncAlgorithms in Frameworks */ = {isa = PBXBuildFile; productRef = 7AAC43172CA06F8D003E6A3A /* AsyncAlgorithms */; };
7AAC44542CA0A37D003E6A3A /* Common in Frameworks */ = {isa = PBXBuildFile; productRef = 7AAC44532CA0A37D003E6A3A /* Common */; };
7AAC44562CA0A38B003E6A3A /* Common in Frameworks */ = {isa = PBXBuildFile; productRef = 7AAC44552CA0A38B003E6A3A /* Common */; };
Expand All @@ -40,6 +39,8 @@
7AC40D402D134ED1003F68B1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7AC40C9A2D134ED1003F68B1 /* Assets.xcassets */; };
7AC40D422D134ED1003F68B1 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7AC40CA72D134ED1003F68B1 /* PrivacyInfo.xcprivacy */; };
7AC40DBE2D134ED1003F68B1 /* swift_paperlessApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC40CA92D134ED1003F68B1 /* swift_paperlessApp.swift */; };
7AEAC2422F1FF4C2004B9D44 /* Swift Paperless.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 7AEAC2412F1FF4C2004B9D44 /* Swift Paperless.storekit */; };
7AEAC2432F1FF4C2004B9D44 /* Swift Paperless.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 7AEAC2412F1FF4C2004B9D44 /* Swift Paperless.storekit */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -81,13 +82,15 @@
7A5482C6299AD56E00D5061E /* swift-paperlessUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "swift-paperlessUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
7A64771B2BDD50D200217C18 /* libraries.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = libraries.md; path = docs/libraries.md; sourceTree = "<group>"; };
7A6DA7212D7DD42100B3B185 /* Networking */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Networking; sourceTree = "<group>"; };
7A94EF062F1ECE05005DA431 /* Testing.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Testing.storekit; sourceTree = "<group>"; };
7AAC44512CA0A31E003E6A3A /* Common */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Common; sourceTree = "<group>"; };
7ABA3B872E6F3F53006BB39B /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIcon.icon; sourceTree = "<group>"; };
7AC40C9A2D134ED1003F68B1 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
7AC40CA42D134ED1003F68B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7AC40CA72D134ED1003F68B1 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
7AC40CA82D134ED1003F68B1 /* swift_paperless.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = swift_paperless.entitlements; sourceTree = "<group>"; };
7AC40CA92D134ED1003F68B1 /* swift_paperlessApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = swift_paperlessApp.swift; sourceTree = "<group>"; };
7AEAC2412F1FF4C2004B9D44 /* Swift Paperless.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Swift Paperless.storekit"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
Expand Down Expand Up @@ -284,15 +287,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
7A59BDFE2F129272002EC151 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7A59C91D2F143239002EC151 /* Networking in Frameworks */,
7A59C91B2F143239002EC151 /* Common in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
Expand Down Expand Up @@ -347,6 +341,8 @@
7AC40CA72D134ED1003F68B1 /* PrivacyInfo.xcprivacy */,
7AC40CA82D134ED1003F68B1 /* swift_paperless.entitlements */,
7AC40CA92D134ED1003F68B1 /* swift_paperlessApp.swift */,
7A94EF062F1ECE05005DA431 /* Testing.storekit */,
7AEAC2412F1FF4C2004B9D44 /* Swift Paperless.storekit */,
);
path = "swift-paperless";
sourceTree = "<group>";
Expand Down Expand Up @@ -553,6 +549,7 @@
7AC40CB62D134ED1003F68B1 /* Assets.xcassets in Resources */,
7ABA3B892E6F3F53006BB39B /* AppIcon.icon in Resources */,
7AC40CB82D134ED1003F68B1 /* PrivacyInfo.xcprivacy in Resources */,
7AEAC2432F1FF4C2004B9D44 /* Swift Paperless.storekit in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -561,6 +558,8 @@
buildActionMask = 2147483647;
files = (
7AC40D402D134ED1003F68B1 /* Assets.xcassets in Resources */,
7AEAC2422F1FF4C2004B9D44 /* Swift Paperless.storekit in Resources */,
7A94EF072F1ECE05005DA431 /* Testing.storekit in Resources */,
7AC40D422D134ED1003F68B1 /* PrivacyInfo.xcprivacy in Resources */,
7A64771C2BDD50D200217C18 /* libraries.md in Resources */,
7ABA3B882E6F3F53006BB39B /* AppIcon.icon in Resources */,
Expand Down Expand Up @@ -1251,14 +1250,6 @@
isa = XCSwiftPackageProductDependency;
productName = DataModel;
};
7A59C91A2F143239002EC151 /* Common */ = {
isa = XCSwiftPackageProductDependency;
productName = Common;
};
7A59C91C2F143239002EC151 /* Networking */ = {
isa = XCSwiftPackageProductDependency;
productName = Networking;
};
7A5C138929AA7E2F00D71F51 /* Semaphore */ = {
isa = XCSwiftPackageProductDependency;
package = 7A5C138829AA7E2F00D71F51 /* XCRemoteSwiftPackageReference "Semaphore" */;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<StoreKitConfigurationFileReference
identifier = "../../swift-paperless/Testing.storekit">
</StoreKitConfigurationFileReference>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
155 changes: 155 additions & 0 deletions swift-paperless/Localization/Settings.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -2603,6 +2603,161 @@
}
}
},
"tipJarDescription" : {
"comment" : "Tip jar description text",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Support development with a **one-time tip**! Tips are **optional** and don’t unlock extra features."
}
}
}
},
"tipJarLoadError" : {
"comment" : "Tip jar load error message",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Couldn’t load tips right now. Please try again later."
}
}
}
},
"tipJarLoading" : {
"comment" : "Tip jar loading state label",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Loading tip options…"
}
}
}
},
"tipJarNoProducts" : {
"comment" : "Tip jar no products label",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "No tip options are available yet."
}
}
}
},
"tipJarOptionsTitle" : {
"comment" : "Tip jar section title",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Choose a tip"
}
}
}
},
"tipJarPendingMessage" : {
"comment" : "Tip jar pending purchase message",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Your tip is pending approval from the App Store."
}
}
}
},
"tipJarPendingTitle" : {
"comment" : "Tip jar pending purchase title",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Purchase Pending"
}
}
}
},
"tipJarPurchaseErrorMessage" : {
"comment" : "Tip jar purchase error message",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "The purchase didn’t go through. Please try again later."
}
}
}
},
"tipJarPurchaseErrorTitle" : {
"comment" : "Tip jar purchase error title",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Purchase Failed"
}
}
}
},
"tipJarThanksMessage" : {
"comment" : "Tip jar thank you message",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Thanks for supporting Swift Paperless!"
}
}
}
},
"tipJarThanksTitle" : {
"comment" : "Tip jar thank you title",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Thank You! ❤️"
}
}
}
},
"tipJarTipsLabel" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tips!"
}
}
}
},
"tipJarTitle" : {
"comment" : "Tip jar navigation title",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tip Jar"
}
}
}
},
"title" : {
"comment" : "Details menu",
"extractionState" : "manual",
Expand Down
102 changes: 102 additions & 0 deletions swift-paperless/Swift Paperless.storekit
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"appPolicies" : {
"eula" : "",
"policies" : [
{
"locale" : "en_US",
"policyText" : "",
"policyURL" : ""
}
]
},
"identifier" : "FEE3F56F",
"nonRenewingSubscriptions" : [

],
"products" : [
{
"displayPrice" : "44.99",
"familyShareable" : false,
"internalID" : "6758055909",
"localizations" : [
{
"description" : "I may tell stories about you",
"displayName" : "Legendary generosity",
"locale" : "en_US"
}
],
"productID" : "tip_xlarge",
"referenceName" : "Extra Large Tip",
"type" : "Consumable"
},
{
"displayPrice" : "17.99",
"familyShareable" : false,
"internalID" : "6758055862",
"localizations" : [
{
"description" : "You’re officially making my day",
"displayName" : "Above and beyond",
"locale" : "en_US"
}
],
"productID" : "tip_large",
"referenceName" : "Large Tip",
"type" : "Consumable"
},
{
"displayPrice" : "8.99",
"familyShareable" : false,
"internalID" : "6758055854",
"localizations" : [
{
"description" : "This genuinely means a lot",
"displayName" : "Proper thank-you",
"locale" : "en_US"
}
],
"productID" : "tip_medium",
"referenceName" : "Medium Tip",
"type" : "Consumable"
},
{
"displayPrice" : "3.99",
"familyShareable" : false,
"internalID" : "6758055849",
"localizations" : [
{
"description" : "Keeps me pleasantly caffeinated",
"displayName" : "Coffee money",
"locale" : "en_US"
}
],
"productID" : "tip_small",
"referenceName" : "Small Tip",
"type" : "Consumable"
}
],
"settings" : {
"_applicationInternalID" : "6448698521",
"_askToBuyEnabled" : false,
"_billingGracePeriodEnabled" : false,
"_billingIssuesEnabled" : false,
"_developerTeamID" : "ZHKJ4NHK6F",
"_disableDialogs" : false,
"_failTransactionsEnabled" : false,
"_lastSynchronizedDate" : 790623950.95388198,
"_locale" : "en_US",
"_renewalBillingIssuesEnabled" : false,
"_storefront" : "USA",
"_storeKitErrors" : [

],
"_timeRate" : 0
},
"subscriptionGroups" : [

],
"version" : {
"major" : 4,
"minor" : 0
}
}
Loading
Loading