Compare commits

...

63 Commits

Author SHA1 Message Date
Arthur Ariel Sabintsev 6bd43afc0c Updated podspec 2019-10-06 21:19:06 -04:00
Arthur Ariel Sabintsev be49cd82ff Moved alertAction logic to happen after cleanup, which hopefully solves the iOS 13 multiple alert layering issue 2019-10-06 21:18:45 -04:00
Arthur Ariel Sabintsev 06994a9408 Update README.md 2019-10-03 09:29:13 -04:00
Arthur Ariel Sabintsev dc787a23d7 Update ISSUE_TEMPLATE.md 2019-09-18 16:15:00 -04:00
Arthur Ariel Sabintsev a1d30353df Removed misplaced generic call 2019-09-15 07:51:46 -04:00
Arthur Ariel Sabintsev b19712d8da Update README.md 2019-09-15 00:48:11 -04:00
Arthur Ariel Sabintsev 245fec5abc Merge branch 'master' of https://github.com/ArtSabintsev/Siren 2019-09-15 00:37:28 -04:00
Arthur Ariel Sabintsev 34683f71fb Updated docs 2019-09-15 00:37:23 -04:00
Arthur Ariel Sabintsev 251c186ff3 Update README.md 2019-09-15 00:17:35 -04:00
Arthur Ariel Sabintsev 5b18c1606c Update README.md 2019-09-15 00:11:50 -04:00
Arthur Ariel Sabintsev e1257d9eb6 Updated gem lockfile 2019-09-15 00:02:20 -04:00
Arthur Ariel Sabintsev 516e368e82 Updated docs 2019-09-14 23:51:28 -04:00
Arthur Ariel Sabintsev de01c00d2e Update README.md 2019-09-14 23:48:01 -04:00
Arthur Ariel Sabintsev eb278bc030 Update README.md 2019-09-14 23:47:31 -04:00
Arthur Ariel Sabintsev 367092af09 Xcode 11 / iOS 13 / Swift 5.1 Support (#306)
* Updated package.swift

* Added support for UIScene notifications

* Updated Package.swift

* Updated travis yml for forthcoming xcode11

* Fixed up notifications

* More consolidation of methods

* Updated podspec
2019-09-14 23:43:19 -04:00
Arthur Ariel Sabintsev ef6d9ffa42 Updated package.swift 2019-09-08 10:20:14 -04:00
Arthur Ariel Sabintsev 3375ae2552 Updated podspec 2019-09-02 21:18:03 -04:00
Arthur Ariel Sabintsev 234d558b31 Fixed romanian localization 2019-09-02 21:17:48 -04:00
Arthur Ariel Sabintsev 3ff9fff4c4 Changed smaple project 2019-08-29 08:27:01 -04:00
Arthur Ariel Sabintsev 7b2f451643 Added Romanian language localization. Closes #302. 2019-08-29 08:26:28 -04:00
Arthur Ariel Sabintsev eee3edc923 Update README.md 2019-08-20 20:46:19 -04:00
Arthur Ariel Sabintsev d59fbf6e5f Updated Jazzy Docs 2019-08-17 20:19:18 -04:00
Stavros Schizas f042d70762 Fix misspell words (#301) 2019-08-17 20:18:00 -04:00
Arthur Ariel Sabintsev a034d842de Updated podspec 2019-08-07 21:45:37 -04:00
Arthur Ariel Sabintsev 7470bcd720 Updated Gemfiles 2019-08-07 21:22:00 -04:00
Arthur Ariel Sabintsev 47b0b5381e Updated Package.swift 2019-08-07 21:20:29 -04:00
Arthur Ariel Sabintsev 5ef05950ed Update README.md 2019-07-02 21:32:39 -04:00
Arthur Ariel Sabintsev 84e728d65c Simplified docs to only show public API 2019-07-02 21:24:42 -04:00
Arthur Ariel Sabintsev dcfe7df5ea Removed @objcMembers. 2019-06-26 07:18:11 -04:00
Arthur Ariel Sabintsev a759b4b947 Siren.swift is now visible to Objective-C 2019-06-04 22:04:43 -04:00
Arthur Ariel Sabintsev 5f70d96b2c Updated Gemfile 2019-05-29 21:44:47 -04:00
Arthur Ariel Sabintsev f9bc4dfb4f Update Gemfile 2019-05-14 22:13:52 -04:00
Arthur Ariel Sabintsev 6947b485a5 Updated posepc 2019-05-14 21:29:11 -04:00
Arthur Ariel Sabintsev cb1febdaf3 Fixed same version bug found in #288 (#289)
* Fixed bug found in #288

* Adds throwable function to handle same version error

* Updates docs
2019-05-14 21:28:44 -04:00
Arthur Ariel Sabintsev 2284e63c36 Updated docs 2019-04-24 16:25:18 -04:00
Arthur Ariel Sabintsev af16cbbe20 Update .travis.yml 2019-04-22 16:34:48 -04:00
Arthur Ariel Sabintsev 38f6d9d1b5 Update .travis.yml 2019-04-22 16:10:50 -04:00
Arthur Ariel Sabintsev f9abb391d0 Update README.md 2019-04-19 08:22:51 -04:00
Arthur Ariel Sabintsev a22230707a Update travis.yml file 2019-04-16 21:32:52 -04:00
Arthur Ariel Sabintsev fc155c83d5 Updated podspec 2019-04-16 21:26:14 -04:00
Arthur Ariel Sabintsev 298155897f Updated podspec and docs 2019-04-16 21:23:59 -04:00
Arthur Ariel Sabintsev c9fb91a3ed Update DateExtension to remove whitespaces 2019-04-16 21:20:30 -04:00
Niklas Fahl 07aa46fd1d Fixed issue with date offset calculations due to time zone (#284)
* - added time zone to date formatter for correct date offset calculations

* - added default parameters to days since function

* - naming change in days since function removing Siren specific naming in an extension for Foundation class

* - added documentation for days since function due to parameter changes in function signature

* - back to old function signature
2019-04-16 21:16:43 -04:00
Arthur Ariel Sabintsev 448657eefe Updated lockfile 2019-04-05 11:53:07 -04:00
Arthur Ariel Sabintsev 195de7391e Merge branch 'master' of https://github.com/ArtSabintsev/Siren 2019-04-05 11:49:15 -04:00
Arthur Ariel Sabintsev 4b88e28a99 Travis.yml updates 2019-04-05 11:49:11 -04:00
Cihat Gündüz a420119765 Update SwiftPM manifest file (#281)
* Update SwiftPM manifest file

* [README] Add 'Accio supported' badge
2019-04-02 23:29:59 -04:00
Arthur Ariel Sabintsev 1e759f197b Update README.md 2019-03-30 22:04:08 -04:00
Arthur Ariel Sabintsev 93113a4f2e Update README.md 2019-03-30 22:03:14 -04:00
Arthur Ariel Sabintsev c7df74e190 Fixed info.plist issues 2019-03-29 23:18:45 -04:00
Arthur Ariel Sabintsev 2591c0b3d4 Updated podspec 2019-03-27 23:42:46 -04:00
Arthur Ariel Sabintsev e669f8f5c0 Updated ruby version and gems 2019-03-27 23:41:29 -04:00
Arthur Ariel Sabintsev 77caddd434 Updated Gemfile.lock 2019-03-27 23:17:43 -04:00
Arthur Ariel Sabintsev 8a0c03627c Updated Siren.podspec 2019-03-27 23:17:19 -04:00
Arthur Ariel Sabintsev c8519ea5be Updated readme 2019-03-27 23:16:55 -04:00
Arthur Ariel Sabintsev 5d8f4800e1 Updated README.md 2019-03-27 23:15:47 -04:00
Arthur Ariel Sabintsev 2a4e5ceda3 Swift 5 Implementation and Architecture Changes (#279)
* Compatible with Swift5

* Update button now appears on the right side in .option messages

* Renamed LookupModel to APIModel and made it internal. Created a new Model class that is exposed publicly

* Implemented Result type from Swift5

* Updated docs

* Future proofing travis-ci for when 10.2 is supported
2019-03-27 23:13:06 -04:00
Arthur Ariel Sabintsev a3c7cfa26d Updated imports 2019-03-10 23:42:11 -04:00
Arthur Ariel Sabintsev 8477f5fbe6 Updated podspec 2019-03-10 23:40:40 -04:00
Arthur Ariel Sabintsev 3c036ce559 A couple more import fixes 2019-03-10 23:40:17 -04:00
Thi 212e68969a Fix missing imports (#273) 2019-03-10 23:37:39 -04:00
Arthur Ariel Sabintsev 56a834ee41 Reverted default uncommented example 2019-02-09 22:52:04 -05:00
Arthur Ariel Sabintsev df6174ba06 Simplified oberver methods 2019-02-09 22:50:34 -05:00
131 changed files with 8202 additions and 6314 deletions
+5 -5
View File
@@ -1,4 +1,4 @@
# If you're experiencing a problem integrating Siren into your app, please provide the following information when posting a new issue:
## If you're experiencing a problem integrating Siren into your app, please provide the following information when posting a new issue:
- **Are you using the [latest version](https://github.com/ArtSabintsev/Siren/releases) of Siren?**:
- **What is your app's Bundle ID?**:
@@ -8,19 +8,19 @@
---
# Before posting an issue, please make sure your issue has not already been resolved or answered elsewhere.
## Before posting an issue, please make sure your issue has not already been resolved or answered elsewhere.
## Common Issue #1:
### Common Issue #1:
>"Error retrieving iOS version number as there was no data returned."
Check if your app is available in the US App Store, otherwise add the corresponding country code when setting up Siren.
## Common Issue #2:
### Common Issue #2:
> "Support for macOS App Store."
Siren does not and will not support the macOS App Store.
## Common Issue #3:
### Common Issue #3:
> "Support for prompting TestFlight users to update to the newest beta build."
Siren does not support this functionality. There is no publicly accessible TestFlight API akin to that of the public App Store API that Siren can utilize to provide this functionality.
+1
View File
@@ -0,0 +1 @@
ruby-2.6.0
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
+7 -4
View File
@@ -1,10 +1,13 @@
language: objective-c
osx_image: xcode10
language: swift
osx_image: xcode11
notifications:
email: false
before_install:
- brew update
- gem install bundler
env:
- LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8
script:
- set -o pipefail
- xcodebuild -project Example/Example.xcodeproj -scheme Example -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO | xcpretty -c
- xcodebuild -project Example/Example.xcodeproj -scheme Example -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
+313 -268
View File
@@ -7,34 +7,34 @@
objects = {
/* Begin PBXBuildFile section */
4D729C4421A20EDC002F73AB /* Siren.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 55EC365E1E6BB99B00726F13 /* Siren.bundle */; };
4D729C4621A213B4002F73AB /* Rules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D729C4521A213B4002F73AB /* Rules.swift */; };
55EC364B1E6BB98A00726F13 /* Siren.h in Headers */ = {isa = PBXBuildFile; fileRef = 55EC36491E6BB98A00726F13 /* Siren.h */; settings = {ATTRIBUTES = (Public, ); }; };
55EC36601E6BB99B00726F13 /* Siren.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 55EC365E1E6BB99B00726F13 /* Siren.bundle */; };
55EC36611E6BB99B00726F13 /* Siren.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55EC365F1E6BB99B00726F13 /* Siren.swift */; };
8E01817921B379AF006DED05 /* Results.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E01817821B379AF006DED05 /* Results.swift */; };
8E01817E21B379DD006DED05 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E01817B21B379DD006DED05 /* PresentationManager.swift */; };
8E01818021B379DD006DED05 /* RulesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E01817D21B379DD006DED05 /* RulesManager.swift */; };
8E01818221B37B43006DED05 /* AlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E01818121B37B43006DED05 /* AlertAction.swift */; };
8E065BA122054E5A00188D4E /* PerformCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E065BA022054E5A00188D4E /* PerformCheck.swift */; };
8E1635A91E6A0B9C0060CE27 /* SirenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE6C74C1E6A0AE100DBE454 /* SirenTests.swift */; };
8E171DDE215B26B4006FBBCC /* BundleExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DD1215B26B4006FBBCC /* BundleExtension.swift */; };
8E171DDF215B26B4006FBBCC /* DateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DD2215B26B4006FBBCC /* DateExtension.swift */; };
8E171DE2215B26B4006FBBCC /* LookupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DD7215B26B4006FBBCC /* LookupModel.swift */; };
8E171DE3215B26B4006FBBCC /* UIAlertControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DD8215B26B4006FBBCC /* UIAlertControllerExtension.swift */; };
8E171DE4215B26B4006FBBCC /* SirenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DDA215B26B4006FBBCC /* SirenViewController.swift */; };
8E171DE6215B2701006FBBCC /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DE5215B2701006FBBCC /* Localization.swift */; };
8E171DEE215B2D09006FBBCC /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E171DED215B2D09006FBBCC /* UserDefaultsExtension.swift */; };
8E5061EB21C9CDF000A28DE0 /* AlertConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E5061EA21C9CDF000A28DE0 /* AlertConstants.swift */; };
8E641D2520C8B44B00908555 /* Siren.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55EC36471E6BB98A00726F13 /* Siren.framework */; };
8EACA9711F380294003134CA /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8EACA9671F37F2D3003134CA /* LaunchScreen.xib */; };
8EACA9721F380294003134CA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8EACA9691F37F2D3003134CA /* Main.storyboard */; };
8EACA9731F380294003134CA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8EACA96B1F37F2D3003134CA /* Images.xcassets */; };
8EACA9741F38029B003134CA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EACA9661F37F2D3003134CA /* AppDelegate.swift */; };
8EACA9751F38029B003134CA /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EACA96D1F37F2D3003134CA /* ViewController.swift */; };
8EE1FAF321B4DC0F009112A8 /* KnownError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE1FAF221B4DC0F009112A8 /* KnownError.swift */; };
8EE1FAF521B4E6B8009112A8 /* APIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE1FAF421B4E6B8009112A8 /* APIManager.swift */; };
8EEF4AB121AA6DDF00C83AAA /* DataParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EEF4AB021AA6DDF00C83AAA /* DataParser.swift */; };
8EF9F879224EACB200B20545 /* APIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F861224EACB100B20545 /* APIManager.swift */; };
8EF9F87A224EACB200B20545 /* RulesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F862224EACB100B20545 /* RulesManager.swift */; };
8EF9F87B224EACB200B20545 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F863224EACB100B20545 /* PresentationManager.swift */; };
8EF9F87C224EACB200B20545 /* AlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F865224EACB100B20545 /* AlertAction.swift */; };
8EF9F87D224EACB200B20545 /* AlertConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F866224EACB100B20545 /* AlertConstants.swift */; };
8EF9F87E224EACB200B20545 /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F867224EACB100B20545 /* Localization.swift */; };
8EF9F87F224EACB200B20545 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F868224EACB100B20545 /* Model.swift */; };
8EF9F880224EACB200B20545 /* APIModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F869224EACB100B20545 /* APIModel.swift */; };
8EF9F881224EACB200B20545 /* Rules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F86A224EACB100B20545 /* Rules.swift */; };
8EF9F882224EACB200B20545 /* PerformCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F86B224EACB100B20545 /* PerformCheck.swift */; };
8EF9F883224EACB200B20545 /* UpdateResults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F86C224EACB100B20545 /* UpdateResults.swift */; };
8EF9F884224EACB200B20545 /* Siren.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F86D224EACB100B20545 /* Siren.swift */; };
8EF9F885224EACB200B20545 /* UIAlertControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F86F224EACB100B20545 /* UIAlertControllerExtension.swift */; };
8EF9F886224EACB200B20545 /* BundleExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F870224EACB100B20545 /* BundleExtension.swift */; };
8EF9F887224EACB200B20545 /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F871224EACB100B20545 /* UserDefaultsExtension.swift */; };
8EF9F888224EACB200B20545 /* DateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F872224EACB100B20545 /* DateExtension.swift */; };
8EF9F889224EACB200B20545 /* DataParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F874224EACB200B20545 /* DataParser.swift */; };
8EF9F88A224EACB200B20545 /* KnownError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F875224EACB200B20545 /* KnownError.swift */; };
8EF9F88B224EACB200B20545 /* Siren.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 8EF9F876224EACB200B20545 /* Siren.bundle */; };
8EF9F88C224EACB200B20545 /* SirenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EF9F878224EACB200B20545 /* SirenViewController.swift */; };
8EF9F88E224EB00100B20545 /* Siren.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EF9F853224EACA500B20545 /* Siren.framework */; };
8EF9F88F224EB00100B20545 /* Siren.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8EF9F853224EACA500B20545 /* Siren.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -45,29 +45,32 @@
remoteGlobalIDString = 8EC391801A58B465001C121E;
remoteInfo = "Sample App";
};
8EF9F890224EB00100B20545 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8EC391791A58B465001C121E /* Project object */;
proxyType = 1;
remoteGlobalIDString = 8EF9F852224EACA500B20545;
remoteInfo = Siren;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
8EF9F892224EB00200B20545 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
8EF9F88F224EB00100B20545 /* Siren.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
4D729C4521A213B4002F73AB /* Rules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Rules.swift; sourceTree = "<group>"; };
55EC36471E6BB98A00726F13 /* Siren.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Siren.framework; sourceTree = BUILT_PRODUCTS_DIR; };
55EC36491E6BB98A00726F13 /* Siren.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Siren.h; sourceTree = "<group>"; };
55EC364A1E6BB98A00726F13 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../../Siren/Info.plist; sourceTree = "<group>"; };
55EC365E1E6BB99B00726F13 /* Siren.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Siren.bundle; path = ../../Sources/Siren.bundle; sourceTree = "<group>"; };
55EC365F1E6BB99B00726F13 /* Siren.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Siren.swift; path = ../../Sources/Siren.swift; sourceTree = "<group>"; };
8E01817821B379AF006DED05 /* Results.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Results.swift; sourceTree = "<group>"; };
8E01817B21B379DD006DED05 /* PresentationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = "<group>"; };
8E01817D21B379DD006DED05 /* RulesManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RulesManager.swift; sourceTree = "<group>"; };
8E01818121B37B43006DED05 /* AlertAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertAction.swift; sourceTree = "<group>"; };
8E065BA022054E5A00188D4E /* PerformCheck.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerformCheck.swift; sourceTree = "<group>"; };
8E171DD1215B26B4006FBBCC /* BundleExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleExtension.swift; sourceTree = "<group>"; };
8E171DD2215B26B4006FBBCC /* DateExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateExtension.swift; sourceTree = "<group>"; };
8E171DD7215B26B4006FBBCC /* LookupModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LookupModel.swift; sourceTree = "<group>"; };
8E171DD8215B26B4006FBBCC /* UIAlertControllerExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIAlertControllerExtension.swift; sourceTree = "<group>"; };
8E171DDA215B26B4006FBBCC /* SirenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SirenViewController.swift; sourceTree = "<group>"; };
8E171DE5215B2701006FBBCC /* Localization.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
8E171DED215B2D09006FBBCC /* UserDefaultsExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsExtension.swift; sourceTree = "<group>"; };
8E3A6C041D07CB6F00A8B7CF /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8E5061EA21C9CDF000A28DE0 /* AlertConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertConstants.swift; sourceTree = "<group>"; };
8EACA9661F37F2D3003134CA /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
8EACA9681F37F2D3003134CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
8EACA96A1F37F2D3003134CA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
@@ -75,21 +78,34 @@
8EACA96C1F37F2D3003134CA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8EACA96D1F37F2D3003134CA /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
8EC391811A58B465001C121E /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
8EE1FAF221B4DC0F009112A8 /* KnownError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KnownError.swift; sourceTree = "<group>"; };
8EE1FAF421B4E6B8009112A8 /* APIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIManager.swift; sourceTree = "<group>"; };
8EE6C74B1E6A0AE100DBE454 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8EE6C74C1E6A0AE100DBE454 /* SirenTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SirenTests.swift; sourceTree = "<group>"; };
8EEF4AB021AA6DDF00C83AAA /* DataParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataParser.swift; sourceTree = "<group>"; };
8EF9F853224EACA500B20545 /* Siren.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Siren.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8EF9F856224EACA500B20545 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8EF9F861224EACB100B20545 /* APIManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIManager.swift; sourceTree = "<group>"; };
8EF9F862224EACB100B20545 /* RulesManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RulesManager.swift; sourceTree = "<group>"; };
8EF9F863224EACB100B20545 /* PresentationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = "<group>"; };
8EF9F865224EACB100B20545 /* AlertAction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlertAction.swift; sourceTree = "<group>"; };
8EF9F866224EACB100B20545 /* AlertConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlertConstants.swift; sourceTree = "<group>"; };
8EF9F867224EACB100B20545 /* Localization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
8EF9F868224EACB100B20545 /* Model.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = "<group>"; };
8EF9F869224EACB100B20545 /* APIModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = APIModel.swift; sourceTree = "<group>"; };
8EF9F86A224EACB100B20545 /* Rules.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Rules.swift; sourceTree = "<group>"; };
8EF9F86B224EACB100B20545 /* PerformCheck.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PerformCheck.swift; sourceTree = "<group>"; };
8EF9F86C224EACB100B20545 /* UpdateResults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UpdateResults.swift; sourceTree = "<group>"; };
8EF9F86D224EACB100B20545 /* Siren.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Siren.swift; path = ../../Sources/Siren.swift; sourceTree = "<group>"; };
8EF9F86F224EACB100B20545 /* UIAlertControllerExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIAlertControllerExtension.swift; sourceTree = "<group>"; };
8EF9F870224EACB100B20545 /* BundleExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleExtension.swift; sourceTree = "<group>"; };
8EF9F871224EACB100B20545 /* UserDefaultsExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserDefaultsExtension.swift; sourceTree = "<group>"; };
8EF9F872224EACB100B20545 /* DateExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateExtension.swift; sourceTree = "<group>"; };
8EF9F874224EACB200B20545 /* DataParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DataParser.swift; sourceTree = "<group>"; };
8EF9F875224EACB200B20545 /* KnownError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KnownError.swift; sourceTree = "<group>"; };
8EF9F876224EACB200B20545 /* Siren.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Siren.bundle; path = ../../Sources/Siren.bundle; sourceTree = "<group>"; };
8EF9F878224EACB200B20545 /* SirenViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SirenViewController.swift; sourceTree = "<group>"; };
8EF9F88D224EACBF00B20545 /* Siren.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Siren.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
55EC36431E6BB98A00726F13 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
8E3A6C011D07CB6F00A8B7CF /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -101,85 +117,20 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8E641D2520C8B44B00908555 /* Siren.framework in Frameworks */,
8EF9F88E224EB00100B20545 /* Siren.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8EF9F850224EACA500B20545 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
55EC36481E6BB98A00726F13 /* Siren */ = {
isa = PBXGroup;
children = (
55EC36491E6BB98A00726F13 /* Siren.h */,
55EC365F1E6BB99B00726F13 /* Siren.swift */,
55EC365E1E6BB99B00726F13 /* Siren.bundle */,
8E171DD0215B26B4006FBBCC /* Extensions */,
8E01817A21B379DD006DED05 /* Managers */,
8E171DD5215B26B4006FBBCC /* Models */,
8E171DCC215B26B4006FBBCC /* Utilities */,
8E171DD9215B26B4006FBBCC /* View Controllers */,
);
path = Siren;
sourceTree = "<group>";
};
8E01817A21B379DD006DED05 /* Managers */ = {
isa = PBXGroup;
children = (
8EE1FAF421B4E6B8009112A8 /* APIManager.swift */,
8E01817B21B379DD006DED05 /* PresentationManager.swift */,
8E01817D21B379DD006DED05 /* RulesManager.swift */,
);
name = Managers;
path = ../../Sources/Managers;
sourceTree = "<group>";
};
8E171DCC215B26B4006FBBCC /* Utilities */ = {
isa = PBXGroup;
children = (
8EEF4AB021AA6DDF00C83AAA /* DataParser.swift */,
8EE1FAF221B4DC0F009112A8 /* KnownError.swift */,
);
name = Utilities;
path = ../../Sources/Utilities;
sourceTree = "<group>";
};
8E171DD0215B26B4006FBBCC /* Extensions */ = {
isa = PBXGroup;
children = (
8E171DD1215B26B4006FBBCC /* BundleExtension.swift */,
8E171DD2215B26B4006FBBCC /* DateExtension.swift */,
8E171DD8215B26B4006FBBCC /* UIAlertControllerExtension.swift */,
8E171DED215B2D09006FBBCC /* UserDefaultsExtension.swift */,
);
name = Extensions;
path = ../../Sources/Extensions;
sourceTree = "<group>";
};
8E171DD5215B26B4006FBBCC /* Models */ = {
isa = PBXGroup;
children = (
8E01818121B37B43006DED05 /* AlertAction.swift */,
8E5061EA21C9CDF000A28DE0 /* AlertConstants.swift */,
8E171DE5215B2701006FBBCC /* Localization.swift */,
8E171DD7215B26B4006FBBCC /* LookupModel.swift */,
8E065BA022054E5A00188D4E /* PerformCheck.swift */,
8E01817821B379AF006DED05 /* Results.swift */,
4D729C4521A213B4002F73AB /* Rules.swift */,
);
name = Models;
path = ../../Sources/Models;
sourceTree = "<group>";
};
8E171DD9215B26B4006FBBCC /* View Controllers */ = {
isa = PBXGroup;
children = (
8E171DDA215B26B4006FBBCC /* SirenViewController.swift */,
);
name = "View Controllers";
path = "../../Sources/View Controllers";
sourceTree = "<group>";
};
8E641D2420C8B44B00908555 /* Frameworks */ = {
isa = PBXGroup;
children = (
@@ -212,9 +163,9 @@
8EC391781A58B465001C121E = {
isa = PBXGroup;
children = (
55EC36481E6BB98A00726F13 /* Siren */,
8EACA9651F37F2D3003134CA /* Example */,
8EE6C74A1E6A0AE100DBE454 /* Tests */,
8EF9F854224EACA500B20545 /* Siren */,
8EC391821A58B465001C121E /* Products */,
8E641D2420C8B44B00908555 /* Frameworks */,
);
@@ -225,7 +176,7 @@
children = (
8EC391811A58B465001C121E /* Example.app */,
8E3A6C041D07CB6F00A8B7CF /* Tests.xctest */,
55EC36471E6BB98A00726F13 /* Siren.framework */,
8EF9F853224EACA500B20545 /* Siren.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -239,38 +190,93 @@
path = Tests;
sourceTree = "<group>";
};
8EF9F854224EACA500B20545 /* Siren */ = {
isa = PBXGroup;
children = (
8EF9F86D224EACB100B20545 /* Siren.swift */,
8EF9F876224EACB200B20545 /* Siren.bundle */,
8EF9F86E224EACB100B20545 /* Extensions */,
8EF9F860224EACB100B20545 /* Managers */,
8EF9F864224EACB100B20545 /* Models */,
8EF9F873224EACB200B20545 /* Utilities */,
8EF9F877224EACB200B20545 /* View Controllers */,
8EF9F88D224EACBF00B20545 /* Siren.h */,
8EF9F856224EACA500B20545 /* Info.plist */,
);
path = Siren;
sourceTree = "<group>";
};
8EF9F860224EACB100B20545 /* Managers */ = {
isa = PBXGroup;
children = (
8EF9F861224EACB100B20545 /* APIManager.swift */,
8EF9F862224EACB100B20545 /* RulesManager.swift */,
8EF9F863224EACB100B20545 /* PresentationManager.swift */,
);
name = Managers;
path = ../../Sources/Managers;
sourceTree = "<group>";
};
8EF9F864224EACB100B20545 /* Models */ = {
isa = PBXGroup;
children = (
8EF9F865224EACB100B20545 /* AlertAction.swift */,
8EF9F866224EACB100B20545 /* AlertConstants.swift */,
8EF9F869224EACB100B20545 /* APIModel.swift */,
8EF9F867224EACB100B20545 /* Localization.swift */,
8EF9F868224EACB100B20545 /* Model.swift */,
8EF9F86A224EACB100B20545 /* Rules.swift */,
8EF9F86B224EACB100B20545 /* PerformCheck.swift */,
8EF9F86C224EACB100B20545 /* UpdateResults.swift */,
);
name = Models;
path = ../../Sources/Models;
sourceTree = "<group>";
};
8EF9F86E224EACB100B20545 /* Extensions */ = {
isa = PBXGroup;
children = (
8EF9F86F224EACB100B20545 /* UIAlertControllerExtension.swift */,
8EF9F870224EACB100B20545 /* BundleExtension.swift */,
8EF9F871224EACB100B20545 /* UserDefaultsExtension.swift */,
8EF9F872224EACB100B20545 /* DateExtension.swift */,
);
name = Extensions;
path = ../../Sources/Extensions;
sourceTree = "<group>";
};
8EF9F873224EACB200B20545 /* Utilities */ = {
isa = PBXGroup;
children = (
8EF9F874224EACB200B20545 /* DataParser.swift */,
8EF9F875224EACB200B20545 /* KnownError.swift */,
);
name = Utilities;
path = ../../Sources/Utilities;
sourceTree = "<group>";
};
8EF9F877224EACB200B20545 /* View Controllers */ = {
isa = PBXGroup;
children = (
8EF9F878224EACB200B20545 /* SirenViewController.swift */,
);
name = "View Controllers";
path = "../../Sources/View Controllers";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
55EC36441E6BB98A00726F13 /* Headers */ = {
8EF9F84E224EACA500B20545 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
55EC364B1E6BB98A00726F13 /* Siren.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
55EC36461E6BB98A00726F13 /* Siren */ = {
isa = PBXNativeTarget;
buildConfigurationList = 55EC36521E6BB98A00726F13 /* Build configuration list for PBXNativeTarget "Siren" */;
buildPhases = (
55EC36421E6BB98A00726F13 /* Sources */,
55EC36431E6BB98A00726F13 /* Frameworks */,
55EC36441E6BB98A00726F13 /* Headers */,
55EC36451E6BB98A00726F13 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = Siren;
productName = Siren;
productReference = 55EC36471E6BB98A00726F13 /* Siren.framework */;
productType = "com.apple.product-type.framework";
};
8E3A6C031D07CB6F00A8B7CF /* Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8E3A6C0D1D07CB6F00A8B7CF /* Build configuration list for PBXNativeTarget "Tests" */;
@@ -297,16 +303,36 @@
8EC3917E1A58B465001C121E /* Frameworks */,
8EE3A3F81E6A0E470010BDCE /* SwiftLint */,
8EC3917F1A58B465001C121E /* Resources */,
8EF9F892224EB00200B20545 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
8EF9F891224EB00100B20545 /* PBXTargetDependency */,
);
name = Example;
productName = Siren;
productReference = 8EC391811A58B465001C121E /* Example.app */;
productType = "com.apple.product-type.application";
};
8EF9F852224EACA500B20545 /* Siren */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8EF9F85C224EACA500B20545 /* Build configuration list for PBXNativeTarget "Siren" */;
buildPhases = (
8EF9F84E224EACA500B20545 /* Headers */,
8EF9F84F224EACA500B20545 /* Sources */,
8EF9F850224EACA500B20545 /* Frameworks */,
8EF9F851224EACA500B20545 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = Siren;
productName = Siren;
productReference = 8EF9F853224EACA500B20545 /* Siren.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -315,24 +341,19 @@
attributes = {
LastSwiftMigration = 0700;
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 0930;
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "Sabintsev iOS Projects";
TargetAttributes = {
55EC36461E6BB98A00726F13 = {
CreatedOnToolsVersion = 8.2.1;
LastSwiftMigration = 0900;
ProvisioningStyle = Automatic;
};
8E3A6C031D07CB6F00A8B7CF = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 0900;
LastSwiftMigration = 1020;
TestTargetID = 8EC391801A58B465001C121E;
};
8EC391801A58B465001C121E = {
CreatedOnToolsVersion = 6.1.1;
DevelopmentTeam = HT94948NDD;
DevelopmentTeamName = "Arthur Sabintsev";
LastSwiftMigration = 0900;
LastSwiftMigration = 1020;
SystemCapabilities = {
com.apple.BackgroundModes = {
enabled = 0;
@@ -345,11 +366,17 @@
};
};
};
8EF9F852224EACA500B20545 = {
CreatedOnToolsVersion = 10.2;
DevelopmentTeam = HT94948NDD;
LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 8EC3917C1A58B465001C121E /* Build configuration list for PBXProject "Example" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
@@ -362,25 +389,16 @@
targets = (
8EC391801A58B465001C121E /* Example */,
8E3A6C031D07CB6F00A8B7CF /* Tests */,
55EC36461E6BB98A00726F13 /* Siren */,
8EF9F852224EACA500B20545 /* Siren */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
55EC36451E6BB98A00726F13 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
55EC36601E6BB99B00726F13 /* Siren.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8E3A6C021D07CB6F00A8B7CF /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4D729C4421A20EDC002F73AB /* Siren.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -394,6 +412,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8EF9F851224EACA500B20545 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8EF9F88B224EACB200B20545 /* Siren.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
@@ -414,31 +440,6 @@
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
55EC36421E6BB98A00726F13 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8E01818021B379DD006DED05 /* RulesManager.swift in Sources */,
8E01818221B37B43006DED05 /* AlertAction.swift in Sources */,
8E171DEE215B2D09006FBBCC /* UserDefaultsExtension.swift in Sources */,
8E171DE2215B26B4006FBBCC /* LookupModel.swift in Sources */,
55EC36611E6BB99B00726F13 /* Siren.swift in Sources */,
8E5061EB21C9CDF000A28DE0 /* AlertConstants.swift in Sources */,
8E01817921B379AF006DED05 /* Results.swift in Sources */,
8EEF4AB121AA6DDF00C83AAA /* DataParser.swift in Sources */,
4D729C4621A213B4002F73AB /* Rules.swift in Sources */,
8E171DE4215B26B4006FBBCC /* SirenViewController.swift in Sources */,
8E065BA122054E5A00188D4E /* PerformCheck.swift in Sources */,
8E171DE6215B2701006FBBCC /* Localization.swift in Sources */,
8EE1FAF521B4E6B8009112A8 /* APIManager.swift in Sources */,
8E171DDE215B26B4006FBBCC /* BundleExtension.swift in Sources */,
8E01817E21B379DD006DED05 /* PresentationManager.swift in Sources */,
8E171DE3215B26B4006FBBCC /* UIAlertControllerExtension.swift in Sources */,
8EE1FAF321B4DC0F009112A8 /* KnownError.swift in Sources */,
8E171DDF215B26B4006FBBCC /* DateExtension.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8E3A6C001D07CB6F00A8B7CF /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -456,6 +457,32 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
8EF9F84F224EACA500B20545 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8EF9F882224EACB200B20545 /* PerformCheck.swift in Sources */,
8EF9F87F224EACB200B20545 /* Model.swift in Sources */,
8EF9F885224EACB200B20545 /* UIAlertControllerExtension.swift in Sources */,
8EF9F88C224EACB200B20545 /* SirenViewController.swift in Sources */,
8EF9F886224EACB200B20545 /* BundleExtension.swift in Sources */,
8EF9F87D224EACB200B20545 /* AlertConstants.swift in Sources */,
8EF9F881224EACB200B20545 /* Rules.swift in Sources */,
8EF9F889224EACB200B20545 /* DataParser.swift in Sources */,
8EF9F879224EACB200B20545 /* APIManager.swift in Sources */,
8EF9F87E224EACB200B20545 /* Localization.swift in Sources */,
8EF9F880224EACB200B20545 /* APIModel.swift in Sources */,
8EF9F888224EACB200B20545 /* DateExtension.swift in Sources */,
8EF9F884224EACB200B20545 /* Siren.swift in Sources */,
8EF9F887224EACB200B20545 /* UserDefaultsExtension.swift in Sources */,
8EF9F87B224EACB200B20545 /* PresentationManager.swift in Sources */,
8EF9F883224EACB200B20545 /* UpdateResults.swift in Sources */,
8EF9F87C224EACB200B20545 /* AlertAction.swift in Sources */,
8EF9F88A224EACB200B20545 /* KnownError.swift in Sources */,
8EF9F87A224EACB200B20545 /* RulesManager.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -464,6 +491,11 @@
target = 8EC391801A58B465001C121E /* Example */;
targetProxy = 8E3A6C091D07CB6F00A8B7CF /* PBXContainerItemProxy */;
};
8EF9F891224EB00100B20545 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8EF9F852224EACA500B20545 /* Siren */;
targetProxy = 8EF9F890224EB00100B20545 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -486,68 +518,6 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
55EC36501E6BB98A00726F13 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Siren/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
55EC36511E6BB98A00726F13 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ENABLE_MODULES = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Siren/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
8E3A6C0B1D07CB6F00A8B7CF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -561,8 +531,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.sabintsev.SirenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example";
};
name = Debug;
@@ -582,8 +551,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.sabintsev.SirenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example";
};
name = Release;
@@ -693,22 +661,25 @@
8EC391A11A58B466001C121E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
DEVELOPMENT_TEAM = HT94948NDD;
INFOPLIST_FILE = "$(SRCROOT)/Siren/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
PRODUCT_NAME = Example;
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
8EC391A21A58B466001C121E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
DEVELOPMENT_TEAM = HT94948NDD;
INFOPLIST_FILE = "$(SRCROOT)/Siren/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
@@ -716,23 +687,88 @@
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
PRODUCT_NAME = Example;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
};
name = Release;
};
8EF9F85D224EACA500B20545 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = HT94948NDD;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Siren/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.Sabintsev.Siren;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
8EF9F85E224EACA500B20545 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = HT94948NDD;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = Siren/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.Sabintsev.Siren;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
55EC36521E6BB98A00726F13 /* Build configuration list for PBXNativeTarget "Siren" */ = {
isa = XCConfigurationList;
buildConfigurations = (
55EC36501E6BB98A00726F13 /* Debug */,
55EC36511E6BB98A00726F13 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8E3A6C0D1D07CB6F00A8B7CF /* Build configuration list for PBXNativeTarget "Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -760,6 +796,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8EF9F85C224EACA500B20545 /* Build configuration list for PBXNativeTarget "Siren" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8EF9F85D224EACA500B20545 /* Debug */,
8EF9F85E224EACA500B20545 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8EC391791A58B465001C121E /* Project object */;
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0930"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -14,7 +14,7 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "55EC36461E6BB98A00726F13"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
@@ -45,7 +45,7 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "55EC36461E6BB98A00726F13"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
@@ -63,7 +63,7 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "55EC36461E6BB98A00726F13"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
+90 -80
View File
@@ -21,12 +21,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
/// Siren initializes a listener on `didBecomeActiveNotification` to perform version checks.
// defaultExample()
defaultExampleUsingCompletionHandler()
// defaultExampleUsingCompletionHandler()
// manualExampleWithCompletionHandler()
// minimalCustomizationPresentationExample()
// forceLocalizationCustomizationPresentationExample()
// customMessagingPresentationExample()
// annoyingRuleExample()
annoyingRuleExample()
// hyperCriticalRulesExample()
// updateSpecificRulesExample()
// customAlertRulesExample()
@@ -52,13 +52,14 @@ private extension AppDelegate {
/// All default rules are implemented and the
/// results of the completion handler are returned or an error is returned.
func defaultExampleUsingCompletionHandler() {
Siren.shared.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
Siren.shared.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -67,13 +68,14 @@ private extension AppDelegate {
/// Rather than waiting for `didBecomeActive` state changes (e.g., app launching/relaunching),
/// Siren's version checking and alert presentation methods will be triggered each time this method is called.
func manualExampleWithCompletionHandler() {
Siren.shared.wail(performCheck: .onDemand) { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
Siren.shared.wail(performCheck: .onDemand) { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -84,13 +86,14 @@ private extension AppDelegate {
let siren = Siren.shared
siren.presentationManager = PresentationManager(alertTintColor: .purple,
appName: "Siren Example App Override!")
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -100,13 +103,14 @@ private extension AppDelegate {
func forceLocalizationCustomizationPresentationExample() {
let siren = Siren.shared
siren.presentationManager = PresentationManager(forceLanguageLocalization: .russian)
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -117,13 +121,14 @@ private extension AppDelegate {
let siren = Siren.shared
siren.presentationManager = PresentationManager(alertTitle: "Update Now, OK?",
nextTimeButtonTitle: "Next time, please!?")
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -134,13 +139,14 @@ private extension AppDelegate {
let siren = Siren.shared
siren.rulesManager = RulesManager(globalRules: .annoying)
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -158,13 +164,14 @@ private extension AppDelegate {
siren.rulesManager = RulesManager(globalRules: .critical,
showAlertAfterCurrentVersionHasBeenReleasedForDays: 0)
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -178,13 +185,14 @@ private extension AppDelegate {
patchUpdateRules: .default,
revisionUpdateRules: Rules(promptFrequency: .weekly, forAlertType: .option))
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -199,14 +207,14 @@ private extension AppDelegate {
let rules = Rules(promptFrequency: .immediately, forAlertType: .none)
siren.rulesManager = RulesManager(globalRules: rules)
siren.wail { (results, error) in
if let results = results {
print("USE THE VALUES FROM THE `RESULTS` DATA STRUCTURE TO BUILD YOUR UPDATE ALERT WITH LOCALIZED STRINGS.")
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -219,13 +227,14 @@ private extension AppDelegate {
let siren = Siren.shared
siren.apiManager = APIManager(countryCode: "RU")
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
@@ -244,13 +253,14 @@ private extension AppDelegate {
patchUpdateRules: .default,
revisionUpdateRules: .relaxed)
siren.wail { (results, error) in
if let results = results {
print("AlertAction ", results.alertAction)
print("Localization ", results.localization)
print("LookupModel ", results.lookupModel)
print("UpdateType ", results.updateType)
} else if let error = error {
siren.wail { results in
switch results {
case .success(let updateResults):
print("AlertAction ", updateResults.alertAction)
print("Localization ", updateResults.localization)
print("Model ", updateResults.model)
print("UpdateType ", updateResults.updateType)
case .failure(let error):
print(error.localizedDescription)
}
}
+1 -3
View File
@@ -15,9 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
+3 -9
View File
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@@ -15,14 +15,8 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.0.9</string>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<string>1</string>
</dict>
</plist>
+4 -2
View File
@@ -2,8 +2,8 @@
// Siren.h
// Siren
//
// Created by Sabintsev, Arthur on 3/4/17.
// Copyright © 2017 Sabintsev iOS Projects. All rights reserved.
// Created by Arthur Sabintsev on 3/29/19.
// Copyright © 2019 Sabintsev iOS Projects. All rights reserved.
//
#import <UIKit/UIKit.h>
@@ -15,3 +15,5 @@ FOUNDATION_EXPORT double SirenVersionNumber;
FOUNDATION_EXPORT const unsigned char SirenVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Siren/PublicHeader.h>
-2
View File
@@ -16,8 +16,6 @@
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
+16
View File
@@ -616,6 +616,22 @@ extension SirenTests {
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Actualizar")
}
func testRomanianLocalization() {
let language: Localization.Language = .romanian
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "Actualizare disponibilă")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "Data viitoare")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "Ignor această versiune")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Actualizare")
}
func testRussianLocalization() {
let language: Localization.Language = .russian
+34 -40
View File
@@ -1,68 +1,68 @@
GIT
remote: https://www.github.com/realm/jazzy.git
revision: 916cf729525040c43ea31fc55a3730dee04f1a29
revision: 9b907b33aea078d82975abd590637fa647663805
specs:
jazzy (0.9.4)
cocoapods (~> 1.5.3)
mustache (~> 1.1.0)
jazzy (0.11.0)
cocoapods (~> 1.5)
mustache (~> 1.1)
open4
redcarpet (~> 3.4.0)
redcarpet (~> 3.4)
rouge (>= 2.0.6, < 4.0)
sass (~> 3.6.0)
sqlite3 (~> 1.3.13)
sassc (~> 2.1)
sqlite3 (~> 1.3)
xcinvoke (~> 0.3.0)
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.0)
activesupport (4.2.10)
CFPropertyList (3.0.1)
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
atomos (0.1.3)
bundler-unload (1.0.2)
claide (1.0.2)
cocoapods (1.5.3)
claide (1.0.3)
cocoapods (1.7.5)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.5.3)
cocoapods-deintegrate (>= 1.0.2, < 2.0)
cocoapods-downloader (>= 1.2.0, < 2.0)
cocoapods-core (= 1.7.5)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.2.2, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-stats (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.3.0, < 2.0)
cocoapods-trunk (>= 1.3.1, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (~> 2.0.1)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.6.5)
molinillo (~> 0.6.6)
nap (~> 1.0)
ruby-macho (~> 1.1)
xcodeproj (>= 1.5.7, < 2.0)
cocoapods-core (1.5.3)
ruby-macho (~> 1.4)
xcodeproj (>= 1.10.0, < 2.0)
cocoapods-core (1.7.5)
activesupport (>= 4.0.2, < 6)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
cocoapods-deintegrate (1.0.2)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.2.2)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.1)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.4.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.1.0)
colored2 (3.1.2)
concurrent-ruby (1.0.5)
concurrent-ruby (1.1.5)
escape (0.0.4)
executable-hooks (1.6.0)
ffi (1.9.25)
fourflusher (2.0.1)
ffi (1.11.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
i18n (0.9.5)
@@ -75,27 +75,21 @@ GEM
nap (1.1.0)
netrc (0.11.0)
open4 (1.3.4)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
redcarpet (3.4.0)
rouge (3.3.0)
ruby-macho (1.3.1)
redcarpet (3.5.0)
rouge (3.10.0)
ruby-macho (1.4.0)
rubygems-bundler (1.4.5)
bundler-unload (>= 1.0.2)
executable-hooks (>= 1.5.0)
sass (3.6.0)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sqlite3 (1.3.13)
sassc (2.2.0)
ffi (~> 1.9)
sqlite3 (1.4.1)
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
xcinvoke (0.3.0)
liferaft (~> 0.0.6)
xcodeproj (1.7.0)
xcodeproj (1.12.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -111,4 +105,4 @@ DEPENDENCIES
rubygems-bundler
BUNDLED WITH
1.17.1
2.0.2
+4 -1
View File
@@ -1,5 +1,8 @@
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "Siren"
name: "Siren",
products: [.library(name: "Siren", targets: ["Siren"])],
targets: [.target(name: "Siren", path: "Sources")]
)
+40 -12
View File
@@ -2,7 +2,9 @@
### Notify users when a new version of your app is available and prompt them to upgrade.
[![Travis CI Status](https://travis-ci.org/ArtSabintsev/Siren.svg?branch=master)](https://travis-ci.org/ArtSabintsev/Siren) ![Documentation](https://github.com/ArtSabintsev/Siren/blob/master/docs/badge.svg) ![Swift Support](https://img.shields.io/badge/Swift-4.2%2C%204.1%2C%203.2%2C%203.1%202.3-orange.svg) [![CocoaPods](https://img.shields.io/cocoapods/v/Siren.svg)](https://cocoapods.org/pods/Siren) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![SwiftPM Compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)
[![Travis CI Status](https://travis-ci.org/ArtSabintsev/Siren.svg?branch=master)](https://travis-ci.org/ArtSabintsev/Siren) ![Documentation](https://github.com/ArtSabintsev/Siren/blob/master/docs/badge.svg) ![Swift Support](https://img.shields.io/badge/Swift-5.1%2C%205.0%2C%204.2%2C%204.1%2C%203.2%2C%203.1%202.3-orange.svg)
[![CocoaPods](https://img.shields.io/cocoapods/v/Siren.svg)](https://cocoapods.org/pods/Siren) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![SwiftPM Compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)
---
@@ -84,15 +86,19 @@ A list of future development work can be found on [Siren's Kanban Board](https:/
| Swift Version | Branch Name | Will Continue to Receive Updates?
| ------------- | ------------- | -------------
| 4.2 | master | **Yes**
| 4.1 | swift4.1 | No
| 3.2 | swift3.2 | No
| 3.1 | swift3.1 | No
| 2.3 | swift2.3 | No
| 5.1 | master | **Yes**
| 5.0 | swift5.0 | No
| 4.2 | swift4.2 | No
| 4.1 | swift4.1 | No
| 3.2 | swift3.2 | No
| 3.1 | swift3.1 | No
| 2.3 | swift2.3 | No
### CocoaPods
```ruby
pod 'Siren' # Swift 4.2
pod 'Siren' # Swift 5.1
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift5.0' # Swift 5.0
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift4.2' # Swift 4.2
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift4.1' # Swift 4.1
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift3.2' # Swift 3.2
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift3.1' # Swift 3.1
@@ -101,7 +107,9 @@ pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'sw
### Carthage
```swift
github "ArtSabintsev/Siren" // Swift 4.2
github "ArtSabintsev/Siren" // Swift 5.0
github "ArtSabintsev/Siren" "swift5.0" // Swift 5.0
github "ArtSabintsev/Siren" "swift4.2" // Swift 4.2
github "ArtSabintsev/Siren" "swift4.1" // Swift 4.1
github "ArtSabintsev/Siren" "swift3.2" // Swift 3.2
github "ArtSabintsev/Siren" "swift3.1" // Swift 3.1
@@ -110,18 +118,19 @@ github "ArtSabintsev/Siren" "swift2.3" // Swift 2.3
### Swift Package Manager
```swift
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 4)
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 5)
```
## Implementation Examples
Implementing Siren is as easy as adding two lines of code to your app:
Implementing Siren is as easy as adding two lines of code to your app in **either** `AppDelegate.swift` or `SceneDelegate.swift`:
### AppDelegate.swift Example
```swift
import Siren // Line 1
import UIKit
@UIApplicationMain
final class AppDelegate: UIResponder, UIApplicationDelegate {
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
@@ -134,6 +143,25 @@ final class AppDelegate: UIResponder, UIApplicationDelegate {
}
```
### SceneDelegate.swift Example
```swift
import Siren // Line 1
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
window?.makeKeyAndVisible()
Siren.shared.wail() // Line 2
return true
}
}
```
Siren also has plenty of customization options. All examples can be found in the Example Project's [**AppDelegate**](https://github.com/ArtSabintsev/Siren/blob/master/Example/Example/AppDelegate.swift) file. Uncomment the example you'd like to test.
---
@@ -143,7 +171,7 @@ Siren also has plenty of customization options. All examples can be found in the
## Localization
Siren is localized for the following languages:
Arabic, Armenian, Basque, Chinese (Simplified and Traditional), Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian (Bokmål), Persian (Afghanistan, Iran, Persian), Polish, Portuguese (Brazil and Portugal), Russian, Serbian (Cyrillic and Latin), Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Urdu, Vietnamese
Arabic, Armenian, Basque, Chinese (Simplified and Traditional), Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Malay, Norwegian (Bokmål), Persian (Afghanistan, Iran, Persian), Polish, Portuguese (Brazil and Portugal), Romanian, Russian, Serbian (Cyrillic and Latin), Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Urdu, Vietnamese
If your user's device is set to one of the supported locales, an update message will appear in that language. If a locale is not supported, than the message will appear in English.
+2 -2
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
# Version
s.version = "4.2.0"
s.swift_version = '4.2'
s.version = "5.2.2"
s.swift_version = "5.1"
# Meta
s.name = "Siren"
+1 -1
View File
@@ -26,7 +26,7 @@ extension Bundle {
static let table = "SirenLocalizable"
}
/// Fetches the current verison of the app.
/// Fetches the current version of the app.
///
/// - Returns: The current installed version of the app.
final class func version() -> String? {
+5 -3
View File
@@ -22,17 +22,19 @@ extension Date {
/// The amount of days passed from a specific source date string.
///
/// - Parameter dateString: The source date string.
/// - Parameters:
/// - dateString: The source date string.
/// - Returns: The amount of days passed since the source date.
static func days(since dateString: String) -> Int? {
let dateformatter = DateFormatter()
dateformatter.locale = Locale(identifier: "en_US_POSIX")
dateformatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
dateformatter.timeZone = TimeZone(secondsFromGMT: 0)
guard let releaseDate = dateformatter.date(from: dateString) else {
guard let date = dateformatter.date(from: dateString) else {
return nil
}
return days(since: releaseDate)
return days(since: date)
}
}
@@ -6,7 +6,6 @@
// Copyright © 2017 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
import UIKit
// `UIAlertController` Extension for Siren.
@@ -15,6 +14,7 @@ extension UIAlertController {
///
/// - Parameter window: The `UIWindow` that _should_ reference Siren's `UIAlertController`.
func show(window: UIWindow) {
guard !self.isBeingPresented else { return }
window.makeKeyAndVisible()
window.rootViewController?.present(self, animated: true, completion: nil)
}
+10 -10
View File
@@ -19,7 +19,7 @@ public struct APIManager {
}
/// Return results or errors obtained from performing a version check with Siren.
typealias CompletionHandler = (LookupModel?, KnownError?) -> Void
typealias CompletionHandler = (Result<APIModel, KnownError>) -> Void
/// The region or country of an App Store in which the app is available.
/// By default, all version check requests are performed against the US App Store.
@@ -52,7 +52,7 @@ extension APIManager {
/// - Parameter handler: The completion handler for the iTunes Lookup API request.
func performVersionCheckRequest(completion handler: CompletionHandler?) {
guard Bundle.main.bundleIdentifier != nil else {
handler?(nil, .missingBundleID)
handler?(.failure(.missingBundleID))
return
}
@@ -64,7 +64,7 @@ extension APIManager {
self.processVersionCheckResults(withData: data, response: response, error: error, completion: handler)
}.resume()
} catch {
handler?(nil, .malformedURL)
handler?(.failure(.malformedURL))
}
}
@@ -80,25 +80,25 @@ extension APIManager {
error: Error?,
completion handler: CompletionHandler?) {
if let error = error {
handler?(nil, .appStoreDataRetrievalFailure(underlyingError: error))
handler?(.failure(.appStoreDataRetrievalFailure(underlyingError: error)))
} else {
guard let data = data else {
handler?(nil, .appStoreDataRetrievalFailure(underlyingError: nil))
handler?(.failure(.appStoreDataRetrievalFailure(underlyingError: nil)))
return
}
do {
let lookupModel = try JSONDecoder().decode(LookupModel.self, from: data)
let apiModel = try JSONDecoder().decode(APIModel.self, from: data)
guard !lookupModel.results.isEmpty else {
handler?(nil, .appStoreDataRetrievalEmptyResults)
guard !apiModel.results.isEmpty else {
handler?(.failure(.appStoreDataRetrievalEmptyResults))
return
}
DispatchQueue.main.async {
handler?(lookupModel, nil)
handler?(.success(apiModel))
}
} catch {
handler?(nil, .appStoreJSONParsingFailure(underlyingError: error))
handler?(.failure(.appStoreJSONParsingFailure(underlyingError: error)))
}
}
}
+39 -31
View File
@@ -6,12 +6,12 @@
// Copyright © 2017 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
import UIKit
/// PresentationManager for Siren
public struct PresentationManager {
/// Return results or errors obtained from performing a version check with Siren.
typealias CompletionHandler = (AlertAction) -> Void
typealias CompletionHandler = (AlertAction, String?) -> Void
/// The localization data structure that will be used to construct localized strings for the update alert.
let localization: Localization
@@ -40,8 +40,12 @@ public struct PresentationManager {
/// The `UIWindow` instance that presents the `SirenViewController`.
private var updaterWindow: UIWindow {
let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = SirenViewController()
window.windowLevel = UIWindow.Level.alert + 1
let viewController = SirenViewController()
viewController.retainedWindow = window
window.rootViewController = viewController
return window
}
@@ -82,6 +86,8 @@ public struct PresentationManager {
public static let `default` = PresentationManager()
}
// MARK: - Alert Lifecycle
extension PresentationManager {
/// Constructs the localized update alert `UIAlertController` object.
@@ -123,32 +129,47 @@ extension PresentationManager {
case .force:
alertController?.addAction(updateAlertAction(completion: handler))
case .option:
alertController?.addAction(updateAlertAction(completion: handler))
alertController?.addAction(nextTimeAlertAction(completion: handler))
alertController?.addAction(updateAlertAction(completion: handler))
case .skip:
alertController?.addAction(updateAlertAction(completion: handler))
alertController?.addAction(nextTimeAlertAction(completion: handler))
alertController?.addAction(skipAlertAction(forCurrentAppStoreVersion: currentAppStoreVersion, completion: handler))
case .none:
handler?(.unknown)
handler?(.unknown, nil)
}
// If the alertType is .none, an alert will not be presented.
// If the `updaterWindow` is not hidden, then an alert is already presented.
// The latter prevents `UIAlertControllers` from appearing on top of each other.
if rules.alertType != .none && updaterWindow.isHidden {
// The latter prevents `UIAlertController`'s from appearing on top of each other.
if rules.alertType != .none, updaterWindow.isHidden {
alertController?.show(window: updaterWindow)
} else {
// This is a safety precaution to avoid multiple windows from presenting on top of each other.
cleanUp()
}
}
/// Removes the `alertController` from memory.
func cleanUp() {
alertController?.hide(window: updaterWindow)
alertController?.dismiss(animated: true, completion: nil)
self.updaterWindow.rootViewController = nil
self.updaterWindow.resignKey()
self.updaterWindow.removeFromSuperview()
}
}
// MARK: - Alert Actions
private extension PresentationManager {
/// The `UIAlertAction` that is executed when the `Update` option is selected.
///
/// - Parameters:
/// - handler: The completion handler that returns the `.update` option.
/// - Returns: The `Update` alert action.
private func updateAlertAction(completion handler: CompletionHandler?) -> UIAlertAction {
func updateAlertAction(completion handler: CompletionHandler?) -> UIAlertAction {
let title: String
if self.updateButtonTitle == AlertConstants.updateButtonTitle {
title = localization.updateButtonTitle()
@@ -157,10 +178,8 @@ extension PresentationManager {
}
let action = UIAlertAction(title: title, style: .default) { _ in
self.cleanUpAlertController()
Siren.shared.launchAppStore()
handler?(.appStore)
self.cleanUp()
handler?(.appStore, nil)
return
}
@@ -172,7 +191,7 @@ extension PresentationManager {
/// - Parameters:
/// - handler: The completion handler that returns the `.nextTime` option.
/// - Returns: The `Next time` alert action.
private func nextTimeAlertAction(completion handler: CompletionHandler?) -> UIAlertAction {
func nextTimeAlertAction(completion handler: CompletionHandler?) -> UIAlertAction {
let title: String
if self.nextTimeButtonTitle == AlertConstants.nextTimeButtonTitle {
title = localization.nextTimeButtonTitle()
@@ -181,9 +200,8 @@ extension PresentationManager {
}
let action = UIAlertAction(title: title, style: .default) { _ in
self.cleanUpAlertController()
handler?(.nextTime)
self.cleanUp()
handler?(.nextTime, nil)
return
}
@@ -196,7 +214,7 @@ extension PresentationManager {
/// - currentAppStoreVersion: The current version of the app in the App Store.
/// - handler: The completion handler that returns the `.skip` option.
/// - Returns: The `Skip this version` alert action.
private func skipAlertAction(forCurrentAppStoreVersion currentAppStoreVersion: String, completion handler: CompletionHandler?) -> UIAlertAction {
func skipAlertAction(forCurrentAppStoreVersion currentAppStoreVersion: String, completion handler: CompletionHandler?) -> UIAlertAction {
let title: String
if self.skipButtonTitle == AlertConstants.skipButtonTitle {
title = localization.skipButtonTitle()
@@ -205,21 +223,11 @@ extension PresentationManager {
}
let action = UIAlertAction(title: title, style: .default) { _ in
UserDefaults.storedSkippedVersion = currentAppStoreVersion
UserDefaults.standard.synchronize()
self.cleanUpAlertController()
handler?(.skip)
self.cleanUp()
handler?(.skip, currentAppStoreVersion)
return
}
return action
}
/// Removes the `alertController` from memory.
private func cleanUpAlertController() {
alertController?.hide(window: self.updaterWindow)
alertController?.dismiss(animated: false, completion: nil)
}
}
+4 -3
View File
@@ -81,15 +81,16 @@ public struct RulesManager {
/// Returns the appropriate update rules based on the type of version that is returned from the API.
///
/// - Parameter type: The type of app update.
/// - Parameters: type: The type of app update.
/// - Throws: The `noUpdateAvailable` error since this is the only way a valie of `unknown` can occur.
/// - Returns: The appropriate rule based on the type of app update that is returned by the API.
func loadRulesForUpdateType(_ type: UpdateType) -> Rules {
func loadRulesForUpdateType(_ type: UpdateType) throws -> Rules {
switch type {
case .major: return majorUpdateRules
case .minor: return minorUpdateRules
case .patch: return patchUpdateRules
case .revision: return revisionUpdateRules
case .unknown: return majorUpdateRules
case .unknown: throw KnownError.noUpdateAvailable
}
}
@@ -1,5 +1,5 @@
//
// LookupModel.swift
// APIModel.swift
// Siren
//
// Created by Arthur Sabintsev on 8/6/17.
@@ -9,7 +9,7 @@
import Foundation
/// Model representing a selection of results from the iTunes Lookup API.
public struct LookupModel: Decodable {
struct APIModel: Decodable {
/// Codable Coding Keys for the Top-Level iTunes Lookup API JSON response.
private enum CodingKeys: String, CodingKey {
/// The results JSON key.
@@ -17,10 +17,10 @@ public struct LookupModel: Decodable {
}
/// The array of results objects from the iTunes Lookup API.
public let results: [Results]
let results: [Results]
/// The Results object from the the iTunes Lookup API.
public struct Results: Decodable {
struct Results: Decodable {
/// Codable Coding Keys for the Results array in the iTunes Lookup API JSON response.
private enum CodingKeys: String, CodingKey {
/// The appID JSON key.
@@ -36,18 +36,18 @@ public struct LookupModel: Decodable {
}
/// The app's App ID.
public let appID: Int
let appID: Int
/// The release date for the latest verison of the app.
public let currentVersionReleaseDate: String
/// The release date for the latest version of the app.
let currentVersionReleaseDate: String
/// The minimum verison of iOS that the current verison of the app requires.
public let minimumOSVersion: String
/// The minimum version of iOS that the current version of the app requires.
let minimumOSVersion: String
/// The releases notes from the latest version of the app.
public let releaseNotes: String?
let releaseNotes: String?
/// The latest version of the app.
public let version: String
let version: String
}
}
+1 -1
View File
@@ -19,7 +19,7 @@ public struct AlertConstants {
/// The button text that conveys the message that the user should be prompted to update next time the app launches.
public static let nextTimeButtonTitle = "Next time"
/// The text that conveys the message that the the user wants to skip this verison update.
/// The text that conveys the message that the the user wants to skip this version update.
public static let skipButtonTitle = "Skip this version"
/// The button text that conveys the message that the user would like to update the app right away.
+2
View File
@@ -77,6 +77,8 @@ public struct Localization {
case portugueseBrazil = "pt"
/// Portugal's Portuguese Language Localization
case portuguesePortugal = "pt-PT"
/// Romanian Language Localization
case romanian = "ro"
/// Russian Language Localization
case russian = "ru"
/// Serbian (Cyrillic) Language Localization
+50
View File
@@ -0,0 +1,50 @@
//
// Model.swift
// Siren
//
// Created by Arthur Sabintsev on 3/27/19.
// Copyright © 2019 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
/// The validated and unwrapped `APIModel`.
/// This model is presented to the end user in Siren's completion handler.
public struct Model {
/// The app's App ID.
public let appID: Int
/// The release date for the latest version of the app.
public let currentVersionReleaseDate: String
/// The minimum version of iOS that the current version of the app requires.
public let minimumOSVersion: String
/// The releases notes from the latest version of the app.
public let releaseNotes: String?
/// The latest version of the app.
public let version: String
/// The initializer for the `public` facing Model type.
///
/// - Parameters:
/// - appID: The app's App ID.
/// - currentVersionReleaseDate: The release date for the latest version of the app.
/// - minimumOSVersion: The minimum version of iOS that the current version of the app requires.
/// - releaseNotes: The releases notes from the latest version of the app.
/// - version: The latest version of the app.
init(appID: Int,
currentVersionReleaseDate: String,
minimumOSVersion: String,
releaseNotes: String?,
version: String) {
self.appID = appID
self.currentVersionReleaseDate = currentVersionReleaseDate
self.minimumOSVersion = minimumOSVersion
self.releaseNotes = releaseNotes
self.version = version
}
}
+2 -2
View File
@@ -66,7 +66,7 @@ public struct Rules {
// Rules-related Constants
public extension Rules {
/// Determines the type of alert to present after a successful version check has been performed.
public enum AlertType {
enum AlertType {
/// Forces the user to update your app (1 button alert).
case force
/// Presents the user with option to update app now or at next launch (2 button alert).
@@ -80,7 +80,7 @@ public extension Rules {
/// Determines the frequency in which the user is prompted to update the app
/// once a new version is available in the App Store and if they have not updated yet.
public enum UpdatePromptFrequency: UInt {
enum UpdatePromptFrequency: UInt {
/// Version check performed every time the app is launched.
case immediately = 0
/// Version check performed once a day.
@@ -1,5 +1,5 @@
//
// Results.swift
// UpdateResults.swift
// Siren
//
// Created by Arthur Sabintsev on 12/1/18.
@@ -9,7 +9,7 @@
import Foundation
/// The relevant metadata returned from Siren upon completing a successful version check.
public struct Results {
public struct UpdateResults {
/// The `UIAlertAction` the user chose upon being presented with the update alert.
/// Defaults to `unknown` until an alert is actually presented.
public var alertAction: AlertAction = .unknown
@@ -17,8 +17,8 @@ public struct Results {
/// The Siren-supported locale that was used for the string in the update alert.
public let localization: Localization
/// The Swift-mapped API model, if a successful version check was performed.
public let lookupModel: LookupModel
/// The Swift-mapped and unwrapped API model, if a successful version check was performed.
public let model: Model
/// The type of update that was returned for the API.
public var updateType: RulesManager.UpdateType = .unknown
Binary file not shown.
+104 -82
View File
@@ -11,7 +11,7 @@ import UIKit
/// The Siren Class.
public final class Siren: NSObject {
/// Return results or errors obtained from performing a version check with Siren.
public typealias ResultsHandler = (Results?, KnownError?) -> Void
public typealias ResultsHandler = (Result<UpdateResults, KnownError>) -> Void
/// The Siren singleton. The main point of entry to the Siren library.
public static let shared = Siren()
@@ -41,13 +41,13 @@ public final class Siren: NSObject {
lazy var currentInstalledVersion: String? = Bundle.version()
/// The retained `NotificationCenter` observer that listens for `UIApplication.didBecomeActiveNotification` notifications.
var didBecomeActiveObserver: NSObjectProtocol?
var applicationDidBecomeActiveObserver: NSObjectProtocol?
/// The retained `NotificationCenter` observer that listens for `UIApplication.willResignActiveNotification` notifications.
var willResignActiveObserver: NSObjectProtocol?
var applicationWillResignActiveObserver: NSObjectProtocol?
/// The retained `NotificationCenter` observer that listens for `UIApplication.didEnterBackgroundNotification` notifications.
var didEnterBackgroundObserver: NSObjectProtocol?
var applicationDidEnterBackgroundObserver: NSObjectProtocol?
/// The last date that an alert was presented to the user.
private var alertPresentationDate: Date? = UserDefaults.alertPresentationDate
@@ -58,14 +58,9 @@ public final class Siren: NSObject {
/// The completion handler used to return the results or errors returned by Siren.
private var resultsHandler: ResultsHandler?
/// The initialization method.
private override init() {
alertPresentationDate = UserDefaults.alertPresentationDate
}
/// The deinitialization method that clears out all observers,
deinit {
presentationManager.alertController?.dismiss(animated: true, completion: nil)
presentationManager.cleanUp()
removeForegroundObservers()
removeBackgroundObservers()
}
@@ -88,12 +83,11 @@ public extension Siren {
removeForegroundObservers()
performVersionCheck()
case .onForeground:
addDidBecomeActiveObserver()
addForegroundObservers()
}
// Add background app state change observers.
addWillResignActiveObserver()
addDidEnterBackgroundObserver()
addBackgroundObservers()
}
/// Launches the AppStore in two situations when the user clicked the `Update` button in the UIAlertController modal.
@@ -103,7 +97,7 @@ public extension Siren {
func launchAppStore() {
guard let appID = appID,
let url = URL(string: "https://itunes.apple.com/app/id\(appID)") else {
resultsHandler?(nil, .malformedURL)
resultsHandler?(.failure(.malformedURL))
return
}
@@ -123,14 +117,13 @@ private extension Siren {
/// Initiates the unidirectional version checking flow.
func performVersionCheck() {
alertPresentationDate = UserDefaults.alertPresentationDate
apiManager.performVersionCheckRequest { [weak self] (lookupModel, error) in
guard let self = self else { return }
guard let lookupModel = lookupModel, error == nil else {
self.resultsHandler?(nil, error)
return
apiManager.performVersionCheckRequest { result in
switch result {
case .success(let apiModel):
self.validate(apiModel: apiModel)
case .failure(let error):
self.resultsHandler?(.failure(error))
}
self.validate(model: lookupModel)
}
}
@@ -138,49 +131,56 @@ private extension Siren {
/// to guarantee all the relevant data was returned before
/// attempting to present an alert.
///
/// - Parameter model: The iTunes Lookup Model.
func validate(model: LookupModel) {
/// - Parameter apiModel: The iTunes Lookup Model.
func validate(apiModel: APIModel) {
// Check if the latest version is compatible with current device's version of iOS.
guard DataParser.isUpdateCompatibleWithDeviceOS(for: model) else {
resultsHandler?(nil, .appStoreOSVersionUnsupported)
guard DataParser.isUpdateCompatibleWithDeviceOS(for: apiModel) else {
resultsHandler?(.failure(.appStoreOSVersionUnsupported))
return
}
// Check and store the App ID .
guard let appID = model.results.first?.appID else {
resultsHandler?(nil, .appStoreAppIDFailure)
guard let results = apiModel.results.first,
let appID = apiModel.results.first?.appID else {
resultsHandler?(.failure(.appStoreAppIDFailure))
return
}
self.appID = appID
// Check and store the current App Store version.
guard let currentAppStoreVersion = model.results.first?.version else {
resultsHandler?(nil, .appStoreVersionArrayFailure)
guard let currentAppStoreVersion = apiModel.results.first?.version else {
resultsHandler?(.failure(.appStoreVersionArrayFailure))
return
}
// Check if the App Store version is newer than the currently installed version.
guard DataParser.isAppStoreVersionNewer(installedVersion: currentInstalledVersion,
appStoreVersion: currentAppStoreVersion) else {
resultsHandler?(nil, .noUpdateAvailable)
resultsHandler?(.failure(.noUpdateAvailable))
return
}
// Check the release date of the current version.
guard let currentVersionReleaseDate = model.results.first?.currentVersionReleaseDate,
guard let currentVersionReleaseDate = apiModel.results.first?.currentVersionReleaseDate,
let daysSinceRelease = Date.days(since: currentVersionReleaseDate) else {
resultsHandler?(nil, .currentVersionReleaseDate)
resultsHandler?(.failure(.currentVersionReleaseDate))
return
}
// Check if applicaiton has been released for the amount of days defined by the app consuming Siren.
guard daysSinceRelease >= rulesManager.releasedForDays else {
resultsHandler?(nil, .releasedTooSoon(daysSinceRelease: daysSinceRelease,
releasedForDays: rulesManager.releasedForDays))
resultsHandler?(.failure(.releasedTooSoon(daysSinceRelease: daysSinceRelease,
releasedForDays: rulesManager.releasedForDays)))
return
}
determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion: currentAppStoreVersion, andLookupModel: model)
let model = Model(appID: appID,
currentVersionReleaseDate: currentVersionReleaseDate,
minimumOSVersion: results.minimumOSVersion,
releaseNotes: results.releaseNotes,
version: results.version)
determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion: currentAppStoreVersion, andModel: model)
}
/// Determines if the update alert can be presented based on the
@@ -189,7 +189,7 @@ private extension Siren {
/// - Parameters:
/// - currentAppStoreVersion: The curren version of the app in the App Store.
/// - model: The iTunes Lookup Model.
func determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion currentAppStoreVersion: String, andLookupModel model: LookupModel) {
func determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion currentAppStoreVersion: String, andModel model: Model) {
// Did the user:
// - request to skip being prompted with version update alerts for a specific version
// - and is the latest App Store update the same version that was requested?
@@ -197,26 +197,33 @@ private extension Siren {
let currentInstalledVersion = currentInstalledVersion,
!currentAppStoreVersion.isEmpty,
currentAppStoreVersion == previouslySkippedVersion {
resultsHandler?(nil, .skipVersionUpdate(installedVersion: currentInstalledVersion, appStoreVersion: currentAppStoreVersion))
resultsHandler?(.failure(.skipVersionUpdate(installedVersion: currentInstalledVersion,
appStoreVersion: currentAppStoreVersion)))
return
}
let updateType = DataParser.parseForUpdate(forInstalledVersion: currentInstalledVersion,
andAppStoreVersion: currentAppStoreVersion)
let rules = rulesManager.loadRulesForUpdateType(updateType)
do {
let rules = try rulesManager.loadRulesForUpdateType(updateType)
if rules.frequency == .immediately {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
} else {
guard let alertPresentationDate = alertPresentationDate else {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
return
}
if Date.days(since: alertPresentationDate) >= rules.frequency.rawValue {
if rules.frequency == .immediately {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
} else {
resultsHandler?(nil, .recentlyPrompted)
guard let alertPresentationDate = alertPresentationDate else {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
return
}
if Date.days(since: alertPresentationDate) >= rules.frequency.rawValue {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
} else {
resultsHandler?(.failure(.recentlyPrompted))
}
}
} catch let error as KnownError {
resultsHandler?(.failure(error))
} catch { // This path should never be entered, but this silences an error.
resultsHandler?(.failure(.noUpdateAvailable))
}
}
@@ -230,15 +237,30 @@ private extension Siren {
/// - updateType: The type of update that is available based on the version found in the App Store.
func presentAlert(withRules rules: Rules,
forCurrentAppStoreVersion currentAppStoreVersion: String,
model: LookupModel,
model: Model,
andUpdateType updateType: RulesManager.UpdateType) {
presentationManager.presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion) { [weak self] alertAction in
presentationManager.presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion) { [weak self] alertAction, currentAppStoreVersion in
guard let self = self else { return }
let results = Results(alertAction: alertAction,
self.processAlertAction(alertAction: alertAction, currentAppStoreVersion: currentAppStoreVersion)
let results = UpdateResults(alertAction: alertAction,
localization: self.presentationManager.localization,
lookupModel: model,
model: model,
updateType: updateType)
self.resultsHandler?(results, nil)
self.resultsHandler?(.success(results))
}
}
func processAlertAction(alertAction: AlertAction, currentAppStoreVersion: String?) {
switch alertAction {
case .appStore:
launchAppStore()
case .skip:
guard let currentAppStoreVersion = currentAppStoreVersion else { return }
UserDefaults.storedSkippedVersion = currentAppStoreVersion
UserDefaults.standard.synchronize()
default:
break
}
}
}
@@ -247,9 +269,9 @@ private extension Siren {
private extension Siren {
/// Adds an observer that listens for app launching/relaunching.
func addDidBecomeActiveObserver() {
guard didBecomeActiveObserver == nil else { return }
didBecomeActiveObserver = NotificationCenter
func addForegroundObservers() {
guard applicationDidBecomeActiveObserver == nil else { return }
applicationDidBecomeActiveObserver = NotificationCenter
.default
.addObserver(forName: UIApplication.didBecomeActiveNotification,
object: nil,
@@ -259,29 +281,29 @@ private extension Siren {
}
}
/// Adds an observer that listens for when the user enters the app switcher.
func addWillResignActiveObserver() {
guard willResignActiveObserver == nil else { return }
didBecomeActiveObserver = NotificationCenter
.default
.addObserver(forName: UIApplication.willResignActiveNotification,
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.presentationManager.alertController?.dismiss(animated: true, completion: nil)
/// Adds an observer that listens for when the user enters the app switcher
/// and when the app is sent to the background.
func addBackgroundObservers() {
if applicationWillResignActiveObserver == nil {
applicationWillResignActiveObserver = NotificationCenter
.default
.addObserver(forName: UIApplication.willResignActiveNotification,
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.presentationManager.cleanUp()
}
}
}
/// Adds an observer that listens for when the app is sent to the background.
func addDidEnterBackgroundObserver() {
guard didEnterBackgroundObserver == nil else { return }
didEnterBackgroundObserver = NotificationCenter
.default
.addObserver(forName: UIApplication.didEnterBackgroundNotification,
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.presentationManager.alertController?.dismiss(animated: true, completion: nil)
if applicationDidEnterBackgroundObserver == nil {
applicationDidEnterBackgroundObserver = NotificationCenter
.default
.addObserver(forName: UIApplication.didEnterBackgroundNotification,
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.presentationManager.cleanUp()
}
}
}
}
@@ -291,16 +313,16 @@ private extension Siren {
private extension Siren {
/// Removes the observer that listens for app launching/relaunching.
func removeForegroundObservers() {
NotificationCenter.default.removeObserver(didBecomeActiveObserver as Any)
didBecomeActiveObserver = nil
NotificationCenter.default.removeObserver(applicationDidBecomeActiveObserver as Any)
applicationDidBecomeActiveObserver = nil
}
/// Remove the observers that list to app resignation and app backgrounding.
func removeBackgroundObservers() {
NotificationCenter.default.removeObserver(willResignActiveObserver as Any)
willResignActiveObserver = nil
NotificationCenter.default.removeObserver(applicationWillResignActiveObserver as Any)
applicationWillResignActiveObserver = nil
NotificationCenter.default.removeObserver(didEnterBackgroundObserver as Any)
didEnterBackgroundObserver = nil
NotificationCenter.default.removeObserver(applicationDidEnterBackgroundObserver as Any)
applicationDidEnterBackgroundObserver = nil
}
}
+4 -4
View File
@@ -6,7 +6,7 @@
// Copyright © 2018 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
import UIKit
/// Version parsing functions for Siren.
struct DataParser {
@@ -30,7 +30,7 @@ struct DataParser {
///
/// - Parameter model: The iTunes Lookup Model.
/// - Returns: `true` if the latest version is compatible with the device's current version of iOS. Otherwise, `false`.
static func isUpdateCompatibleWithDeviceOS(for model: LookupModel) -> Bool {
static func isUpdateCompatibleWithDeviceOS(for model: APIModel) -> Bool {
guard let requiredOSVersion = model.results.first?.minimumOSVersion else {
return false
}
@@ -45,12 +45,12 @@ struct DataParser {
return true
}
/// The type of update that is returned from the API in relation to the verison of the app that is installed.
/// The type of update that is returned from the API in relation to the version of the app that is installed.
///
/// - Parameters:
/// - installedVersion: The installed version of the app.
/// - appStoreVersion: The App Store version of the app.
/// - Returns: The type of update in relation to the verison of the app that is installed.
/// - Returns: The type of update in relation to the version of the app that is installed.
static func parseForUpdate(forInstalledVersion installedVersion: String?,
andAppStoreVersion appStoreVersion: String?) -> RulesManager.UpdateType {
guard let installedVersion = installedVersion,
+2 -2
View File
@@ -18,7 +18,7 @@ public enum KnownError: LocalizedError {
case appStoreDataRetrievalFailure(underlyingError: Error?)
/// Error parsing App Store JSON data.
case appStoreJSONParsingFailure(underlyingError: Error)
/// The version of iOS on the device is lower than that of the one required by the app verison update.
/// The version of iOS on the device is lower than that of the one required by the app version update.
case appStoreOSVersionUnsupported
/// Error retrieving App Store verson number as the JSON does not contain a `version` key.
case appStoreVersionArrayFailure
@@ -51,7 +51,7 @@ public enum KnownError: LocalizedError {
case .appStoreJSONParsingFailure(let error):
return "\(KnownError.sirenError) Error parsing App Store JSON data.\nAlso, the following system level error was returned: \(error)"
case .appStoreOSVersionUnsupported:
return "\(KnownError.sirenError) The version of iOS on the device is lower than that of the one required by the app verison update."
return "\(KnownError.sirenError) The version of iOS on the device is lower than that of the one required by the app version update."
case .appStoreVersionArrayFailure:
return "\(KnownError.sirenError) Error retrieving App Store verson number as the JSON does not contain a `version` key."
case .currentVersionReleaseDate:
@@ -6,13 +6,25 @@
// Copyright © 2017 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
import UIKit
/// `UIViewController` Extension for Siren
final class SirenViewController: UIViewController {
/// This creates a retain cycle.
/// This is needed to retain the UIAlertController in iOS 13.0+
var retainedWindow: UIWindow?
/// `UIStatusBarStyle` override.
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIApplication.shared.statusBarStyle
if #available(iOS 13.0, *) {
return retainedWindow?.windowScene?.statusBarManager?.statusBarStyle ?? .default
} else {
return UIApplication.shared.statusBarStyle
}
}
deinit {
retainedWindow = nil
}
}
+6 -76
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -170,43 +132,11 @@
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)SirenViewController"></a>
<a name="//apple_ref/swift/Class/SirenViewController" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)SirenViewController">SirenViewController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>UIViewController</code> Extension for Siren</p>
<a href="Classes/SirenViewController.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">final</span> <span class="kd">class</span> <span class="kt">SirenViewController</span> <span class="p">:</span> <span class="kt">UIViewController</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+9 -678
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -166,7 +128,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">ResultsHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt"><a href="../Structs/Results.html">Results</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">ResultsHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/UpdateResults.html">UpdateResults</a></span><span class="p">,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
</div>
</div>
@@ -293,249 +255,6 @@ skipping the update all together until another version is released.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC23currentInstalledVersionSSSgvp"></a>
<a name="//apple_ref/swift/Property/currentInstalledVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC23currentInstalledVersionSSSgvp">currentInstalledVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current installed version of your app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">lazy</span> <span class="k">var</span> <span class="nv">currentInstalledVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC23didBecomeActiveObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/didBecomeActiveObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC23didBecomeActiveObserverSo8NSObject_pSgvp">didBecomeActiveObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.didBecomeActiveNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">didBecomeActiveObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC24willResignActiveObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/willResignActiveObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC24willResignActiveObserverSo8NSObject_pSgvp">willResignActiveObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.willResignActiveNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">willResignActiveObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC26didEnterBackgroundObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/didEnterBackgroundObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC26didEnterBackgroundObserverSo8NSObject_pSgvp">didEnterBackgroundObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.didEnterBackgroundNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">didEnterBackgroundObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC21alertPresentationDate33_7DFB1BC200A6C64FBED860A3A8153B65LL10Foundation0D0VSgvp"></a>
<a name="//apple_ref/swift/Property/alertPresentationDate" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC21alertPresentationDate33_7DFB1BC200A6C64FBED860A3A8153B65LL10Foundation0D0VSgvp">alertPresentationDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The last date that an alert was presented to the user.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">alertPresentationDate</span><span class="p">:</span> <span class="kt">Date</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC5appID33_7DFB1BC200A6C64FBED860A3A8153B65LLSiSgvp"></a>
<a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC5appID33_7DFB1BC200A6C64FBED860A3A8153B65LLSiSgvp">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The App Store&rsquo;s unique identifier for an app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">Int</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC14resultsHandler33_7DFB1BC200A6C64FBED860A3A8153B65LLyAA7ResultsVSg_AA10KnownErrorOSgtcSgvp"></a>
<a name="//apple_ref/swift/Property/resultsHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC14resultsHandler33_7DFB1BC200A6C64FBED860A3A8153B65LLyAA7ResultsVSg_AA10KnownErrorOSgtcSgvp">resultsHandler</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The completion handler used to return the results or errors returned by Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">resultsHandler</span><span class="p">:</span> <span class="kt">Siren</span><span class="o">.</span><span class="kt"><a href="../Classes/Siren.html#/s:5SirenAAC14ResultsHandlera">ResultsHandler</a></span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)Siren(im)init"></a>
<a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)Siren(im)init">init()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The initialization method.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">override</span> <span class="nf">init</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)Siren(im)dealloc"></a>
<a name="//apple_ref/swift/Method/deinit" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)Siren(im)dealloc">deinit</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The deinitialization method that clears out all observers,</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">deinit</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
@@ -550,9 +269,9 @@ skipping the update all together until another version is released.</p>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_yAA7ResultsVSg_AA10KnownErrorOSgtcSgtF"></a>
<a name="/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF"></a>
<a name="//apple_ref/swift/Method/wail(performCheck:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_yAA7ResultsVSg_AA10KnownErrorOSgtcSgtF">wail(performCheck:completion:)</a>
<a class="token" href="#/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF">wail(performCheck:completion:)</a>
</code>
</div>
<div class="height-container">
@@ -638,399 +357,11 @@ instead of using Siren&rsquo;s prebuilt update alert.</p>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Version%20Check%20and%20Alert%20Presentation%20Flow"></a>
<a name="//apple_ref/swift/Section/Version Check and Alert Presentation Flow" class="dashAnchor"></a>
<a href="#/Version%20Check%20and%20Alert%20Presentation%20Flow">
<h3 class="section-name">Version Check and Alert Presentation Flow</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC19performVersionCheck33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/performVersionCheck()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC19performVersionCheck33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">performVersionCheck()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initiates the unidirectional version checking flow.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">performVersionCheck</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC8validate33_7DFB1BC200A6C64FBED860A3A8153B65LL5modelyAA11LookupModelV_tF"></a>
<a name="//apple_ref/swift/Method/validate(model:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC8validate33_7DFB1BC200A6C64FBED860A3A8153B65LL5modelyAA11LookupModelV_tF">validate(model:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Validates the parsed and mapped iTunes Lookup Model
to guarantee all the relevant data was returned before
attempting to present an alert.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">validate</span><span class="p">(</span><span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC45determineIfAlertPresentationRulesAreSatisfied33_7DFB1BC200A6C64FBED860A3A8153B65LL25forCurrentAppStoreVersion14andLookupModelySS_AA0wX0VtF"></a>
<a name="//apple_ref/swift/Method/determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion:andLookupModel:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC45determineIfAlertPresentationRulesAreSatisfied33_7DFB1BC200A6C64FBED860A3A8153B65LL25forCurrentAppStoreVersion14andLookupModelySS_AA0wX0VtF">determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion:andLookupModel:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Determines if the update alert can be presented based on the
rules set in the <code><a href="../Structs/RulesManager.html">RulesManager</a></code> and the the skip version settings.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">determineIfAlertPresentationRulesAreSatisfied</span><span class="p">(</span><span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">andLookupModel</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The curren version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC12presentAlert33_7DFB1BC200A6C64FBED860A3A8153B65LL9withRules25forCurrentAppStoreVersion5model13andUpdateTypeyAA0M0V_SSAA11LookupModelVAA0M7ManagerV0uV0OtF"></a>
<a name="//apple_ref/swift/Method/presentAlert(withRules:forCurrentAppStoreVersion:model:andUpdateType:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC12presentAlert33_7DFB1BC200A6C64FBED860A3A8153B65LL9withRules25forCurrentAppStoreVersion5model13andUpdateTypeyAA0M0V_SSAA11LookupModelVAA0M7ManagerV0uV0OtF">presentAlert(withRules:forCurrentAppStoreVersion:model:andUpdateType:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Presents the update alert to the end user.
Upon tapping a value on the alert view, a completion handler will return all relevant metadata to the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">presentAlert</span><span class="p">(</span><span class="n">withRules</span> <span class="nv">rules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span><span class="p">,</span>
<span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">,</span>
<span class="n">andUpdateType</span> <span class="nv">updateType</span><span class="p">:</span> <span class="kt"><a href="../Structs/RulesManager.html">RulesManager</a></span><span class="o">.</span><span class="kt">UpdateType</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>rules</em>
</code>
</td>
<td>
<div>
<p>The rules for how to present the alert.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The current version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>updateType</em>
</code>
</td>
<td>
<div>
<p>The type of update that is available based on the version found in the App Store.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Add%20Observers"></a>
<a name="//apple_ref/swift/Section/Add Observers" class="dashAnchor"></a>
<a href="#/Add%20Observers">
<h3 class="section-name">Add Observers</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC26addDidBecomeActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addDidBecomeActiveObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC26addDidBecomeActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addDidBecomeActiveObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for app launching/relaunching.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addDidBecomeActiveObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC27addWillResignActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addWillResignActiveObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC27addWillResignActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addWillResignActiveObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for when the user enters the app switcher.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addWillResignActiveObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC29addDidEnterBackgroundObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addDidEnterBackgroundObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC29addDidEnterBackgroundObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addDidEnterBackgroundObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for when the app is sent to the background.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addDidEnterBackgroundObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Remove%20Observers"></a>
<a name="//apple_ref/swift/Section/Remove Observers" class="dashAnchor"></a>
<a href="#/Remove%20Observers">
<h3 class="section-name">Remove Observers</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC25removeForegroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/removeForegroundObservers()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC25removeForegroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">removeForegroundObservers()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Removes the observer that listens for app launching/relaunching.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">removeForegroundObservers</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC25removeBackgroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/removeBackgroundObservers()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC25removeBackgroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">removeBackgroundObservers()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Remove the observers that list to app resignation and app backgrounding.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">removeBackgroundObservers</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -178,8 +181,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -44
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -243,8 +205,8 @@ for <code>UpdatePromptFrequency</code> and <code>showAlertAfterCurrentVersionHas
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -44
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -259,8 +221,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+7 -72
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -267,7 +229,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of iOS on the device is lower than that of the one required by the app verison update.</p>
<p>The version of iOS on the device is lower than that of the one required by the app version update.</p>
</div>
<div class="declaration">
@@ -524,40 +486,13 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO05sirenC033_B3C911EAD28C83CC211C07566B0F499ALLSSvpZ"></a>
<a name="//apple_ref/swift/Variable/sirenError" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO05sirenC033_B3C911EAD28C83CC211C07566B0F499ALLSSvpZ">sirenError</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An easily identifiable prefix for all errors thrown by Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">sirenError</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -44
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -214,8 +176,8 @@ This value must be set when Siren&rsquo;s <code>wail</code> method is called to
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -265,8 +268,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -426,8 +429,8 @@ if the aforementioned values are nil.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -313,8 +316,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -250,8 +253,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -242,8 +245,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -232,8 +235,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -233,8 +236,8 @@ the Siren alert the next time the user launches the app.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+19 -88
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -303,9 +265,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren11LookupModelV"></a>
<a name="//apple_ref/swift/Struct/LookupModel" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11LookupModelV">LookupModel</a>
<a name="/s:5Siren5ModelV"></a>
<a name="//apple_ref/swift/Struct/Model" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV">Model</a>
</code>
</div>
<div class="height-container">
@@ -313,47 +275,16 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Model representing a selection of results from the iTunes Lookup API.</p>
<p>The validated and unwrapped <code>APIModel</code>.
This model is presented to the end user in Siren&rsquo;s completion handler.</p>
<a href="Structs/LookupModel.html" class="slightly-smaller">See more</a>
<a href="Structs/Model.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">LookupModel</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren7ResultsV"></a>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren7ResultsV">Results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The relevant metadata returned from Siren upon completing a successful version check.</p>
<a href="Structs/Results.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Results</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Model</span></code></pre>
</div>
</div>
@@ -399,9 +330,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren10DataParserV"></a>
<a name="//apple_ref/swift/Struct/DataParser" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10DataParserV">DataParser</a>
<a name="/s:5Siren13UpdateResultsV"></a>
<a name="//apple_ref/swift/Struct/UpdateResults" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV">UpdateResults</a>
</code>
</div>
<div class="height-container">
@@ -409,15 +340,15 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Version parsing functions for Siren.</p>
<p>The relevant metadata returned from Siren upon completing a successful version check.</p>
<a href="Structs/DataParser.html" class="slightly-smaller">See more</a>
<a href="Structs/UpdateResults.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">DataParser</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">UpdateResults</span></code></pre>
</div>
</div>
@@ -429,8 +360,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -301
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -146,92 +108,6 @@
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV"></a>
<a name="//apple_ref/swift/Struct/Constants" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV">Constants</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constants used in the <code><a href="../Structs/APIManager.html">APIManager</a></code>.</p>
<a href="../Structs/APIManager/Constants.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">struct</span> <span class="kt">Constants</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV17CompletionHandlera"></a>
<a name="//apple_ref/swift/Alias/CompletionHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return results or errors obtained from performing a version check with Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">typealias</span> <span class="kt">CompletionHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV11countryCodeSSSgvp"></a>
<a name="//apple_ref/swift/Property/countryCode" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV11countryCodeSSSgvp">countryCode</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The region or country of an App Store in which the app is available.
By default, all version check requests are performed against the US App Store.
If the app is not available in the US App Store, set it to the identifier of at least one App Store region within which it is available.</p>
<p><a href="https://help.apple.com/app-store-connect/#/dev997f9cf7c">List of country codes</a></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">countryCode</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -313,182 +189,11 @@ If the app is not available in the US App Store, set it to the identifier of at
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV26performVersionCheckRequest10completionyyAA11LookupModelVSg_AA10KnownErrorOSgtcSg_tF"></a>
<a name="//apple_ref/swift/Method/performVersionCheckRequest(completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV26performVersionCheckRequest10completionyyAA11LookupModelVSg_AA10KnownErrorOSgtcSg_tF">performVersionCheckRequest(completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates and performs a URLRequest against the iTunes Lookup API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">performVersionCheckRequest</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIManager.html#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler for the iTunes Lookup API request.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV26processVersionCheckResults33_8071139324B24E2065F4037045A8D960LL8withData8response5error10completiony10Foundation0M0VSg_So13NSURLResponseCSgs5Error_pSgyAA11LookupModelVSg_AA05KnownS0OSgtcSgtF"></a>
<a name="//apple_ref/swift/Method/processVersionCheckResults(withData:response:error:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV26processVersionCheckResults33_8071139324B24E2065F4037045A8D960LL8withData8response5error10completiony10Foundation0M0VSg_So13NSURLResponseCSgs5Error_pSgyAA11LookupModelVSg_AA05KnownS0OSgtcSgtF">processVersionCheckResults(withData:response:error:completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Parses and maps the the results from the iTunes Lookup API request.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">processVersionCheckResults</span><span class="p">(</span><span class="n">withData</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">?,</span>
<span class="nv">response</span><span class="p">:</span> <span class="kt">URLResponse</span><span class="p">?,</span>
<span class="nv">error</span><span class="p">:</span> <span class="kt">Error</span><span class="p">?,</span>
<span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIManager.html#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>The JSON data returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>response</em>
</code>
</td>
<td>
<div>
<p>The response metadata returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>error</em>
</code>
</td>
<td>
<div>
<p>The error returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler to call once the results of the request has been processed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV13makeITunesURL33_8071139324B24E2065F4037045A8D960LL10Foundation0E0VyKF"></a>
<a name="//apple_ref/swift/Method/makeITunesURL()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV13makeITunesURL33_8071139324B24E2065F4037045A8D960LL10Foundation0E0VyKF">makeITunesURL()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates the URL that points to the iTunes Lookup API.</p>
<div class="aside aside-throws">
<p class="aside-title">Throws</p>
An error if the URL cannot be created.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">makeITunesURL</span><span class="p">()</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">URL</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The iTunes Lookup API URL.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+15 -12
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -205,8 +208,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+247
View File
@@ -0,0 +1,247 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>APIModel Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/APIModel" class="dashAnchor"></a>
<a title="APIModel Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Siren Reference</a>
<img id="carat" src="../img/carat.png" />
APIModel Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>APIModel</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">APIModel</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
<p>Model representing a selection of results from the iTunes Lookup API.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO"></a>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO">CodingKeys</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Codable Coding Keys for the Top-Level iTunes Lookup API JSON response.</p>
<a href="../Structs/APIModel/CodingKeys.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7resultsSayAC7ResultsVGvp"></a>
<a name="//apple_ref/swift/Property/results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7resultsSayAC7ResultsVGvp">results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The array of results objects from the iTunes Lookup API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">results</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/APIModel/Results.html">Results</a></span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV"></a>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV">Results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The Results object from the the iTunes Lookup API.</p>
<a href="../Structs/APIModel/Results.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Results</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
+191
View File
@@ -0,0 +1,191 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CodingKeys Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../js/jquery.min.js" defer></script>
<script src="../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a title="CodingKeys Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../index.html">Siren Reference</a>
<img id="carat" src="../../img/carat.png" />
CodingKeys Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>CodingKeys</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
<p>Codable Coding Keys for the Top-Level iTunes Lookup API JSON response.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7resultsyA2FmF"></a>
<a name="//apple_ref/swift/Element/results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7resultsyA2FmF">results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The results JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">results</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
+327
View File
@@ -0,0 +1,327 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Results Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../js/jquery.min.js" defer></script>
<script src="../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a title="Results Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../index.html">Siren Reference</a>
<img id="carat" src="../../img/carat.png" />
Results Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Results</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Results</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
<p>The Results object from the the iTunes Lookup API.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO"></a>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO">CodingKeys</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Codable Coding Keys for the Results array in the iTunes Lookup API JSON response.</p>
<a href="../../Structs/APIModel/Results/CodingKeys.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV5appIDSivp"></a>
<a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV5appIDSivp">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The app&rsquo;s App ID.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV25currentVersionReleaseDateSSvp"></a>
<a name="//apple_ref/swift/Property/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV25currentVersionReleaseDateSSvp">currentVersionReleaseDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The release date for the latest verison of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">currentVersionReleaseDate</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV16minimumOSVersionSSvp"></a>
<a name="//apple_ref/swift/Property/minimumOSVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV16minimumOSVersionSSvp">minimumOSVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum verison of iOS that the current verison of the app requires.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">minimumOSVersion</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV12releaseNotesSSSgvp"></a>
<a name="//apple_ref/swift/Property/releaseNotes" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV12releaseNotesSSSgvp">releaseNotes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The releases notes from the latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">releaseNotes</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV7versionSSvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV7versionSSvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">version</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
@@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CodingKeys Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../../js/jquery.min.js" defer></script>
<script src="../../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a title="CodingKeys Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../../index.html">Siren Reference</a>
<img id="carat" src="../../../img/carat.png" />
CodingKeys Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>CodingKeys</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
<p>Codable Coding Keys for the Results array in the iTunes Lookup API JSON response.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO5appIDyA2HmF"></a>
<a name="//apple_ref/swift/Element/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO5appIDyA2HmF">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The appID JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">appID</span> <span class="o">=</span> <span class="s">"trackId"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO25currentVersionReleaseDateyA2HmF"></a>
<a name="//apple_ref/swift/Element/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO25currentVersionReleaseDateyA2HmF">currentVersionReleaseDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current version release date JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">currentVersionReleaseDate</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO16minimumOSVersionyA2HmF"></a>
<a name="//apple_ref/swift/Element/minimumOSVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO16minimumOSVersionyA2HmF">minimumOSVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum device iOS version compatibility JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">minimumOSVersion</span> <span class="o">=</span> <span class="s">"minimumOsVersion"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO12releaseNotesyA2HmF"></a>
<a name="//apple_ref/swift/Element/releaseNotes" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO12releaseNotesyA2HmF">releaseNotes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The release notes JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">releaseNotes</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7versionyA2HmF"></a>
<a name="//apple_ref/swift/Element/version" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7versionyA2HmF">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current App Store version JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">version</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
+7 -45
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -240,7 +202,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The text that conveys the message that the the user wants to skip this verison update.</p>
<p>The text that conveys the message that the the user wants to skip this version update.</p>
</div>
<div class="declaration">
@@ -286,8 +248,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+18 -15
View File
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -211,9 +214,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA11LookupModelV_tFZ"></a>
<a name="/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA8APIModelV_tFZ"></a>
<a name="//apple_ref/swift/Method/isUpdateCompatibleWithDeviceOS(for:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA11LookupModelV_tFZ">isUpdateCompatibleWithDeviceOS(for:)</a>
<a class="token" href="#/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA8APIModelV_tFZ">isUpdateCompatibleWithDeviceOS(for:)</a>
</code>
</div>
<div class="height-container">
@@ -228,7 +231,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">isUpdateCompatibleWithDeviceOS</span><span class="p">(</span><span class="k">for</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">isUpdateCompatibleWithDeviceOS</span><span class="p">(</span><span class="k">for</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIModel.html">APIModel</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
@@ -378,8 +381,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -158
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -177,120 +139,6 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV7appName33_2FDBEF65899237DA36B11FA5846AD0EALLSSvp"></a>
<a name="//apple_ref/swift/Property/appName" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV7appName33_2FDBEF65899237DA36B11FA5846AD0EALLSSvp">appName</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The name of the app as defined by the <code>Info.plist</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">appName</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV13forceLanguage33_2FDBEF65899237DA36B11FA5846AD0EALLAC0D0OSgvp"></a>
<a name="//apple_ref/swift/Property/forceLanguage" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV13forceLanguage33_2FDBEF65899237DA36B11FA5846AD0EALLAC0D0OSgvp">forceLanguage</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Overrides the default localization of a user&rsquo;s device when presenting the update message and button titles in the alert.</p>
<p>See the Siren.Localization.Language enum for more details.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">let</span> <span class="nv">forceLanguage</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization/Language.html">Language</a></span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV7appName016andForceLanguageB0ACSSSg_AC0G0OSgtcfc"></a>
<a name="//apple_ref/swift/Method/init(appName:andForceLanguageLocalization:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV7appName016andForceLanguageB0ACSSSg_AC0G0OSgtcfc">init(appName:andForceLanguageLocalization:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="nf">init</span><span class="p">(</span><span class="nv">appName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span> <span class="n">andForceLanguageLocalization</span> <span class="nv">forceLanguage</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization/Language.html">Language</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>appName</em>
</code>
</td>
<td>
<div>
<p>Overrides the default name of the app. This is optional and defaults to the app that is defined in the <code>Info.plist</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>forceLanguage</em>
</code>
</td>
<td>
<div>
<p>The language the alert to which the alert should be set. If <code>nil</code>, it falls back to the device&rsquo;s preferred locale.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -451,8 +299,8 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+33 -44
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -986,6 +948,33 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV8LanguageO8romanianyA2EmF"></a>
<a name="//apple_ref/swift/Element/romanian" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV8LanguageO8romanianyA2EmF">romanian</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Romanian Language Localization</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">romanian</span> <span class="o">=</span> <span class="s">"ro"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1288,8 +1277,8 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+1 -1
View File
@@ -234,7 +234,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
+1 -1
View File
@@ -178,7 +178,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
+1 -1
View File
@@ -314,7 +314,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
@@ -286,7 +286,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
+259
View File
@@ -0,0 +1,259 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Model Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/Model" class="dashAnchor"></a>
<a title="Model Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Siren Reference</a>
<img id="carat" src="../img/carat.png" />
Model Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Model</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Model</span></code></pre>
</div>
</div>
<p>The validated and unwrapped <code>APIModel</code>.
This model is presented to the end user in Siren&rsquo;s completion handler.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren5ModelV5appIDSivp"></a>
<a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV5appIDSivp">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The app&rsquo;s App ID.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren5ModelV25currentVersionReleaseDateSSvp"></a>
<a name="//apple_ref/swift/Property/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV25currentVersionReleaseDateSSvp">currentVersionReleaseDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The release date for the latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">currentVersionReleaseDate</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren5ModelV16minimumOSVersionSSvp"></a>
<a name="//apple_ref/swift/Property/minimumOSVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV16minimumOSVersionSSvp">minimumOSVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum version of iOS that the current version of the app requires.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">minimumOSVersion</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren5ModelV12releaseNotesSSSgvp"></a>
<a name="//apple_ref/swift/Property/releaseNotes" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV12releaseNotesSSSgvp">releaseNotes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The releases notes from the latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">releaseNotes</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren5ModelV7versionSSvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV7versionSSvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">version</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
+11 -584
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -146,276 +108,6 @@
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV17CompletionHandlera"></a>
<a name="//apple_ref/swift/Alias/CompletionHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV17CompletionHandlera">CompletionHandler</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return results or errors obtained from performing a version check with Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">typealias</span> <span class="kt">CompletionHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt"><a href="../Enums/AlertAction.html">AlertAction</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV12localizationAA12LocalizationVvp"></a>
<a name="//apple_ref/swift/Property/localization" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV12localizationAA12LocalizationVvp">localization</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The localization data structure that will be used to construct localized strings for the update alert.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">localization</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization.html">Localization</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV9tintColorSo7UIColorCSgvp"></a>
<a name="//apple_ref/swift/Property/tintColor" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV9tintColorSo7UIColorCSgvp">tintColor</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The tint color of the <code>UIAlertController</code> buttons.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">tintColor</span><span class="p">:</span> <span class="kt">UIColor</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV12alertMessageSSvp"></a>
<a name="//apple_ref/swift/Property/alertMessage" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV12alertMessageSSvp">alertMessage</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The descriptive update message of the <code>UIAlertController</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">alertMessage</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV10alertTitleSSvp"></a>
<a name="//apple_ref/swift/Property/alertTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV10alertTitleSSvp">alertTitle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The main message of the <code>UIAlertController</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">alertTitle</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV19nextTimeButtonTitleSSvp"></a>
<a name="//apple_ref/swift/Property/nextTimeButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV19nextTimeButtonTitleSSvp">nextTimeButtonTitle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <q>Next time</q> button text of the <code>UIAlertController</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">nextTimeButtonTitle</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV15skipButtonTitleSSvp"></a>
<a name="//apple_ref/swift/Property/skipButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV15skipButtonTitleSSvp">skipButtonTitle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <q>Skip this version</q> button text of the <code>UIAlertController</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">skipButtonTitle</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV17updateButtonTitleSSvp"></a>
<a name="//apple_ref/swift/Property/updateButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV17updateButtonTitleSSvp">updateButtonTitle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <q>Update</q> button text of the <code>UIAlertController</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">updateButtonTitle</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV15alertControllerSo07UIAlertE0CSgvp"></a>
<a name="//apple_ref/swift/Property/alertController" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV15alertControllerSo07UIAlertE0CSgvp">alertController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The instance of the <code>UIAlertController</code> used to present the update alert.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">alertController</span><span class="p">:</span> <span class="kt">UIAlertController</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV13updaterWindow33_CEF2109017F934DAB33AED8753BA096CLLSo8UIWindowCvp"></a>
<a name="//apple_ref/swift/Property/updaterWindow" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV13updaterWindow33_CEF2109017F934DAB33AED8753BA096CLLSo8UIWindowCvp">updaterWindow</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>UIWindow</code> instance that presents the <code><a href="../Classes/SirenViewController.html">SirenViewController</a></code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">updaterWindow</span><span class="p">:</span> <span class="kt">UIWindow</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -438,11 +130,11 @@
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="n">alertTintColor</span> <span class="nv">tintColor</span><span class="p">:</span> <span class="kt">UIColor</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
<span class="nv">appName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
<span class="nv">alertTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV10alertTitleSSvp">alertTitle</a></span><span class="p">,</span>
<span class="nv">alertMessage</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV12alertMessageSSvp">alertMessage</a></span><span class="p">,</span>
<span class="nv">updateButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV17updateButtonTitleSSvp">updateButtonTitle</a></span><span class="p">,</span>
<span class="nv">nextTimeButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV19nextTimeButtonTitleSSvp">nextTimeButtonTitle</a></span><span class="p">,</span>
<span class="nv">skipButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV15skipButtonTitleSSvp">skipButtonTitle</a></span><span class="p">,</span>
<span class="nv">alertTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n">alertTitle</span><span class="p">,</span>
<span class="nv">alertMessage</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n">alertMessage</span><span class="p">,</span>
<span class="nv">updateButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n">updateButtonTitle</span><span class="p">,</span>
<span class="nv">nextTimeButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n">nextTimeButtonTitle</span><span class="p">,</span>
<span class="nv">skipButtonTitle</span><span class="p">:</span> <span class="kt">String</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertConstants.html">AlertConstants</a></span><span class="o">.</span><span class="n">skipButtonTitle</span><span class="p">,</span>
<span class="n">forceLanguageLocalization</span> <span class="nv">forceLanguage</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization.html">Localization</a></span><span class="o">.</span><span class="kt">Language</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
</div>
@@ -590,276 +282,11 @@
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV12presentAlert9withRules25forCurrentAppStoreVersion10completionyAA0G0V_SSyAA0E6ActionOcSgtF"></a>
<a name="//apple_ref/swift/Method/presentAlert(withRules:forCurrentAppStoreVersion:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV12presentAlert9withRules25forCurrentAppStoreVersion10completionyAA0G0V_SSyAA0E6ActionOcSgtF">presentAlert(withRules:forCurrentAppStoreVersion:completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constructs the localized update alert <code>UIAlertController</code> object.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">mutating</span> <span class="kd">func</span> <span class="nf">presentAlert</span><span class="p">(</span><span class="n">withRules</span> <span class="nv">rules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span><span class="p">,</span>
<span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>rules</em>
</code>
</td>
<td>
<div>
<p>The rules that are used to define the type of alert that should be presented.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The current version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler that returns the an <code><a href="../Enums/AlertAction.html">AlertAction</a></code> depending on the type of action the end-user took.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV17updateAlertAction33_CEF2109017F934DAB33AED8753BA096CLL10completionSo07UIAlertF0CyAA0eF0OcSg_tF"></a>
<a name="//apple_ref/swift/Method/updateAlertAction(completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV17updateAlertAction33_CEF2109017F934DAB33AED8753BA096CLL10completionSo07UIAlertF0CyAA0eF0OcSg_tF">updateAlertAction(completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>UIAlertAction</code> that is executed when the <code>Update</code> option is selected.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">updateAlertAction</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">UIAlertAction</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler that returns the <code>.update</code> option.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The <code>Update</code> alert action.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV19nextTimeAlertAction33_CEF2109017F934DAB33AED8753BA096CLL10completionSo07UIAlertG0CyAA0fG0OcSg_tF"></a>
<a name="//apple_ref/swift/Method/nextTimeAlertAction(completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV19nextTimeAlertAction33_CEF2109017F934DAB33AED8753BA096CLL10completionSo07UIAlertG0CyAA0fG0OcSg_tF">nextTimeAlertAction(completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>UIAlertAction</code> that is executed when the <code>Next time</code> option is selected.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">nextTimeAlertAction</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">UIAlertAction</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler that returns the <code>.nextTime</code> option.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The <code>Next time</code> alert action.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV15skipAlertAction33_CEF2109017F934DAB33AED8753BA096CLL25forCurrentAppStoreVersion10completionSo07UIAlertF0CSS_yAA0eF0OcSgtF"></a>
<a name="//apple_ref/swift/Method/skipAlertAction(forCurrentAppStoreVersion:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV15skipAlertAction33_CEF2109017F934DAB33AED8753BA096CLL25forCurrentAppStoreVersion10completionSo07UIAlertF0CSS_yAA0eF0OcSgtF">skipAlertAction(forCurrentAppStoreVersion:completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>UIAlertAction</code> that is executed when the <code>Skip this version</code> option is selected.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">skipAlertAction</span><span class="p">(</span><span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">UIAlertAction</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The current version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler that returns the <code>.skip</code> option.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The <code>Skip this version</code> alert action.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV22cleanUpAlertController33_CEF2109017F934DAB33AED8753BA096CLLyyF"></a>
<a name="//apple_ref/swift/Method/cleanUpAlertController()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV22cleanUpAlertController33_CEF2109017F934DAB33AED8753BA096CLLyyF">cleanUpAlertController()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Removes the <code><a href="../Structs/PresentationManager.html#/s:5Siren19PresentationManagerV15alertControllerSo07UIAlertE0CSgvp">alertController</a></code> from memory.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">cleanUpAlertController</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+1 -1
View File
@@ -260,7 +260,7 @@ Defaults to <code>unknown</code> until an alert is actually presented.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
+8 -101
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -146,61 +108,6 @@
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren5RulesV9alertTypeAC05AlertD0Ovp"></a>
<a name="//apple_ref/swift/Property/alertType" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5RulesV9alertTypeAC05AlertD0Ovp">alertType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The type of alert that should be presented.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">alertType</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules/AlertType.html">AlertType</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren5RulesV9frequencyAC21UpdatePromptFrequencyOvp"></a>
<a name="//apple_ref/swift/Property/frequency" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5RulesV9frequencyAC21UpdatePromptFrequencyOvp">frequency</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The frequency in which a the user is prompted to update the app
once a new version is available in the App Store and if they have not updated yet.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">frequency</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules/UpdatePromptFrequency.html">UpdatePromptFrequency</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -451,7 +358,7 @@ the next time the app becomes active or skipping the update all together until a
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">AlertType</span></code></pre>
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">AlertType</span></code></pre>
</div>
</div>
@@ -480,7 +387,7 @@ once a new version is available in the App Store and if they have not updated ye
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UpdatePromptFrequency</span> <span class="p">:</span> <span class="kt">UInt</span></code></pre>
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">UpdatePromptFrequency</span> <span class="p">:</span> <span class="kt">UInt</span></code></pre>
</div>
</div>
@@ -492,8 +399,8 @@ once a new version is available in the App Store and if they have not updated ye
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+7 -45
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -136,7 +98,7 @@
<h1>AlertType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">AlertType</span></code></pre>
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">AlertType</span></code></pre>
</div>
</div>
@@ -260,8 +222,8 @@ Use this option if you would like to present a custom alert to the end-user.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+7 -45
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -136,7 +98,7 @@
<h1>UpdatePromptFrequency</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">UpdatePromptFrequency</span> <span class="p">:</span> <span class="kt">UInt</span></code></pre>
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">UpdatePromptFrequency</span> <span class="p">:</span> <span class="kt">UInt</span></code></pre>
</div>
</div>
@@ -233,8 +195,8 @@ once a new version is available in the App Store and if they have not updated ye
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+10 -236
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -146,144 +108,6 @@
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV15releasedForDaysSivp"></a>
<a name="//apple_ref/swift/Property/releasedForDays" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV15releasedForDaysSivp">releasedForDays</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The alert will only show up if the current version has already been released for X days.</p>
<p>This value defaults to 1 day (in <code>RulesManager</code>&lsquo;s initializer) to avoid an issue where
Apple updates the JSON faster than the app binary propogates to the App Store.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">releasedForDays</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV011majorUpdateB0AA0B0Vvp"></a>
<a name="//apple_ref/swift/Property/majorUpdateRules" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV011majorUpdateB0AA0B0Vvp">majorUpdateRules</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Structs/Rules.html">Rules</a></code> that should be used when the App Store version of the app signifies that it is a <strong>major</strong> version update (A.b.c.d).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">majorUpdateRules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV011minorUpdateB0AA0B0Vvp"></a>
<a name="//apple_ref/swift/Property/minorUpdateRules" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV011minorUpdateB0AA0B0Vvp">minorUpdateRules</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Structs/Rules.html">Rules</a></code> that should be used when the App Store version of the app signifies that it is a <strong>minor</strong> version update (a.B.c.d).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">minorUpdateRules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV011patchUpdateB0AA0B0Vvp"></a>
<a name="//apple_ref/swift/Property/patchUpdateRules" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV011patchUpdateB0AA0B0Vvp">patchUpdateRules</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Structs/Rules.html">Rules</a></code> that should be used when the App Store version of the app signifies that it is a <strong>patch</strong> version update (a.b.C.d).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">patchUpdateRules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV014revisionUpdateB0AA0B0Vvp"></a>
<a name="//apple_ref/swift/Property/revisionUpdateRules" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV014revisionUpdateB0AA0B0Vvp">revisionUpdateRules</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code><a href="../Structs/Rules.html">Rules</a></code> that should be used when the App Store version of the app signifies that it is a <strong>revision</strong> version update (a.b.c.D).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">revisionUpdateRules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -300,12 +124,12 @@ Apple updates the JSON faster than the app binary propogates to the App Store.</
<p>Initializer that sets update-specific <code><a href="../Structs/Rules.html">Rules</a></code> for all updates (e.g., major, minor, patch, revision).
This means that each of the four update types can have their own specific update rules.</p>
<p>By default, the <code><a href="../Structs/RulesManager.html#/s:5Siren12RulesManagerV15releasedForDaysSivp">releasedForDays</a></code> parameter delays the update alert from being presented for <em>1 day</em>
<p>By default, the <code>releasedForDays</code> parameter delays the update alert from being presented for <em>1 day</em>
to avoid an issue where the <em>iTunes Lookup</em> API response is updated faster than the time it takes for the binary
to become available on App Store CDNs across all regions. Usually it takes 6-24 hours, hence the <em>1 day</em> delay.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
<p>Setting <code><a href="../Structs/RulesManager.html#/s:5Siren12RulesManagerV15releasedForDaysSivp">releasedForDays</a></code> to <em>0 days</em> causes the alert to appear right away, even if the binary isn&rsquo;t available.
<p>Setting <code>releasedForDays</code> to <em>0 days</em> causes the alert to appear right away, even if the binary isn&rsquo;t available.
If this value is set to <em>0 days</em>, and an <code>AlertType</code> of type <code>.force</code> is set, it will cause your app to infinitely send the
end-user to the App Store to download a version that&rsquo;s not there and lock them out of your application until the binary is
is available to be downloaded.</p>
@@ -375,12 +199,12 @@ is available to be downloaded.</p>
<p>Initializer that sets the same update <code><a href="../Structs/Rules.html">Rules</a></code> for all types of updates (e.g., major, minor, patch, revision).
This means that all four update types will use the same presentation rules.</p>
<p>By default, the <code><a href="../Structs/RulesManager.html#/s:5Siren12RulesManagerV15releasedForDaysSivp">releasedForDays</a></code> parameter delays the update alert from being presented for <em>1 day</em>
<p>By default, the <code>releasedForDays</code> parameter delays the update alert from being presented for <em>1 day</em>
to avoid an issue where the <em>iTunes Lookup</em> API response is updated faster than the time it takes for the binary
to become available on App Store CDNs across all regions. Usually it takes 6-24 hours, hence the <em>1 day</em> delay.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
<p>Setting <code><a href="../Structs/RulesManager.html#/s:5Siren12RulesManagerV15releasedForDaysSivp">releasedForDays</a></code> to <em>0 days</em> causes the alert to appear right away, even if the binary isn&rsquo;t available.
<p>Setting <code>releasedForDays</code> to <em>0 days</em> causes the alert to appear right away, even if the binary isn&rsquo;t available.
If this value is set to <em>0 days</em>, and an <code>AlertType</code> of type <code>.force</code> is set, it will cause your app to infinitely send the
end-user to the App Store to download a version that&rsquo;s not there and lock them out of your application until the binary is
is available to be downloaded.</p>
@@ -431,56 +255,6 @@ is available to be downloaded.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV04loadB13ForUpdateTypeyAA0B0VAC0fG0OF"></a>
<a name="//apple_ref/swift/Method/loadRulesForUpdateType(_:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV04loadB13ForUpdateTypeyAA0B0VAC0fG0OF">loadRulesForUpdateType(_:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Returns the appropriate update rules based on the type of version that is returned from the API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">loadRulesForUpdateType</span><span class="p">(</span><span class="n">_</span> <span class="nv">type</span><span class="p">:</span> <span class="kt"><a href="../Structs/RulesManager/UpdateType.html">UpdateType</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>type</em>
</code>
</td>
<td>
<div>
<p>The type of app update.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The appropriate rule based on the type of app update that is returned by the API.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -563,8 +337,8 @@ the appropriate ruleset is used to present the update alert.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+6 -44
View File
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -295,8 +257,8 @@ the appropriate ruleset is used to present the update alert.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
+232
View File
@@ -0,0 +1,232 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>UpdateResults Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/UpdateResults" class="dashAnchor"></a>
<a title="UpdateResults Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Siren Reference</a>
<img id="carat" src="../img/carat.png" />
UpdateResults Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>UpdateResults</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">UpdateResults</span></code></pre>
</div>
</div>
<p>The relevant metadata returned from Siren upon completing a successful version check.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren13UpdateResultsV11alertActionAA05AlertE0Ovp"></a>
<a name="//apple_ref/swift/Property/alertAction" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV11alertActionAA05AlertE0Ovp">alertAction</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The <code>UIAlertAction</code> the user chose upon being presented with the update alert.
Defaults to <code>unknown</code> until an alert is actually presented.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">alertAction</span><span class="p">:</span> <span class="kt"><a href="../Enums/AlertAction.html">AlertAction</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13UpdateResultsV12localizationAA12LocalizationVvp"></a>
<a name="//apple_ref/swift/Property/localization" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV12localizationAA12LocalizationVvp">localization</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The Siren-supported locale that was used for the string in the update alert.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">localization</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization.html">Localization</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13UpdateResultsV5modelAA5ModelVvp"></a>
<a name="//apple_ref/swift/Property/model" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV5modelAA5ModelVvp">model</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The Swift-mapped and unwrapped API model, if a successful version check was performed.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">let</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/Model.html">Model</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13UpdateResultsV10updateTypeAA12RulesManagerV0bE0Ovp"></a>
<a name="//apple_ref/swift/Property/updateType" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV10updateTypeAA12RulesManagerV0bE0Ovp">updateType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The type of update that was returned for the API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">updateType</span><span class="p">:</span> <span class="kt"><a href="../Structs/RulesManager.html">RulesManager</a></span><span class="o">.</span><span class="kt">UpdateType</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
+9 -1
View File
@@ -219,7 +219,10 @@ header {
.item .token, .item .direct-link {
padding-left: 3px;
margin-left: 15px;
font-size: 11.9px; }
font-size: 11.9px;
transition: all 300ms; }
.item .token-open {
margin-left: 0px; }
.item .discouraged {
text-decoration: line-through; }
.item .declaration-note {
@@ -323,6 +326,7 @@ header {
html.dash header, html.dash #breadcrumbs, html.dash .sidebar {
display: none; }
html.dash .main-content {
width: 980px;
margin-left: 0;
@@ -330,11 +334,15 @@ html.dash .main-content {
width: 100%;
top: 0;
padding-bottom: 0; }
html.dash .height-container {
display: block; }
html.dash .item .token {
margin-left: 0; }
html.dash .content-wrapper {
width: auto; }
html.dash #footer {
position: static; }
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -170,43 +132,11 @@
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)SirenViewController"></a>
<a name="//apple_ref/swift/Class/SirenViewController" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)SirenViewController">SirenViewController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>UIViewController</code> Extension for Siren</p>
<a href="Classes/SirenViewController.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">final</span> <span class="kd">class</span> <span class="kt">SirenViewController</span> <span class="p">:</span> <span class="kt">UIViewController</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -166,7 +128,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">ResultsHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt"><a href="../Structs/Results.html">Results</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">typealias</span> <span class="kt">ResultsHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/UpdateResults.html">UpdateResults</a></span><span class="p">,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
</div>
</div>
@@ -293,249 +255,6 @@ skipping the update all together until another version is released.</p>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC23currentInstalledVersionSSSgvp"></a>
<a name="//apple_ref/swift/Property/currentInstalledVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC23currentInstalledVersionSSSgvp">currentInstalledVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current installed version of your app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">lazy</span> <span class="k">var</span> <span class="nv">currentInstalledVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC23didBecomeActiveObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/didBecomeActiveObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC23didBecomeActiveObserverSo8NSObject_pSgvp">didBecomeActiveObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.didBecomeActiveNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">didBecomeActiveObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC24willResignActiveObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/willResignActiveObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC24willResignActiveObserverSo8NSObject_pSgvp">willResignActiveObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.willResignActiveNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">willResignActiveObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC26didEnterBackgroundObserverSo8NSObject_pSgvp"></a>
<a name="//apple_ref/swift/Property/didEnterBackgroundObserver" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC26didEnterBackgroundObserverSo8NSObject_pSgvp">didEnterBackgroundObserver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The retained <code>NotificationCenter</code> observer that listens for <code>UIApplication.didEnterBackgroundNotification</code> notifications.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">didEnterBackgroundObserver</span><span class="p">:</span> <span class="kt">NSObjectProtocol</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC21alertPresentationDate33_7DFB1BC200A6C64FBED860A3A8153B65LL10Foundation0D0VSgvp"></a>
<a name="//apple_ref/swift/Property/alertPresentationDate" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC21alertPresentationDate33_7DFB1BC200A6C64FBED860A3A8153B65LL10Foundation0D0VSgvp">alertPresentationDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The last date that an alert was presented to the user.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">alertPresentationDate</span><span class="p">:</span> <span class="kt">Date</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC5appID33_7DFB1BC200A6C64FBED860A3A8153B65LLSiSgvp"></a>
<a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC5appID33_7DFB1BC200A6C64FBED860A3A8153B65LLSiSgvp">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The App Store&rsquo;s unique identifier for an app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">Int</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC14resultsHandler33_7DFB1BC200A6C64FBED860A3A8153B65LLyAA7ResultsVSg_AA10KnownErrorOSgtcSgvp"></a>
<a name="//apple_ref/swift/Property/resultsHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC14resultsHandler33_7DFB1BC200A6C64FBED860A3A8153B65LLyAA7ResultsVSg_AA10KnownErrorOSgtcSgvp">resultsHandler</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The completion handler used to return the results or errors returned by Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">resultsHandler</span><span class="p">:</span> <span class="kt">Siren</span><span class="o">.</span><span class="kt"><a href="../Classes/Siren.html#/s:5SirenAAC14ResultsHandlera">ResultsHandler</a></span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)Siren(im)init"></a>
<a name="//apple_ref/swift/Method/init()" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)Siren(im)init">init()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The initialization method.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">override</span> <span class="nf">init</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)Siren(im)dealloc"></a>
<a name="//apple_ref/swift/Method/deinit" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)Siren(im)dealloc">deinit</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The deinitialization method that clears out all observers,</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">deinit</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
@@ -550,9 +269,9 @@ skipping the update all together until another version is released.</p>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_yAA7ResultsVSg_AA10KnownErrorOSgtcSgtF"></a>
<a name="/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF"></a>
<a name="//apple_ref/swift/Method/wail(performCheck:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_yAA7ResultsVSg_AA10KnownErrorOSgtcSgtF">wail(performCheck:completion:)</a>
<a class="token" href="#/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF">wail(performCheck:completion:)</a>
</code>
</div>
<div class="height-container">
@@ -638,399 +357,11 @@ instead of using Siren&rsquo;s prebuilt update alert.</p>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Version%20Check%20and%20Alert%20Presentation%20Flow"></a>
<a name="//apple_ref/swift/Section/Version Check and Alert Presentation Flow" class="dashAnchor"></a>
<a href="#/Version%20Check%20and%20Alert%20Presentation%20Flow">
<h3 class="section-name">Version Check and Alert Presentation Flow</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC19performVersionCheck33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/performVersionCheck()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC19performVersionCheck33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">performVersionCheck()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initiates the unidirectional version checking flow.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">performVersionCheck</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC8validate33_7DFB1BC200A6C64FBED860A3A8153B65LL5modelyAA11LookupModelV_tF"></a>
<a name="//apple_ref/swift/Method/validate(model:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC8validate33_7DFB1BC200A6C64FBED860A3A8153B65LL5modelyAA11LookupModelV_tF">validate(model:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Validates the parsed and mapped iTunes Lookup Model
to guarantee all the relevant data was returned before
attempting to present an alert.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">validate</span><span class="p">(</span><span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC45determineIfAlertPresentationRulesAreSatisfied33_7DFB1BC200A6C64FBED860A3A8153B65LL25forCurrentAppStoreVersion14andLookupModelySS_AA0wX0VtF"></a>
<a name="//apple_ref/swift/Method/determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion:andLookupModel:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC45determineIfAlertPresentationRulesAreSatisfied33_7DFB1BC200A6C64FBED860A3A8153B65LL25forCurrentAppStoreVersion14andLookupModelySS_AA0wX0VtF">determineIfAlertPresentationRulesAreSatisfied(forCurrentAppStoreVersion:andLookupModel:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Determines if the update alert can be presented based on the
rules set in the <code><a href="../Structs/RulesManager.html">RulesManager</a></code> and the the skip version settings.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">determineIfAlertPresentationRulesAreSatisfied</span><span class="p">(</span><span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">andLookupModel</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The curren version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC12presentAlert33_7DFB1BC200A6C64FBED860A3A8153B65LL9withRules25forCurrentAppStoreVersion5model13andUpdateTypeyAA0M0V_SSAA11LookupModelVAA0M7ManagerV0uV0OtF"></a>
<a name="//apple_ref/swift/Method/presentAlert(withRules:forCurrentAppStoreVersion:model:andUpdateType:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC12presentAlert33_7DFB1BC200A6C64FBED860A3A8153B65LL9withRules25forCurrentAppStoreVersion5model13andUpdateTypeyAA0M0V_SSAA11LookupModelVAA0M7ManagerV0uV0OtF">presentAlert(withRules:forCurrentAppStoreVersion:model:andUpdateType:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Presents the update alert to the end user.
Upon tapping a value on the alert view, a completion handler will return all relevant metadata to the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">presentAlert</span><span class="p">(</span><span class="n">withRules</span> <span class="nv">rules</span><span class="p">:</span> <span class="kt"><a href="../Structs/Rules.html">Rules</a></span><span class="p">,</span>
<span class="n">forCurrentAppStoreVersion</span> <span class="nv">currentAppStoreVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span>
<span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">,</span>
<span class="n">andUpdateType</span> <span class="nv">updateType</span><span class="p">:</span> <span class="kt"><a href="../Structs/RulesManager.html">RulesManager</a></span><span class="o">.</span><span class="kt">UpdateType</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>rules</em>
</code>
</td>
<td>
<div>
<p>The rules for how to present the alert.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>currentAppStoreVersion</em>
</code>
</td>
<td>
<div>
<p>The current version of the app in the App Store.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>model</em>
</code>
</td>
<td>
<div>
<p>The iTunes Lookup Model.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>updateType</em>
</code>
</td>
<td>
<div>
<p>The type of update that is available based on the version found in the App Store.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Add%20Observers"></a>
<a name="//apple_ref/swift/Section/Add Observers" class="dashAnchor"></a>
<a href="#/Add%20Observers">
<h3 class="section-name">Add Observers</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC26addDidBecomeActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addDidBecomeActiveObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC26addDidBecomeActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addDidBecomeActiveObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for app launching/relaunching.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addDidBecomeActiveObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC27addWillResignActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addWillResignActiveObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC27addWillResignActiveObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addWillResignActiveObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for when the user enters the app switcher.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addWillResignActiveObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC29addDidEnterBackgroundObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/addDidEnterBackgroundObserver()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC29addDidEnterBackgroundObserver33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">addDidEnterBackgroundObserver()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Adds an observer that listens for when the app is sent to the background.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">addDidEnterBackgroundObserver</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Remove%20Observers"></a>
<a name="//apple_ref/swift/Section/Remove Observers" class="dashAnchor"></a>
<a href="#/Remove%20Observers">
<h3 class="section-name">Remove Observers</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC25removeForegroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/removeForegroundObservers()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC25removeForegroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">removeForegroundObservers()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Removes the observer that listens for app launching/relaunching.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">removeForegroundObservers</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC25removeBackgroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF"></a>
<a name="//apple_ref/swift/Method/removeBackgroundObservers()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC25removeBackgroundObservers33_7DFB1BC200A6C64FBED860A3A8153B65LLyyF">removeBackgroundObservers()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Remove the observers that list to app resignation and app backgrounding.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">removeBackgroundObservers</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -178,8 +181,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -243,8 +205,8 @@ for <code>UpdatePromptFrequency</code> and <code>showAlertAfterCurrentVersionHas
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -259,8 +221,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -267,7 +229,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The version of iOS on the device is lower than that of the one required by the app verison update.</p>
<p>The version of iOS on the device is lower than that of the one required by the app version update.</p>
</div>
<div class="declaration">
@@ -524,40 +486,13 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO05sirenC033_B3C911EAD28C83CC211C07566B0F499ALLSSvpZ"></a>
<a name="//apple_ref/swift/Variable/sirenError" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO05sirenC033_B3C911EAD28C83CC211C07566B0F499ALLSSvpZ">sirenError</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>An easily identifiable prefix for all errors thrown by Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">sirenError</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -214,8 +176,8 @@ This value must be set when Siren&rsquo;s <code>wail</code> method is called to
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -265,8 +268,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -426,8 +429,8 @@ if the aforementioned values are nil.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -313,8 +316,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -250,8 +253,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -242,8 +245,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -232,8 +235,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -233,8 +236,8 @@ the Siren alert the next time the user launches the app.</p>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
<a href="Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -303,9 +265,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren11LookupModelV"></a>
<a name="//apple_ref/swift/Struct/LookupModel" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11LookupModelV">LookupModel</a>
<a name="/s:5Siren5ModelV"></a>
<a name="//apple_ref/swift/Struct/Model" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5ModelV">Model</a>
</code>
</div>
<div class="height-container">
@@ -313,47 +275,16 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Model representing a selection of results from the iTunes Lookup API.</p>
<p>The validated and unwrapped <code>APIModel</code>.
This model is presented to the end user in Siren&rsquo;s completion handler.</p>
<a href="Structs/LookupModel.html" class="slightly-smaller">See more</a>
<a href="Structs/Model.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">LookupModel</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren7ResultsV"></a>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren7ResultsV">Results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The relevant metadata returned from Siren upon completing a successful version check.</p>
<a href="Structs/Results.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Results</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">Model</span></code></pre>
</div>
</div>
@@ -399,9 +330,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren10DataParserV"></a>
<a name="//apple_ref/swift/Struct/DataParser" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10DataParserV">DataParser</a>
<a name="/s:5Siren13UpdateResultsV"></a>
<a name="//apple_ref/swift/Struct/UpdateResults" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13UpdateResultsV">UpdateResults</a>
</code>
</div>
<div class="height-container">
@@ -409,15 +340,15 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Version parsing functions for Siren.</p>
<p>The relevant metadata returned from Siren upon completing a successful version check.</p>
<a href="Structs/DataParser.html" class="slightly-smaller">See more</a>
<a href="Structs/UpdateResults.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">DataParser</span></code></pre>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">struct</span> <span class="kt">UpdateResults</span></code></pre>
</div>
</div>
@@ -429,8 +360,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -146,92 +108,6 @@
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV"></a>
<a name="//apple_ref/swift/Struct/Constants" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV">Constants</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constants used in the <code><a href="../Structs/APIManager.html">APIManager</a></code>.</p>
<a href="../Structs/APIManager/Constants.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">struct</span> <span class="kt">Constants</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV17CompletionHandlera"></a>
<a name="//apple_ref/swift/Alias/CompletionHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Return results or errors obtained from performing a version check with Siren.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">typealias</span> <span class="kt">CompletionHandler</span> <span class="o">=</span> <span class="p">(</span><span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">?,</span> <span class="kt"><a href="../Enums/KnownError.html">KnownError</a></span><span class="p">?)</span> <span class="o">-&gt;</span> <span class="kt">Void</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV11countryCodeSSSgvp"></a>
<a name="//apple_ref/swift/Property/countryCode" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV11countryCodeSSSgvp">countryCode</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The region or country of an App Store in which the app is available.
By default, all version check requests are performed against the US App Store.
If the app is not available in the US App Store, set it to the identifier of at least one App Store region within which it is available.</p>
<p><a href="https://help.apple.com/app-store-connect/#/dev997f9cf7c">List of country codes</a></p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">countryCode</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -313,182 +189,11 @@ If the app is not available in the US App Store, set it to the identifier of at
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV26performVersionCheckRequest10completionyyAA11LookupModelVSg_AA10KnownErrorOSgtcSg_tF"></a>
<a name="//apple_ref/swift/Method/performVersionCheckRequest(completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV26performVersionCheckRequest10completionyyAA11LookupModelVSg_AA10KnownErrorOSgtcSg_tF">performVersionCheckRequest(completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates and performs a URLRequest against the iTunes Lookup API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">performVersionCheckRequest</span><span class="p">(</span><span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIManager.html#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler for the iTunes Lookup API request.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV26processVersionCheckResults33_8071139324B24E2065F4037045A8D960LL8withData8response5error10completiony10Foundation0M0VSg_So13NSURLResponseCSgs5Error_pSgyAA11LookupModelVSg_AA05KnownS0OSgtcSgtF"></a>
<a name="//apple_ref/swift/Method/processVersionCheckResults(withData:response:error:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV26processVersionCheckResults33_8071139324B24E2065F4037045A8D960LL8withData8response5error10completiony10Foundation0M0VSg_So13NSURLResponseCSgs5Error_pSgyAA11LookupModelVSg_AA05KnownS0OSgtcSgtF">processVersionCheckResults(withData:response:error:completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Parses and maps the the results from the iTunes Lookup API request.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">processVersionCheckResults</span><span class="p">(</span><span class="n">withData</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">?,</span>
<span class="nv">response</span><span class="p">:</span> <span class="kt">URLResponse</span><span class="p">?,</span>
<span class="nv">error</span><span class="p">:</span> <span class="kt">Error</span><span class="p">?,</span>
<span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIManager.html#/s:5Siren10APIManagerV17CompletionHandlera">CompletionHandler</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>The JSON data returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>response</em>
</code>
</td>
<td>
<div>
<p>The response metadata returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>error</em>
</code>
</td>
<td>
<div>
<p>The error returned from the request.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>The completion handler to call once the results of the request has been processed.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV13makeITunesURL33_8071139324B24E2065F4037045A8D960LL10Foundation0E0VyKF"></a>
<a name="//apple_ref/swift/Method/makeITunesURL()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV13makeITunesURL33_8071139324B24E2065F4037045A8D960LL10Foundation0E0VyKF">makeITunesURL()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Creates the URL that points to the iTunes Lookup API.</p>
<div class="aside aside-throws">
<p class="aside-title">Throws</p>
An error if the URL cannot be created.
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">func</span> <span class="nf">makeITunesURL</span><span class="p">()</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">URL</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The iTunes Lookup API URL.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -205,8 +208,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -0,0 +1,247 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>APIModel Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/APIModel" class="dashAnchor"></a>
<a title="APIModel Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Siren Reference</a>
<img id="carat" src="../img/carat.png" />
APIModel Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>APIModel</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">APIModel</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
<p>Model representing a selection of results from the iTunes Lookup API.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO"></a>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO">CodingKeys</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Codable Coding Keys for the Top-Level iTunes Lookup API JSON response.</p>
<a href="../Structs/APIModel/CodingKeys.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7resultsSayAC7ResultsVGvp"></a>
<a name="//apple_ref/swift/Property/results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7resultsSayAC7ResultsVGvp">results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The array of results objects from the iTunes Lookup API.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">results</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Structs/APIModel/Results.html">Results</a></span><span class="p">]</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV"></a>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV">Results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The Results object from the the iTunes Lookup API.</p>
<a href="../Structs/APIModel/Results.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Results</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
@@ -0,0 +1,191 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CodingKeys Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../js/jquery.min.js" defer></script>
<script src="../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a title="CodingKeys Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../index.html">Siren Reference</a>
<img id="carat" src="../../img/carat.png" />
CodingKeys Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>CodingKeys</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
<p>Codable Coding Keys for the Top-Level iTunes Lookup API JSON response.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7resultsyA2FmF"></a>
<a name="//apple_ref/swift/Element/results" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7resultsyA2FmF">results</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The results JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">results</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
@@ -0,0 +1,327 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Results Structure Reference</title>
<link rel="stylesheet" type="text/css" href="../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../js/jquery.min.js" defer></script>
<script src="../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Struct/Results" class="dashAnchor"></a>
<a title="Results Structure Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../index.html">Siren Reference</a>
<img id="carat" src="../../img/carat.png" />
Results Structure Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Results</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Results</span> <span class="p">:</span> <span class="kt">Decodable</span></code></pre>
</div>
</div>
<p>The Results object from the the iTunes Lookup API.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO"></a>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO">CodingKeys</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Codable Coding Keys for the Results array in the iTunes Lookup API JSON response.</p>
<a href="../../Structs/APIModel/Results/CodingKeys.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV5appIDSivp"></a>
<a name="//apple_ref/swift/Property/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV5appIDSivp">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The app&rsquo;s App ID.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">appID</span><span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV25currentVersionReleaseDateSSvp"></a>
<a name="//apple_ref/swift/Property/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV25currentVersionReleaseDateSSvp">currentVersionReleaseDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The release date for the latest verison of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">currentVersionReleaseDate</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV16minimumOSVersionSSvp"></a>
<a name="//apple_ref/swift/Property/minimumOSVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV16minimumOSVersionSSvp">minimumOSVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum verison of iOS that the current verison of the app requires.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">minimumOSVersion</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV12releaseNotesSSSgvp"></a>
<a name="//apple_ref/swift/Property/releaseNotes" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV12releaseNotesSSSgvp">releaseNotes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The releases notes from the latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">releaseNotes</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV7versionSSvp"></a>
<a name="//apple_ref/swift/Property/version" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV7versionSSvp">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The latest version of the app.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">version</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
@@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CodingKeys Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../../../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../../../css/highlight.css" />
<meta charset='utf-8'>
<script src="../../../js/jquery.min.js" defer></script>
<script src="../../../js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/CodingKeys" class="dashAnchor"></a>
<a title="CodingKeys Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../../../index.html">Siren Docs</a> (100% documented)</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../../../index.html">Siren Reference</a>
<img id="carat" src="../../../img/carat.png" />
CodingKeys Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../../../Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Enums/AlertAction.html">AlertAction</a>
</li>
<li class="nav-group-task">
<a href="../../../Enums/KnownError.html">KnownError</a>
</li>
<li class="nav-group-task">
<a href="../../../Enums/PerformCheck.html">PerformCheck</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Localization.html">Localization</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules.html">Rules</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/Rules/UpdatePromptFrequency.html"> UpdatePromptFrequency</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/RulesManager.html">RulesManager</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>CodingKeys</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">enum</span> <span class="kt">CodingKeys</span> <span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">CodingKey</span></code></pre>
</div>
</div>
<p>Codable Coding Keys for the Results array in the iTunes Lookup API JSON response.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO5appIDyA2HmF"></a>
<a name="//apple_ref/swift/Element/appID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO5appIDyA2HmF">appID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The appID JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">appID</span> <span class="o">=</span> <span class="s">"trackId"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO25currentVersionReleaseDateyA2HmF"></a>
<a name="//apple_ref/swift/Element/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO25currentVersionReleaseDateyA2HmF">currentVersionReleaseDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current version release date JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">currentVersionReleaseDate</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO16minimumOSVersionyA2HmF"></a>
<a name="//apple_ref/swift/Element/minimumOSVersion" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO16minimumOSVersionyA2HmF">minimumOSVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The minimum device iOS version compatibility JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">minimumOSVersion</span> <span class="o">=</span> <span class="s">"minimumOsVersion"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO12releaseNotesyA2HmF"></a>
<a name="//apple_ref/swift/Element/releaseNotes" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO12releaseNotesyA2HmF">releaseNotes</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The release notes JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">releaseNotes</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7versionyA2HmF"></a>
<a name="//apple_ref/swift/Element/version" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren8APIModelV7ResultsV10CodingKeys33_36C7527D28702FA956B420860C285DA0LLO7versionyA2HmF">version</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The current App Store version JSON key.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">version</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -240,7 +202,7 @@
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The text that conveys the message that the the user wants to skip this verison update.</p>
<p>The text that conveys the message that the the user wants to skip this version update.</p>
</div>
<div class="declaration">
@@ -286,8 +248,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -84,6 +84,15 @@
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel.html">APIModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIModel/Results.html"> Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
@@ -97,20 +106,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +126,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -211,9 +214,9 @@
<li class="item">
<div>
<code>
<a name="/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA11LookupModelV_tFZ"></a>
<a name="/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA8APIModelV_tFZ"></a>
<a name="//apple_ref/swift/Method/isUpdateCompatibleWithDeviceOS(for:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA11LookupModelV_tFZ">isUpdateCompatibleWithDeviceOS(for:)</a>
<a class="token" href="#/s:5Siren10DataParserV30isUpdateCompatibleWithDeviceOS3forSbAA8APIModelV_tFZ">isUpdateCompatibleWithDeviceOS(for:)</a>
</code>
</div>
<div class="height-container">
@@ -228,7 +231,7 @@
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">isUpdateCompatibleWithDeviceOS</span><span class="p">(</span><span class="k">for</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/LookupModel.html">LookupModel</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">static</span> <span class="kd">func</span> <span class="nf">isUpdateCompatibleWithDeviceOS</span><span class="p">(</span><span class="k">for</span> <span class="nv">model</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIModel.html">APIModel</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
</div>
</div>
@@ -378,8 +381,8 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-05-14)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.6</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
<a href="../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -177,120 +139,6 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV7appName33_2FDBEF65899237DA36B11FA5846AD0EALLSSvp"></a>
<a name="//apple_ref/swift/Property/appName" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV7appName33_2FDBEF65899237DA36B11FA5846AD0EALLSSvp">appName</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The name of the app as defined by the <code>Info.plist</code>.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">var</span> <span class="nv">appName</span><span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV13forceLanguage33_2FDBEF65899237DA36B11FA5846AD0EALLAC0D0OSgvp"></a>
<a name="//apple_ref/swift/Property/forceLanguage" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV13forceLanguage33_2FDBEF65899237DA36B11FA5846AD0EALLAC0D0OSgvp">forceLanguage</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Overrides the default localization of a user&rsquo;s device when presenting the update message and button titles in the alert.</p>
<p>See the Siren.Localization.Language enum for more details.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">private</span> <span class="k">let</span> <span class="nv">forceLanguage</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization/Language.html">Language</a></span><span class="p">?</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV7appName016andForceLanguageB0ACSSSg_AC0G0OSgtcfc"></a>
<a name="//apple_ref/swift/Method/init(appName:andForceLanguageLocalization:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV7appName016andForceLanguageB0ACSSSg_AC0G0OSgtcfc">init(appName:andForceLanguageLocalization:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="nf">init</span><span class="p">(</span><span class="nv">appName</span><span class="p">:</span> <span class="kt">String</span><span class="p">?,</span> <span class="n">andForceLanguageLocalization</span> <span class="nv">forceLanguage</span><span class="p">:</span> <span class="kt"><a href="../Structs/Localization/Language.html">Language</a></span><span class="p">?)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>appName</em>
</code>
</td>
<td>
<div>
<p>Overrides the default name of the app. This is optional and defaults to the app that is defined in the <code>Info.plist</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>forceLanguage</em>
</code>
</td>
<td>
<div>
<p>The language the alert to which the alert should be set. If <code>nil</code>, it falls back to the device&rsquo;s preferred locale.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -451,8 +299,8 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -33,9 +33,6 @@
<li class="nav-group-task">
<a href="../../Classes/Siren.html">Siren</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/SirenViewController.html">SirenViewController</a>
</li>
</ul>
</li>
<li class="nav-group-name">
@@ -52,44 +49,15 @@
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Extensions.html">Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Extensions/Bundle.html">Bundle</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Bundle/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/Date.html">Date</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UIAlertController.html">UIAlertController</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults.html">UserDefaults</a>
</li>
<li class="nav-group-task">
<a href="../../Extensions/UserDefaults/SirenKeys.html"> SirenKeys</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Structs.html">Structures</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Structs/APIManager.html">APIManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/APIManager/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertConstants.html">AlertConstants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/DataParser.html">DataParser</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Localization.html">Localization</a>
</li>
@@ -97,20 +65,11 @@
<a href="../../Structs/Localization/Language.html"> Language</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/CodingKeys.html"> CodingKeys</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
<a href="../../Structs/Model.html">Model</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/PresentationManager.html">PresentationManager</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Results.html">Results</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Rules.html">Rules</a>
</li>
@@ -126,6 +85,9 @@
<li class="nav-group-task">
<a href="../../Structs/RulesManager/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/UpdateResults.html">UpdateResults</a>
</li>
</ul>
</li>
</ul>
@@ -986,6 +948,33 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV8LanguageO8romanianyA2EmF"></a>
<a name="//apple_ref/swift/Element/romanian" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV8LanguageO8romanianyA2EmF">romanian</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Romanian Language Localization</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">romanian</span> <span class="o">=</span> <span class="s">"ro"</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1288,8 +1277,8 @@ by setting the forceLanguageLocalization property before calling checkVersion()<
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-09-15)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.11.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
@@ -234,7 +234,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
@@ -178,7 +178,7 @@
</section>
</section>
<section id="footer">
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-02)</p>
<p>&copy; 2019 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev</a>. All rights reserved. (Last updated: 2019-02-09)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.5</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>

Some files were not shown because too many files have changed in this diff Show More