Compare commits

...

96 Commits

Author SHA1 Message Date
Arthur Ariel Sabintsev 6139af3394 Updated podspec 2024-05-04 20:22:58 -04:00
Steve Spigarelli b034739065 Add PrivacyInfo (#422)
Close #420 in favor of #422.
2024-05-04 20:21:14 -04:00
Arthur Ariel Sabintsev e410ed0cbc Update README.md 2023-12-29 20:22:58 -05:00
Arthur Sabintsev dfee0e0e29 Upped podspec 2023-05-17 14:38:53 -04:00
Arthur Sabintsev 6129b57d39 Upped version 2023-05-17 14:31:31 -04:00
blerdfoniqi 0ac904cd51 Adds support for iOS 13 (#411) 2023-05-17 14:20:23 -04:00
Arthur Sabintsev 9b675a8f92 Updated API manager comments and version in Siren 2022-09-20 22:40:00 -04:00
wwwbbat 399e1bfec2 Modify APIManager to make it possible to customize a bundleID. (#404) 2022-09-20 22:34:25 -04:00
Alex Burgel ec892ae746 Ignore skipped versions when using AlertType.force (#405)
fixes #402
2022-09-20 22:29:15 -04:00
Sandro 3bd7b595fb Fixed 'try' must precede 'await' (#400) 2022-06-25 21:35:36 -04:00
Arthur Sabintsev 3d8c83c720 Updated readme 2022-06-02 00:14:12 -04:00
Arthur Sabintsev 466e70236c Removed Gemfiles as cocoapods is now installed via homebrew 2022-06-02 00:13:42 -04:00
Arthur Sabintsev 0fba2a6954 Updated gems 2022-06-02 00:03:39 -04:00
Arthur Sabintsev 8afe1fe943 Updated podspec 2022-06-02 00:02:26 -04:00
Arthur Sabintsev fa7308fdd9 Fixed swiftlint issues 2022-06-02 00:01:53 -04:00
Arthur Sabintsev f7568b6c16 updated vars 2022-06-01 23:48:56 -04:00
Arthur Sabintsev 12d7ba2960 Fixed async compilation issue 2022-06-01 23:45:05 -04:00
Arthur Sabintsev 0325de208a Updated pods 2022-06-01 23:41:49 -04:00
Seokmin bb1fa6fa5c Update dialog can't appear bug (#397)
* Update dialog can't appear bug

Problem
1. Check update as .onForeground (Siren.shared.wail(performCheck: .onForeground))
2. If user swipe down the notification center screen to the bottom of screen (by swiping downward from the very top of the device's screen)
3. And back to app can't appear update dialog

Reason
If swipe down the notification center screen to the bottom of screen
iOS call observer like this
1. starting to swipe down : willResignActiveNotification
2. reached to bottom : didBecomeActiveNotification, willResignActiveNotification

* Update Siren.swift

* Null safety and don't hardcode

The delay time what to consider is it called by notification center screen to bottom become constant
And appDidBecomeActiveWorkItem is used null safety

Co-authored-by: seokmin <jsm@dio.co.kr>
2022-06-01 23:35:22 -04:00
Arthur Sabintsev e3bb33873d Updated podspec 2022-05-19 20:59:19 -04:00
Arthur Sabintsev 4eb08279ac Fixed croation localization. Fixed testing target 2022-05-19 20:55:28 -04:00
dependabot[bot] eb70823f96 Bump cocoapods-downloader from 1.4.0 to 1.6.3 (#392) 2022-04-12 12:35:18 -04:00
Arthur Sabintsev e92ab66220 Updated sample project to facebook 2022-03-23 20:41:28 -04:00
Arthur Sabintsev c265763d25 Updated Siren.podspec 2022-03-23 20:16:35 -04:00
Arthur Sabintsev 3f31c97fc9 Updated comments 2022-03-23 20:14:31 -04:00
Kien Nguyen 609f1653a4 Add lang parameter to APIManager (#391)
Co-authored-by: kientux <kiennt@sapo.vn>
2022-03-23 19:43:49 -04:00
Arthur Sabintsev 07babd6e36 Minor changes to APIManager 2021-09-17 01:00:05 -04:00
Arthur Ariel Sabintsev 8ed72c71c4 iOS 15 Support (#375)
* Updated to latest version of Swift compatible with iOS 15

* Updated docs

* Updated package manager meta files

* Update README.md

* Minor changes

* Minor changes with Xcode 13 RC

* Re ran pod install on sample proj

* Updated readme
2021-09-17 00:50:06 -04:00
dependabot[bot] 05cd85c479 Bump addressable from 2.7.0 to 2.8.0 (#372)
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-22 15:02:46 -04:00
Arthur Sabintsev d8009d69dd Updated meta 2021-05-30 17:52:09 -04:00
Arthur Sabintsev 9173fc5297 Bumped to 5.8.1 2021-01-18 23:43:09 -05:00
Arthur Sabintsev bc4d6aa47a Fixed test target 2021-01-18 23:42:42 -05:00
Hamza Öztürk 64e0b73c3a Update SirenLocalizable.strings (#361) 2021-01-18 23:41:12 -05:00
Arthur Sabintsev a35be9ee2d Updated readme 2021-01-16 20:45:46 -05:00
Arthur Sabintsev f10f6928a3 Updated min version to 13. Added tvos support 2021-01-16 20:44:37 -05:00
Matt Freiburg 380f79053e Add tvOS 13 to if available checks in Presentation Manager (#360)
* Add tvOS 13 to if available checks

* Add queryItem for tvOS App Store

* Move inline tvOS Query parameter strings to Constants struct
2021-01-16 20:37:03 -05:00
Arthur Sabintsev 3197a6dc30 Ypdated swiftlint.yml 2020-12-29 15:34:09 -05:00
Arthur Sabintsev a5f51af7eb Update pod settings 2020-12-29 15:33:33 -05:00
Arthur Sabintsev 3a5a357834 Updated gemfile 2020-12-23 09:37:57 -05:00
Arthur Sabintsev 2f80f8dce2 Updated Bundle extension to be simpler 2020-12-21 11:16:11 -05:00
Arthur Sabintsev 2fa31da639 Updated project 2020-12-21 08:52:25 -05:00
Arthur Sabintsev d137dabe69 Update lockfile 2020-12-21 08:45:59 -05:00
Arthur Sabintsev c563cf5a61 Update Podspec 2020-12-21 08:44:03 -05:00
Arthur Sabintsev 308e1061c8 Merge branch 'master' of https://github.com/ArtSabintsev/Siren 2020-12-21 08:38:03 -05:00
Arthur Ariel Sabintsev 2cffe34e2c Fix Swift PM 5.3 Resource Bundle Migration (#358)
* Updated lockfile

* Updated package.swift

* Updated package.swift

* Updated BundleExtension

* Minified Package.swift file
2020-12-21 08:37:55 -05:00
Arthur Sabintsev 60968544ab Updated lockfile 2020-11-23 14:25:42 -05:00
Arthur Sabintsev 51b08a20c3 Updated podspec 2020-11-22 20:27:12 -05:00
Harlan Kellaway 6eb57bcdee Add missing AppStoreCountry values (#355)
Co-authored-by: Harlan Kellaway <hkellaway@users.noreply.github.com>
2020-11-22 18:36:09 -05:00
Arthur Ariel Sabintsev 6d40521756 Update README.md 2020-11-22 14:40:54 -05:00
Arthur Sabintsev 20a4a58b37 Updated to modern gitignore 2020-11-22 13:31:24 -05:00
Arthur Sabintsev 2490dc04db Modifications to .travis.yml 2020-11-22 08:09:41 -05:00
Arthur Ariel Sabintsev 9275cc2794 Update README.md 2020-11-22 07:59:51 -05:00
Arthur Sabintsev 336413447b Adjusted travis.yml file 2020-11-22 00:08:49 -05:00
Arthur Sabintsev d8d4bd8f1c Updated README 2020-11-22 00:07:23 -05:00
Arthur Sabintsev b5cc26d007 Fixed schemes 2020-11-22 00:01:34 -05:00
Arthur Sabintsev 5816cf245a Version bump 2020-11-21 23:40:27 -05:00
Arthur Sabintsev d546163f54 Removed FUNDING.yml 2020-11-21 22:10:05 -05:00
Arthur Sabintsev a165a13abd remove docs 2020-11-21 22:08:49 -05:00
Arthur Sabintsev bf49eeb464 Docs are now in html 2020-11-21 22:07:08 -05:00
Arthur Sabintsev 42ab71be3c Removed bundle/config 2020-11-21 22:02:30 -05:00
Arthur Sabintsev dc1bb6b058 Updated travis yml 2020-11-21 21:35:52 -05:00
Arthur Sabintsev 9bb7a43b72 Renamed again to revert github issue 2020-11-21 21:12:28 -05:00
Arthur Sabintsev ef8272aa0e Renamed to fix a github cache issue 2020-11-21 21:12:19 -05:00
Arthur Sabintsev d8b9283143 Updated docs 2020-11-21 21:11:48 -05:00
Arthur Sabintsev a8ffb6b410 Re-added how gems are installed 2020-11-21 21:11:02 -05:00
Arthur Sabintsev 4dc392f964 Added docs 2020-11-21 20:56:05 -05:00
Arthur Sabintsev 36fb52a574 Minor changes to structure of repo 2020-11-21 20:55:19 -05:00
Arthur Sabintsev 994e44b4fd Deleted out of date docs. Updated other metadata 2020-11-21 20:53:15 -05:00
Arthur Sabintsev 3340418fba Updated Gems 2020-11-21 20:38:06 -05:00
Arthur Sabintsev d655412b7c Fixed Example project 2020-11-21 20:28:24 -05:00
Arthur Sabintsev 90a052c920 Fixed Example project 2020-11-21 20:27:34 -05:00
Arthur Sabintsev 723f73f371 Fixed Example project 2020-11-21 20:27:16 -05:00
Arthur Sabintsev 784ef62967 Updated sample project. Removed Carthage support. Updated Readme 2020-11-21 14:36:44 -05:00
Arthur Ariel Sabintsev 5680814481 Minor spacing change 2020-11-21 13:30:00 -05:00
Arthur Ariel Sabintsev 4b96af4cfc Project-level updates + AppStoreCountry updates 2020-11-21 13:22:30 -05:00
Harlan Kellaway 48cc0e53d8 Type for App Store country (#352)
* Structured type for AppStore country

* Example usage of AppStoreCountry

* Add all App Store country codes

Co-authored-by: Harlan Kellaway <hkellaway@users.noreply.github.com>
2020-11-20 23:11:31 -05:00
Arthur Ariel Sabintsev 1f6ae4635d Removed iOS 13-specific code that's no longer needed or was never working in SirenVC 2020-10-31 08:40:54 -04:00
Arthur Ariel Sabintsev eeb186481e Merge branch 'master' of https://github.com/ArtSabintsev/Siren 2020-09-20 23:37:10 -04:00
Arthur Ariel Sabintsev aade02d4f6 Update README.md 2020-09-20 23:35:30 -04:00
Arthur Ariel Sabintsev 8a0dd7378a Updated podspec 2020-09-20 23:34:31 -04:00
Arthur Ariel Sabintsev 94d8ffb70f Adds missing state to scene management (#348) 2020-09-20 23:33:24 -04:00
Arthur Ariel Sabintsev a24b0ba657 Updated podspec 2020-07-20 20:15:30 -04:00
Danil Shkarupin 9ec4235c67 Fixed case when system notification is shown when trying to show Siren alert (#342)
* Fixed for case when system notification is shown when trying to show Siren alert

* Made Siren alert window optional for cases when app does not have a foreground scene

Co-authored-by: Danil Shkarupin <shkarupinde@spb.psbank.ru>
2020-07-20 20:14:39 -04:00
Arthur Ariel Sabintsev 918dac71d3 Update README.md 2020-06-14 23:35:54 -04:00
Arthur Ariel Sabintsev e99df968fb Update README.md 2020-06-14 23:32:33 -04:00
Arthur Ariel Sabintsev ce5312f8c8 Updated Package.swift 2020-06-14 23:31:19 -04:00
Arthur Ariel Sabintsev 4430cdd272 Merge branch 'master' of https://github.com/ArtSabintsev/Siren 2020-06-14 23:31:03 -04:00
Arthur Ariel Sabintsev b96dfe3790 Update README.md 2020-06-14 23:30:34 -04:00
Arthur Ariel Sabintsev 1a37f10ef2 Update manifest file 2020-06-13 15:58:39 -04:00
Arthur Ariel Sabintsev c0f7d2375c Updated manifest 2020-06-13 15:29:17 -04:00
Arthur Ariel Sabintsev bb8a8c91cf Updated package.swift 2020-06-12 14:29:51 -04:00
Arthur Ariel Sabintsev 323887c21b Updated Package.swift and manifest 2020-06-12 13:44:31 -04:00
Arthur Ariel Sabintsev d828943e4d Updated package.swift 2020-06-12 12:34:36 -04:00
Arthur Ariel Sabintsev c3eb837d8f Updated manifest...again 2020-06-12 12:20:36 -04:00
Arthur Ariel Sabintsev 4198ad9e89 Updated podspec 2020-06-12 12:17:12 -04:00
Arthur Ariel Sabintsev 69092ff70c Update Package.swift 2020-06-12 12:15:20 -04:00
283 changed files with 2649 additions and 58438 deletions
+1 -1
View File
@@ -1 +1 @@
docs/* linguist-vendored
Docs/* linguist-vendored
-3
View File
@@ -1,3 +0,0 @@
# These are supported funding model platforms
github: ArtSabintsev
+52 -5
View File
@@ -1,6 +1,12 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
@@ -9,11 +15,52 @@ build/
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
xcuserdata/
## Other
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
.DS_Store
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
-1
View File
@@ -1 +0,0 @@
ruby-2.6.0
+3 -5
View File
@@ -2,14 +2,12 @@ reporter: "xcode"
included:
- ../Sources/
- Example/Tests/
disabled_rules:
- cyclomatic_complexity
- identifier_name
- file_length
- line_length
- nesting
- unused_optional_binding
- variable_name
# Specialized Rules
file_length:
- 500
+4 -1
View File
@@ -6,8 +6,11 @@ notifications:
before_install:
- brew update
- gem install bundler
- bundle
- cd Example/
- pod install
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
- xcodebuild -workspace Example.xcworkspace -scheme Example -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
+131 -315
View File
@@ -7,35 +7,14 @@
objects = {
/* Begin PBXBuildFile section */
5913ECF89C0DE3BEB22031BE /* Pods_Example_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3207656F9030B2912198AF2E /* Pods_Example_Tests.framework */; };
8E1635A91E6A0B9C0060CE27 /* SirenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EE6C74C1E6A0AE100DBE454 /* SirenTests.swift */; };
8EA6AAB323F2424600283B43 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EA6AAB223F2424600283B43 /* Default-568h@2x.png */; };
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 */; };
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, ); }; };
E7269D91A22F64E1A0C661C5 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37940350BF612EEBD59D5DF4 /* Pods_Example.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -46,13 +25,6 @@
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 */
@@ -62,7 +34,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
8EF9F88F224EB00100B20545 /* Siren.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -70,9 +41,13 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
55EC364A1E6BB98A00726F13 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../../Siren/Info.plist; sourceTree = "<group>"; };
3008B0CC506A71223653ED92 /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = "<group>"; };
31A1A1D27EA05F1E28033516 /* Pods-Example-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Tests.release.xcconfig"; path = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests.release.xcconfig"; sourceTree = "<group>"; };
3207656F9030B2912198AF2E /* Pods_Example_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
37940350BF612EEBD59D5DF4 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5A65216266BE44478A3B3AEB /* Pods-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.debug.xcconfig"; path = "Target Support Files/Pods-Tests/Pods-Tests.debug.xcconfig"; sourceTree = "<group>"; };
740DAA3321466F1ABE6CC37D /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
8E3A6C041D07CB6F00A8B7CF /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
8EA6AAB223F2424600283B43 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; 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>"; };
@@ -82,29 +57,8 @@
8EC391811A58B465001C121E /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
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>"; };
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>"; };
E83E47CD9052083916E39F84 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
EA761E9782C2024D152342D4 /* Pods-Example-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-Tests.debug.xcconfig"; path = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -112,6 +66,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5913ECF89C0DE3BEB22031BE /* Pods_Example_Tests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -119,23 +74,31 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8EF9F88E224EB00100B20545 /* Siren.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8EF9F850224EACA500B20545 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
E7269D91A22F64E1A0C661C5 /* Pods_Example.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
781697C27F2F128F70738C30 /* Pods */ = {
isa = PBXGroup;
children = (
740DAA3321466F1ABE6CC37D /* Pods-Example.debug.xcconfig */,
E83E47CD9052083916E39F84 /* Pods-Example.release.xcconfig */,
5A65216266BE44478A3B3AEB /* Pods-Tests.debug.xcconfig */,
3008B0CC506A71223653ED92 /* Pods-Tests.release.xcconfig */,
EA761E9782C2024D152342D4 /* Pods-Example-Tests.debug.xcconfig */,
31A1A1D27EA05F1E28033516 /* Pods-Example-Tests.release.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
8E641D2420C8B44B00908555 /* Frameworks */ = {
isa = PBXGroup;
children = (
37940350BF612EEBD59D5DF4 /* Pods_Example.framework */,
3207656F9030B2912198AF2E /* Pods_Example_Tests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -157,7 +120,6 @@
8EACA96B1F37F2D3003134CA /* Images.xcassets */,
8EACA96C1F37F2D3003134CA /* Info.plist */,
8EACA96D1F37F2D3003134CA /* ViewController.swift */,
55EC364A1E6BB98A00726F13 /* Info.plist */,
);
path = "Supporting Files";
sourceTree = "<group>";
@@ -165,12 +127,11 @@
8EC391781A58B465001C121E = {
isa = PBXGroup;
children = (
8EA6AAB223F2424600283B43 /* Default-568h@2x.png */,
8EACA9651F37F2D3003134CA /* Example */,
8EE6C74A1E6A0AE100DBE454 /* Tests */,
8EF9F854224EACA500B20545 /* Siren */,
8EC391821A58B465001C121E /* Products */,
8E641D2420C8B44B00908555 /* Frameworks */,
781697C27F2F128F70738C30 /* Pods */,
);
sourceTree = "<group>";
};
@@ -179,7 +140,6 @@
children = (
8EC391811A58B465001C121E /* Example.app */,
8E3A6C041D07CB6F00A8B7CF /* Tests.xctest */,
8EF9F853224EACA500B20545 /* Siren.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -193,100 +153,18 @@
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 */,
8EF9F863224EACB100B20545 /* PresentationManager.swift */,
8EF9F862224EACB100B20545 /* RulesManager.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 */,
8EF9F86B224EACB100B20545 /* PerformCheck.swift */,
8EF9F86A224EACB100B20545 /* Rules.swift */,
8EF9F86C224EACB100B20545 /* UpdateResults.swift */,
);
name = Models;
path = ../../Sources/Models;
sourceTree = "<group>";
};
8EF9F86E224EACB100B20545 /* Extensions */ = {
isa = PBXGroup;
children = (
8EF9F870224EACB100B20545 /* BundleExtension.swift */,
8EF9F872224EACB100B20545 /* DateExtension.swift */,
8EF9F86F224EACB100B20545 /* UIAlertControllerExtension.swift */,
8EF9F871224EACB100B20545 /* UserDefaultsExtension.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 */
8EF9F84E224EACA500B20545 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8E3A6C031D07CB6F00A8B7CF /* Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8E3A6C0D1D07CB6F00A8B7CF /* Build configuration list for PBXNativeTarget "Tests" */;
buildPhases = (
F0D788DF78612C5704C442B8 /* [CP] Check Pods Manifest.lock */,
8E3A6C001D07CB6F00A8B7CF /* Sources */,
8E3A6C011D07CB6F00A8B7CF /* Frameworks */,
8E3A6C021D07CB6F00A8B7CF /* Resources */,
F4829FA85904971576C7920A /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -302,40 +180,23 @@
isa = PBXNativeTarget;
buildConfigurationList = 8EC391A01A58B466001C121E /* Build configuration list for PBXNativeTarget "Example" */;
buildPhases = (
007D5BEF60AE64704A038FBF /* [CP] Check Pods Manifest.lock */,
8EC3917D1A58B465001C121E /* Sources */,
8EC3917E1A58B465001C121E /* Frameworks */,
8EE3A3F81E6A0E470010BDCE /* SwiftLint */,
8EC3917F1A58B465001C121E /* Resources */,
8EF9F892224EB00200B20545 /* Embed Frameworks */,
E31482FEAF1E4460E554FDD1 /* [CP] Embed Pods 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 */
@@ -344,7 +205,7 @@
attributes = {
LastSwiftMigration = 0700;
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 1020;
LastUpgradeCheck = 1220;
ORGANIZATIONNAME = "Sabintsev iOS Projects";
TargetAttributes = {
8E3A6C031D07CB6F00A8B7CF = {
@@ -369,12 +230,6 @@
};
};
};
8EF9F852224EACA500B20545 = {
CreatedOnToolsVersion = 10.2;
DevelopmentTeam = HT94948NDD;
LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 8EC3917C1A58B465001C121E /* Build configuration list for PBXProject "Example" */;
@@ -392,7 +247,6 @@
targets = (
8EC391801A58B465001C121E /* Example */,
8E3A6C031D07CB6F00A8B7CF /* Tests */,
8EF9F852224EACA500B20545 /* Siren */,
);
};
/* End PBXProject section */
@@ -410,23 +264,36 @@
buildActionMask = 2147483647;
files = (
8EACA9711F380294003134CA /* LaunchScreen.xib in Resources */,
8EA6AAB323F2424600283B43 /* Default-568h@2x.png in Resources */,
8EACA9721F380294003134CA /* Main.storyboard in Resources */,
8EACA9731F380294003134CA /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8EF9F851224EACA500B20545 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8EF9F88B224EACB200B20545 /* Siren.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
007D5BEF60AE64704A038FBF /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
8EE3A3F81E6A0E470010BDCE /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -441,6 +308,64 @@
shellPath = /bin/sh;
shellScript = "if which swiftlint >/dev/null; then\nswiftlint lint --config ../.swiftlint.yml\nelse\necho \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi";
};
E31482FEAF1E4460E554FDD1 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Siren/Siren.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Siren.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
F0D788DF78612C5704C442B8 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Example-Tests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
F4829FA85904971576C7920A /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Example-Tests/Pods-Example-Tests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/Siren/Siren.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Siren.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example-Tests/Pods-Example-Tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -461,32 +386,6 @@
);
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 */
@@ -495,11 +394,6 @@
target = 8EC391801A58B465001C121E /* Example */;
targetProxy = 8E3A6C091D07CB6F00A8B7CF /* PBXContainerItemProxy */;
};
8EF9F891224EB00100B20545 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 8EF9F852224EACA500B20545 /* Siren */;
targetProxy = 8EF9F890224EB00100B20545 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -524,6 +418,7 @@
/* Begin XCBuildConfiguration section */
8E3A6C0B1D07CB6F00A8B7CF /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = EA761E9782C2024D152342D4 /* Pods-Example-Tests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -531,7 +426,7 @@
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.sabintsev.SirenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -542,6 +437,7 @@
};
8E3A6C0C1D07CB6F00A8B7CF /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 31A1A1D27EA05F1E28033516 /* Pods-Example-Tests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
@@ -550,7 +446,7 @@
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.sabintsev.SirenTests;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -582,6 +478,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -606,7 +503,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -637,6 +534,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -654,7 +552,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_VERSION = 4.2;
@@ -664,15 +562,16 @@
};
8EC391A11A58B466001C121E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 740DAA3321466F1ABE6CC37D /* Pods-Example.debug.xcconfig */;
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;
INFOPLIST_FILE = "$(SRCROOT)/Example/Supporting Files/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
MARKETING_VERSION = 2.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.Facebook;
PRODUCT_NAME = Example;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -681,15 +580,16 @@
};
8EC391A21A58B466001C121E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E83E47CD9052083916E39F84 /* Pods-Example.release.xcconfig */;
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;
INFOPLIST_FILE = "$(SRCROOT)/Example/Supporting Files/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.apple.AppStoreConnect;
MARKETING_VERSION = 2.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.facebook.Facebook;
PRODUCT_NAME = Example;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
@@ -697,81 +597,6 @@
};
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 */
@@ -802,15 +627,6 @@
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 */;
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Example.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
+3 -3
View File
@@ -21,13 +21,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
/// Siren initializes a listener on `didBecomeActiveNotification` to perform version checks.
// defaultExample()
defaultExampleUsingCompletionHandler()
// defaultExampleUsingCompletionHandler()
// manualExampleWithCompletionHandler()
// minimalCustomizationPresentationExample()
// forceLocalizationCustomizationPresentationExample()
// customMessagingPresentationExample()
// annoyingRuleExample()
// hyperCriticalRulesExample()
hyperCriticalRulesExample()
// updateSpecificRulesExample()
// customAlertRulesExample()
// appStoreCountryChangeExample()
@@ -226,7 +226,7 @@ private extension AppDelegate {
/// This example function illustrates how this can be done by checking against the Russian App Store.
func appStoreCountryChangeExample() {
let siren = Siren.shared
siren.apiManager = APIManager(countryCode: "RU")
siren.apiManager = APIManager(country: .russia)
siren.wail { results in
switch results {

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+1 -1
View File
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
@@ -21,4 +21,3 @@ class ViewController: UIViewController {
}
}
+10
View File
@@ -0,0 +1,10 @@
platform :ios, '15.0'
inhibit_all_warnings!
use_frameworks!
target 'Example' do
pod 'Siren', :path => '../'
target 'Tests' do
end
end
+16
View File
@@ -0,0 +1,16 @@
PODS:
- Siren (6.0.2)
DEPENDENCIES:
- Siren (from `../`)
EXTERNAL SOURCES:
Siren:
:path: "../"
SPEC CHECKSUMS:
Siren: 1be92ef5775f9b61ebb294c79c59268ab0afcf5d
PODFILE CHECKSUM: 5800641824958ea506d6ae52e89b594fe8270c18
COCOAPODS: 1.11.2
+24
View File
@@ -0,0 +1,24 @@
{
"name": "Siren",
"version": "6.0.2",
"swift_versions": "5.5",
"summary": "Notify users that a new version of your iOS app is available, and prompt them with the App Store link.",
"homepage": "https://github.com/ArtSabintsev/Siren",
"license": "MIT",
"authors": {
"Arthur Ariel Sabintsev": "arthur@sabintsev.com"
},
"description": "Notify your users when a new version of your iOS app is available, and prompt them with the App Store link.",
"platforms": {
"ios": "15.0",
"tvos": "15.0"
},
"source": {
"git": "https://github.com/ArtSabintsev/Siren.git",
"tag": "6.0.2"
},
"source_files": "Sources/**/*.swift",
"resources": "Sources/Siren.bundle",
"requires_arc": true,
"swift_version": "5.5"
}
+16
View File
@@ -0,0 +1,16 @@
PODS:
- Siren (6.0.2)
DEPENDENCIES:
- Siren (from `../`)
EXTERNAL SOURCES:
Siren:
:path: "../"
SPEC CHECKSUMS:
Siren: 1be92ef5775f9b61ebb294c79c59268ab0afcf5d
PODFILE CHECKSUM: 5800641824958ea506d6ae52e89b594fe8270c18
COCOAPODS: 1.11.2
+902
View File
@@ -0,0 +1,902 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
151BA7773369BE5FC2A1A56A0ADB1E11 /* PerformCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7637C46E7C27C83B4C31CECE3D6064B4 /* PerformCheck.swift */; };
158B5EA21F24D8A42B2C0DA33D6911D2 /* UIAlertControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F20FBAD7ADBFD07AF8183236B4ECE297 /* UIAlertControllerExtension.swift */; };
18AAE788DE1B28510F53F35A0E68214F /* AppStoreCountry.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCAD38316B970AACF9940545155FFAF8 /* AppStoreCountry.swift */; };
1D79DF28DA9C6AA8026CBFF47184B6AF /* AlertConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D5FEFBCEC302A522182EEE37AD81B3 /* AlertConstants.swift */; };
268E0E6589DE799396C3FBF264AD3996 /* RulesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E841994E6AE2DF727221123E0ED744A /* RulesManager.swift */; };
300E952C78F6EA5BEBF5B5E31F3706E0 /* DateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9220E906478C87C685A81A5177136643 /* DateExtension.swift */; };
32AEE3D9A55EC66EBCE39C3A38D01126 /* Pods-Example-Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F92A716E93EDF48D0C9EF3C5062B558 /* Pods-Example-Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
425B752B150AAEF5221916E9FC670153 /* KnownError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4681015D4D44EB9A4302B2A179FD809F /* KnownError.swift */; };
428DE866FE6650BC83086E281DAD66F2 /* BundleExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11BFB38B8D147BDF94B9415C0F2DE13A /* BundleExtension.swift */; };
45303C99CEDE9EBA4990949652F4B28D /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62176AC744B2DC815BA7CD121F4EA473 /* Model.swift */; };
487B8148F836C8A64C6ECBBE67126ECA /* Pods-Example-Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AEAE97BBEB3D5E4F45CEC2708FAFB72C /* Pods-Example-Tests-dummy.m */; };
4B4BB6D6D4B49D976A961CEBCA97BC05 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
4ECA4FF1C7B4AC6DF846045C5B720A0B /* AlertAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF347B3A55392D1407E1A4ABC8114173 /* AlertAction.swift */; };
56AC6974308EB4B394AAF9B703DC7A47 /* Localization.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB4D2B7323F8C610677B540FEEC7673C /* Localization.swift */; };
5B9E7420A0284E837C04012B528EAE4A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
6522773E85791CCB1A7256E5C3201E75 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 850060B744F1FDFB6ADCAFD76D4D34EB /* Pods-Example-dummy.m */; };
66D1B530F0822D462D840C6E2428F9C0 /* Siren.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7B3EAF82CFAB96C6721BA02F97FC71B /* Siren.swift */; };
9952BF0ED5F6B7F18A07976BDD134D41 /* DataParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97602092A124F5A205482E90225B67EA /* DataParser.swift */; };
A1E89EF77BDD0C8D1EE8AAE743D82ED4 /* Siren-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 94DA749EC12B6582F7B5F8C0E50736F1 /* Siren-dummy.m */; };
A1EA2053268A5D5D9AC11C3D74D5BD4F /* Siren-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2506E5646D43BCE53FBEE1AB44BF4871 /* Siren-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
A73E39544FF12C5E5E54F07B0A2F7F78 /* PresentationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B26CBDBDDF69163D512AED074B4549D /* PresentationManager.swift */; };
AE1B34BAF1974C7DDAF628092F663F7A /* UpdateResults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 567D8AAC664C44A23EBB5EC6B0AA4049 /* UpdateResults.swift */; };
C21F6BE2015F6B8C8540667C5C4EDCF0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; };
C609EB036330DECF2976CE62912E9745 /* SirenViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786A05732FE78B252DC56C9F78F693C0 /* SirenViewController.swift */; };
C988AA88E47FFA79D317BF4291B2A04D /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A8349F11EDA01F629C4C61E99CCFD91 /* UserDefaultsExtension.swift */; };
D95522B7A00F56B9510A8E58BB5AE8ED /* APIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08A780E0CDE0D69B789468679AB277EA /* APIManager.swift */; };
E5F659EBC88C14C084176F93C9F0156D /* Rules.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EABF799D1E792CA3E9194926E78605 /* Rules.swift */; };
F235A549B294F2E848529A1A93F852EB /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 90BF25316BE6972758B31C52602CE12C /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB731D70855188EDE196CEA745D6940A /* APIModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D06B1A9453346F0CDCD7A4DC41A4F92C /* APIModel.swift */; };
FF40E81B2B174F3584493809B90C6668 /* Siren.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3CDA2F82B5CE0BD747E1FE8BA63539AD /* Siren.bundle */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
B52DE15DFA6D788DDC41A589FA9AD9E8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = A0E2640B83527AE54205D7FDE9C5D930;
remoteInfo = Siren;
};
BF9CC9039B7878DA61A42FFBD3A22E9F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = A0E2640B83527AE54205D7FDE9C5D930;
remoteInfo = Siren;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
033A17C59E0896996DE69A71A44F74D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
07692E025EFBB5F5C9DD63817289A7F2 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
08A780E0CDE0D69B789468679AB277EA /* APIManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = APIManager.swift; sourceTree = "<group>"; };
11BFB38B8D147BDF94B9415C0F2DE13A /* BundleExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BundleExtension.swift; sourceTree = "<group>"; };
17E70395B3CDD0B7EDA622612E2C3144 /* Siren.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Siren.framework; sourceTree = BUILT_PRODUCTS_DIR; };
19D5FEFBCEC302A522182EEE37AD81B3 /* AlertConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertConstants.swift; sourceTree = "<group>"; };
1BA24BC1E607E24F1C9AED046EE27110 /* Pods-Example-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example-Tests.release.xcconfig"; sourceTree = "<group>"; };
1C22073E7207FFF335D3A9EADE0DA51B /* Siren.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Siren.debug.xcconfig; sourceTree = "<group>"; };
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2506E5646D43BCE53FBEE1AB44BF4871 /* Siren-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Siren-umbrella.h"; sourceTree = "<group>"; };
27809964D647C11D4B07299C7B264724 /* Pods-Example-Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example-Tests.debug.xcconfig"; sourceTree = "<group>"; };
2C0257A9A3D8C5B62771A4DDEB17A0ED /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
2F92A716E93EDF48D0C9EF3C5062B558 /* Pods-Example-Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-Tests-umbrella.h"; sourceTree = "<group>"; };
3CDA2F82B5CE0BD747E1FE8BA63539AD /* Siren.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = Siren.bundle; path = Sources/Siren.bundle; sourceTree = "<group>"; };
3F4E87B2E26A88328CDC6588E37F2AD2 /* Siren-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Siren-prefix.pch"; sourceTree = "<group>"; };
4681015D4D44EB9A4302B2A179FD809F /* KnownError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KnownError.swift; sourceTree = "<group>"; };
4E841994E6AE2DF727221123E0ED744A /* RulesManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RulesManager.swift; sourceTree = "<group>"; };
5281882E9C6A7A11616D41DF41B0CC7A /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
567D8AAC664C44A23EBB5EC6B0AA4049 /* UpdateResults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UpdateResults.swift; sourceTree = "<group>"; };
62176AC744B2DC815BA7CD121F4EA473 /* Model.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = "<group>"; };
688C1754B2F8DFC0710F4772C4A75C32 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
6D859521A91F233E653F06300C561D0A /* Pods-Example-Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
6FE61F66C83C50497BB430E4C3C49CD6 /* Pods-Example-Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Tests-Info.plist"; sourceTree = "<group>"; };
70689754D9C1D7660D29312893615F94 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
7637C46E7C27C83B4C31CECE3D6064B4 /* PerformCheck.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PerformCheck.swift; sourceTree = "<group>"; };
786A05732FE78B252DC56C9F78F693C0 /* SirenViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SirenViewController.swift; sourceTree = "<group>"; };
850060B744F1FDFB6ADCAFD76D4D34EB /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
89F8A185DF29707E4DC9BB13872AF702 /* Siren.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = Siren.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
8B26CBDBDDF69163D512AED074B4549D /* PresentationManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PresentationManager.swift; sourceTree = "<group>"; };
8B636D1CA58AC29F35305FCC180DDAD8 /* Siren-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Siren-Info.plist"; sourceTree = "<group>"; };
90BF25316BE6972758B31C52602CE12C /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
9220E906478C87C685A81A5177136643 /* DateExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DateExtension.swift; sourceTree = "<group>"; };
94DA749EC12B6582F7B5F8C0E50736F1 /* Siren-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Siren-dummy.m"; sourceTree = "<group>"; };
97602092A124F5A205482E90225B67EA /* DataParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DataParser.swift; sourceTree = "<group>"; };
9A8349F11EDA01F629C4C61E99CCFD91 /* UserDefaultsExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UserDefaultsExtension.swift; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
A2D5633C9DFACF001D250AC90A2EAD23 /* Pods_Example_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AB37C628ACFCAD98A383C821813EFBBF /* Pods-Example-Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-Tests-frameworks.sh"; sourceTree = "<group>"; };
AB4D2B7323F8C610677B540FEEC7673C /* Localization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Localization.swift; sourceTree = "<group>"; };
AEAE97BBEB3D5E4F45CEC2708FAFB72C /* Pods-Example-Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-Tests-dummy.m"; sourceTree = "<group>"; };
AEB39A55C28B48D98B02090079C5C084 /* Pods-Example-Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Tests-acknowledgements.plist"; sourceTree = "<group>"; };
B297160149C4B307A3DD5A8DDFC7EEF9 /* Siren.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Siren.modulemap; sourceTree = "<group>"; };
CCAD38316B970AACF9940545155FFAF8 /* AppStoreCountry.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppStoreCountry.swift; sourceTree = "<group>"; };
D06B1A9453346F0CDCD7A4DC41A4F92C /* APIModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = APIModel.swift; sourceTree = "<group>"; };
D991827462FB11E20C03858A8A0EF766 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
DDB351CF336FC775897FB3DEFC1AECE1 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = "<group>"; };
EEF458E38855C5A2A0F70C968763EEAD /* Pods-Example-Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example-Tests.modulemap"; sourceTree = "<group>"; };
F1EABF799D1E792CA3E9194926E78605 /* Rules.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Rules.swift; sourceTree = "<group>"; };
F20FBAD7ADBFD07AF8183236B4ECE297 /* UIAlertControllerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UIAlertControllerExtension.swift; sourceTree = "<group>"; };
F5743486693D7F303412A3018B0941CF /* Siren.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Siren.release.xcconfig; sourceTree = "<group>"; };
F7B3EAF82CFAB96C6721BA02F97FC71B /* Siren.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Siren.swift; path = Sources/Siren.swift; sourceTree = "<group>"; };
F924C881D2735430B1A17EDFF024E317 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
FF347B3A55392D1407E1A4ABC8114173 /* AlertAction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertAction.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
19C68C00E0D92CD65F2917255ED5A50B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4B4BB6D6D4B49D976A961CEBCA97BC05 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5E2E02FD05446E0D72F1A5C4F34A57DB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C21F6BE2015F6B8C8540667C5C4EDCF0 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D01825EFADF2015C2D6F895EE2B5C81A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5B9E7420A0284E837C04012B528EAE4A /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
108F8CE4A8FCBCCB97F2FAD6A5B6D6D2 /* Extensions */ = {
isa = PBXGroup;
children = (
11BFB38B8D147BDF94B9415C0F2DE13A /* BundleExtension.swift */,
9220E906478C87C685A81A5177136643 /* DateExtension.swift */,
F20FBAD7ADBFD07AF8183236B4ECE297 /* UIAlertControllerExtension.swift */,
9A8349F11EDA01F629C4C61E99CCFD91 /* UserDefaultsExtension.swift */,
);
name = Extensions;
path = Sources/Extensions;
sourceTree = "<group>";
};
1CB4D55DAEB98D0046DA84E18479FED9 /* View Controllers */ = {
isa = PBXGroup;
children = (
786A05732FE78B252DC56C9F78F693C0 /* SirenViewController.swift */,
);
name = "View Controllers";
path = "Sources/View Controllers";
sourceTree = "<group>";
};
578452D2E740E91742655AC8F1636D1F /* iOS */ = {
isa = PBXGroup;
children = (
73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
62A567EC72AC1F16179364897645F180 /* Utilities */ = {
isa = PBXGroup;
children = (
97602092A124F5A205482E90225B67EA /* DataParser.swift */,
4681015D4D44EB9A4302B2A179FD809F /* KnownError.swift */,
);
name = Utilities;
path = Sources/Utilities;
sourceTree = "<group>";
};
79BF3B1D578C929414C256003C35CDDA /* Pods-Example-Tests */ = {
isa = PBXGroup;
children = (
EEF458E38855C5A2A0F70C968763EEAD /* Pods-Example-Tests.modulemap */,
6D859521A91F233E653F06300C561D0A /* Pods-Example-Tests-acknowledgements.markdown */,
AEB39A55C28B48D98B02090079C5C084 /* Pods-Example-Tests-acknowledgements.plist */,
AEAE97BBEB3D5E4F45CEC2708FAFB72C /* Pods-Example-Tests-dummy.m */,
AB37C628ACFCAD98A383C821813EFBBF /* Pods-Example-Tests-frameworks.sh */,
6FE61F66C83C50497BB430E4C3C49CD6 /* Pods-Example-Tests-Info.plist */,
2F92A716E93EDF48D0C9EF3C5062B558 /* Pods-Example-Tests-umbrella.h */,
27809964D647C11D4B07299C7B264724 /* Pods-Example-Tests.debug.xcconfig */,
1BA24BC1E607E24F1C9AED046EE27110 /* Pods-Example-Tests.release.xcconfig */,
);
name = "Pods-Example-Tests";
path = "Target Support Files/Pods-Example-Tests";
sourceTree = "<group>";
};
85FAA2FE23142B2837AABDED1ABBE431 /* Siren */ = {
isa = PBXGroup;
children = (
3CDA2F82B5CE0BD747E1FE8BA63539AD /* Siren.bundle */,
F7B3EAF82CFAB96C6721BA02F97FC71B /* Siren.swift */,
108F8CE4A8FCBCCB97F2FAD6A5B6D6D2 /* Extensions */,
96395B3494838F55CD3B289AE14E3EBC /* Managers */,
A2735ADBD845397D9F481076C17C1760 /* Models */,
DAE3F5037DE241FD14030F7285578362 /* Pod */,
C9A9CB18FAE1BDEE996F72E1BA74240D /* Support Files */,
62A567EC72AC1F16179364897645F180 /* Utilities */,
1CB4D55DAEB98D0046DA84E18479FED9 /* View Controllers */,
);
name = Siren;
path = ../..;
sourceTree = "<group>";
};
96395B3494838F55CD3B289AE14E3EBC /* Managers */ = {
isa = PBXGroup;
children = (
08A780E0CDE0D69B789468679AB277EA /* APIManager.swift */,
8B26CBDBDDF69163D512AED074B4549D /* PresentationManager.swift */,
4E841994E6AE2DF727221123E0ED744A /* RulesManager.swift */,
);
name = Managers;
path = Sources/Managers;
sourceTree = "<group>";
};
A2735ADBD845397D9F481076C17C1760 /* Models */ = {
isa = PBXGroup;
children = (
FF347B3A55392D1407E1A4ABC8114173 /* AlertAction.swift */,
19D5FEFBCEC302A522182EEE37AD81B3 /* AlertConstants.swift */,
D06B1A9453346F0CDCD7A4DC41A4F92C /* APIModel.swift */,
CCAD38316B970AACF9940545155FFAF8 /* AppStoreCountry.swift */,
AB4D2B7323F8C610677B540FEEC7673C /* Localization.swift */,
62176AC744B2DC815BA7CD121F4EA473 /* Model.swift */,
7637C46E7C27C83B4C31CECE3D6064B4 /* PerformCheck.swift */,
F1EABF799D1E792CA3E9194926E78605 /* Rules.swift */,
567D8AAC664C44A23EBB5EC6B0AA4049 /* UpdateResults.swift */,
);
name = Models;
path = Sources/Models;
sourceTree = "<group>";
};
A8A8EA9BC9538376CEF195F2EAAC8200 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
E91BC7AD44E15DE8E857ACB38F588DF3 /* Pods-Example */,
79BF3B1D578C929414C256003C35CDDA /* Pods-Example-Tests */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
B9E413F3FEAF521324127A009A6039BA /* Products */ = {
isa = PBXGroup;
children = (
1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */,
A2D5633C9DFACF001D250AC90A2EAD23 /* Pods_Example_Tests.framework */,
17E70395B3CDD0B7EDA622612E2C3144 /* Siren.framework */,
);
name = Products;
sourceTree = "<group>";
};
C9A9CB18FAE1BDEE996F72E1BA74240D /* Support Files */ = {
isa = PBXGroup;
children = (
B297160149C4B307A3DD5A8DDFC7EEF9 /* Siren.modulemap */,
94DA749EC12B6582F7B5F8C0E50736F1 /* Siren-dummy.m */,
8B636D1CA58AC29F35305FCC180DDAD8 /* Siren-Info.plist */,
3F4E87B2E26A88328CDC6588E37F2AD2 /* Siren-prefix.pch */,
2506E5646D43BCE53FBEE1AB44BF4871 /* Siren-umbrella.h */,
1C22073E7207FFF335D3A9EADE0DA51B /* Siren.debug.xcconfig */,
F5743486693D7F303412A3018B0941CF /* Siren.release.xcconfig */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/Siren";
sourceTree = "<group>";
};
CA5CC6205CFA8B5868F65C2CE32900E5 /* Development Pods */ = {
isa = PBXGroup;
children = (
85FAA2FE23142B2837AABDED1ABBE431 /* Siren */,
);
name = "Development Pods";
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
CA5CC6205CFA8B5868F65C2CE32900E5 /* Development Pods */,
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
B9E413F3FEAF521324127A009A6039BA /* Products */,
A8A8EA9BC9538376CEF195F2EAAC8200 /* Targets Support Files */,
);
sourceTree = "<group>";
};
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
578452D2E740E91742655AC8F1636D1F /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
DAE3F5037DE241FD14030F7285578362 /* Pod */ = {
isa = PBXGroup;
children = (
70689754D9C1D7660D29312893615F94 /* LICENSE */,
033A17C59E0896996DE69A71A44F74D3 /* README.md */,
89F8A185DF29707E4DC9BB13872AF702 /* Siren.podspec */,
);
name = Pod;
sourceTree = "<group>";
};
E91BC7AD44E15DE8E857ACB38F588DF3 /* Pods-Example */ = {
isa = PBXGroup;
children = (
D991827462FB11E20C03858A8A0EF766 /* Pods-Example.modulemap */,
F924C881D2735430B1A17EDFF024E317 /* Pods-Example-acknowledgements.markdown */,
5281882E9C6A7A11616D41DF41B0CC7A /* Pods-Example-acknowledgements.plist */,
850060B744F1FDFB6ADCAFD76D4D34EB /* Pods-Example-dummy.m */,
DDB351CF336FC775897FB3DEFC1AECE1 /* Pods-Example-frameworks.sh */,
688C1754B2F8DFC0710F4772C4A75C32 /* Pods-Example-Info.plist */,
90BF25316BE6972758B31C52602CE12C /* Pods-Example-umbrella.h */,
07692E025EFBB5F5C9DD63817289A7F2 /* Pods-Example.debug.xcconfig */,
2C0257A9A3D8C5B62771A4DDEB17A0ED /* Pods-Example.release.xcconfig */,
);
name = "Pods-Example";
path = "Target Support Files/Pods-Example";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
57B0EAD2BF26101AE4951B7571E127AC /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
F235A549B294F2E848529A1A93F852EB /* Pods-Example-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
810C4E5C60D9DE47607703BE3EF5C570 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
32AEE3D9A55EC66EBCE39C3A38D01126 /* Pods-Example-Tests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C1B2B775EC37DA6784A580EC336EB857 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
A1EA2053268A5D5D9AC11C3D74D5BD4F /* Siren-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = D3B82CA51562CEF224C9A4BB49C4984C /* Build configuration list for PBXNativeTarget "Pods-Example" */;
buildPhases = (
57B0EAD2BF26101AE4951B7571E127AC /* Headers */,
4FFB70C136C9E782741B288D15B85315 /* Sources */,
5E2E02FD05446E0D72F1A5C4F34A57DB /* Frameworks */,
1D93CD182681FF85B9578413C8D20386 /* Resources */,
);
buildRules = (
);
dependencies = (
5325AFA39850B8A702C4FAF857E8B547 /* PBXTargetDependency */,
);
name = "Pods-Example";
productName = Pods_Example;
productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods_Example.framework */;
productType = "com.apple.product-type.framework";
};
258F10561A9DF823C49949D6176054DD /* Pods-Example-Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = FF4C27B32F8578162520923AA315DD80 /* Build configuration list for PBXNativeTarget "Pods-Example-Tests" */;
buildPhases = (
810C4E5C60D9DE47607703BE3EF5C570 /* Headers */,
222B8840F0BDB57E0AAD162A4612C884 /* Sources */,
19C68C00E0D92CD65F2917255ED5A50B /* Frameworks */,
26CAC077D527B3E5B13B86D2CA4BFF44 /* Resources */,
);
buildRules = (
);
dependencies = (
8292FC67D3422DFD54E714A9A8FF469E /* PBXTargetDependency */,
);
name = "Pods-Example-Tests";
productName = Pods_Example_Tests;
productReference = A2D5633C9DFACF001D250AC90A2EAD23 /* Pods_Example_Tests.framework */;
productType = "com.apple.product-type.framework";
};
A0E2640B83527AE54205D7FDE9C5D930 /* Siren */ = {
isa = PBXNativeTarget;
buildConfigurationList = D32ED6FCE8895E74A4FB89FACB79DC86 /* Build configuration list for PBXNativeTarget "Siren" */;
buildPhases = (
C1B2B775EC37DA6784A580EC336EB857 /* Headers */,
D808E7A6F5C7F3EB841EB711DC313822 /* Sources */,
D01825EFADF2015C2D6F895EE2B5C81A /* Frameworks */,
15A1BDD07A3C42FFD26CA6341DED32EC /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = Siren;
productName = Siren;
productReference = 17E70395B3CDD0B7EDA622612E2C3144 /* Siren.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1240;
LastUpgradeCheck = 1340;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
Base,
en,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = B9E413F3FEAF521324127A009A6039BA /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
258F10561A9DF823C49949D6176054DD /* Pods-Example-Tests */,
A0E2640B83527AE54205D7FDE9C5D930 /* Siren */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
15A1BDD07A3C42FFD26CA6341DED32EC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FF40E81B2B174F3584493809B90C6668 /* Siren.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
1D93CD182681FF85B9578413C8D20386 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
26CAC077D527B3E5B13B86D2CA4BFF44 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
222B8840F0BDB57E0AAD162A4612C884 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
487B8148F836C8A64C6ECBBE67126ECA /* Pods-Example-Tests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
4FFB70C136C9E782741B288D15B85315 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
6522773E85791CCB1A7256E5C3201E75 /* Pods-Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D808E7A6F5C7F3EB841EB711DC313822 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
4ECA4FF1C7B4AC6DF846045C5B720A0B /* AlertAction.swift in Sources */,
1D79DF28DA9C6AA8026CBFF47184B6AF /* AlertConstants.swift in Sources */,
D95522B7A00F56B9510A8E58BB5AE8ED /* APIManager.swift in Sources */,
FB731D70855188EDE196CEA745D6940A /* APIModel.swift in Sources */,
18AAE788DE1B28510F53F35A0E68214F /* AppStoreCountry.swift in Sources */,
428DE866FE6650BC83086E281DAD66F2 /* BundleExtension.swift in Sources */,
9952BF0ED5F6B7F18A07976BDD134D41 /* DataParser.swift in Sources */,
300E952C78F6EA5BEBF5B5E31F3706E0 /* DateExtension.swift in Sources */,
425B752B150AAEF5221916E9FC670153 /* KnownError.swift in Sources */,
56AC6974308EB4B394AAF9B703DC7A47 /* Localization.swift in Sources */,
45303C99CEDE9EBA4990949652F4B28D /* Model.swift in Sources */,
151BA7773369BE5FC2A1A56A0ADB1E11 /* PerformCheck.swift in Sources */,
A73E39544FF12C5E5E54F07B0A2F7F78 /* PresentationManager.swift in Sources */,
E5F659EBC88C14C084176F93C9F0156D /* Rules.swift in Sources */,
268E0E6589DE799396C3FBF264AD3996 /* RulesManager.swift in Sources */,
66D1B530F0822D462D840C6E2428F9C0 /* Siren.swift in Sources */,
A1E89EF77BDD0C8D1EE8AAE743D82ED4 /* Siren-dummy.m in Sources */,
C609EB036330DECF2976CE62912E9745 /* SirenViewController.swift in Sources */,
158B5EA21F24D8A42B2C0DA33D6911D2 /* UIAlertControllerExtension.swift in Sources */,
AE1B34BAF1974C7DDAF628092F663F7A /* UpdateResults.swift in Sources */,
C988AA88E47FFA79D317BF4291B2A04D /* UserDefaultsExtension.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
5325AFA39850B8A702C4FAF857E8B547 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = Siren;
target = A0E2640B83527AE54205D7FDE9C5D930 /* Siren */;
targetProxy = B52DE15DFA6D788DDC41A589FA9AD9E8 /* PBXContainerItemProxy */;
};
8292FC67D3422DFD54E714A9A8FF469E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = Siren;
target = A0E2640B83527AE54205D7FDE9C5D930 /* Siren */;
targetProxy = BF9CC9039B7878DA61A42FFBD3A22E9F /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
33693A1CC9F4648B54726664AFDE566F /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F5743486693D7F303412A3018B0941CF /* Siren.release.xcconfig */;
buildSettings = {
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREFIX_HEADER = "Target Support Files/Siren/Siren-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Siren/Siren-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Siren/Siren.modulemap";
PRODUCT_MODULE_NAME = Siren;
PRODUCT_NAME = Siren;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_VERSION = 5.5;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
7AE7988F711FD5F0C3BBD5F5321193F9 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 1C22073E7207FFF335D3A9EADE0DA51B /* Siren.debug.xcconfig */;
buildSettings = {
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_PREFIX_HEADER = "Target Support Files/Siren/Siren-prefix.pch";
INFOPLIST_FILE = "Target Support Files/Siren/Siren-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/Siren/Siren.modulemap";
PRODUCT_MODULE_NAME = Siren;
PRODUCT_NAME = Siren;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
SWIFT_VERSION = 5.5;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
893704CF3A7D64225E29C0FC0B12E037 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 27809964D647C11D4B07299C7B264724 /* Pods-Example-Tests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
90D4D09BCB6A4660E43ACBE9ECB6FE9A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_DEBUG=1",
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Debug;
};
9553C89E183877A5CB2F3C6801BEC129 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"POD_CONFIGURATION_RELEASE=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_INSTALLED_PRODUCT = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
SYMROOT = "${SRCROOT}/../build";
};
name = Release;
};
A3E9B9058E9A918CE0B415D30ED0A72D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 07692E025EFBB5F5C9DD63817289A7F2 /* Pods-Example.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
B0425CD0BFC3B46122E8E1CC4DB5B5B8 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 2C0257A9A3D8C5B62771A4DDEB17A0ED /* Pods-Example.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example/Pods-Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example/Pods-Example.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
B3B633944F03CF5ACE6C6619C915EC03 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 1BA24BC1E607E24F1C9AED046EE27110 /* Pods-Example-Tests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ENABLE_OBJC_WEAK = NO;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-Example-Tests/Pods-Example-Tests.modulemap";
OTHER_LDFLAGS = "";
OTHER_LIBTOOLFLAGS = "";
PODS_ROOT = "$(SRCROOT)";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
90D4D09BCB6A4660E43ACBE9ECB6FE9A /* Debug */,
9553C89E183877A5CB2F3C6801BEC129 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D32ED6FCE8895E74A4FB89FACB79DC86 /* Build configuration list for PBXNativeTarget "Siren" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7AE7988F711FD5F0C3BBD5F5321193F9 /* Debug */,
33693A1CC9F4648B54726664AFDE566F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D3B82CA51562CEF224C9A4BB49C4984C /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A3E9B9058E9A918CE0B415D30ED0A72D /* Debug */,
B0425CD0BFC3B46122E8E1CC4DB5B5B8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FF4C27B32F8578162520923AA315DD80 /* Build configuration list for PBXNativeTarget "Pods-Example-Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
893704CF3A7D64225E29C0FC0B12E037 /* Debug */,
B3B633944F03CF5ACE6C6619C915EC03 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
LastUpgradeVersion = "1340"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EC391801A58B465001C121E"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:Example.xcodeproj">
BlueprintIdentifier = "258F10561A9DF823C49949D6176054DD"
BuildableName = "Pods_Example_Tests.framework"
BlueprintName = "Pods-Example-Tests"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@@ -28,28 +28,7 @@
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8E3A6C031D07CB6F00A8B7CF"
BuildableName = "Tests.xctest"
BlueprintName = "Tests"
ReferencedContainer = "container:Example.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EC391801A58B465001C121E"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:Example.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -61,18 +40,6 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EC391801A58B465001C121E"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:Example.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
@@ -80,16 +47,15 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EC391801A58B465001C121E"
BuildableName = "Example.app"
BlueprintName = "Example"
ReferencedContainer = "container:Example.xcodeproj">
BlueprintIdentifier = "258F10561A9DF823C49949D6176054DD"
BuildableName = "Pods_Example_Tests.framework"
BlueprintName = "Pods-Example-Tests"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1340"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0AEE99A309977BD12A049FF48AF9BA4B"
BuildableName = "Pods_Example.framework"
BlueprintName = "Pods-Example"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0AEE99A309977BD12A049FF48AF9BA4B"
BuildableName = "Pods_Example.framework"
BlueprintName = "Pods-Example"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
LastUpgradeVersion = "1340"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BlueprintIdentifier = "A0E2640B83527AE54205D7FDE9C5D930"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@@ -29,8 +29,6 @@
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -42,17 +40,6 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
@@ -63,10 +50,10 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8EF9F852224EACA500B20545"
BlueprintIdentifier = "A0E2640B83527AE54205D7FDE9C5D930"
BuildableName = "Siren.framework"
BlueprintName = "Siren"
ReferencedContainer = "container:Example.xcodeproj">
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,29 @@
# Acknowledgements
This application makes use of the following third party libraries:
## Siren
The MIT License (MIT)
Copyright (c) 2015 Arthur Ariel Sabintsev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>The MIT License (MIT)
Copyright (c) 2015 Arthur Ariel Sabintsev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>Siren</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_Example_Tests : NSObject
@end
@implementation PodsDummy_Pods_Example_Tests
@end
@@ -0,0 +1,186 @@
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
BCSYMBOLMAP_DIR="BCSymbolMaps"
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
echo "Installing $f"
install_bcsymbolmap "$f" "$destination"
rm "$f"
done
rmdir "${source}/${BCSYMBOLMAP_DIR}"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures from the dSYM.
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=1
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=0
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/Siren/Siren.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/Siren/Siren.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_Example_TestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_Example_TestsVersionString[];
@@ -0,0 +1,16 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
OTHER_LDFLAGS = $(inherited) -framework "Siren"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -0,0 +1,6 @@
framework module Pods_Example_Tests {
umbrella header "Pods-Example-Tests-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,16 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
OTHER_LDFLAGS = $(inherited) -framework "Siren"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
@@ -0,0 +1,29 @@
# Acknowledgements
This application makes use of the following third party libraries:
## Siren
The MIT License (MIT)
Copyright (c) 2015 Arthur Ariel Sabintsev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>The MIT License (MIT)
Copyright (c) 2015 Arthur Ariel Sabintsev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>Siren</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_Example : NSObject
@end
@implementation PodsDummy_Pods_Example
@end
+186
View File
@@ -0,0 +1,186 @@
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
BCSYMBOLMAP_DIR="BCSymbolMaps"
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
echo "Installing $f"
install_bcsymbolmap "$f" "$destination"
rm "$f"
done
rmdir "${source}/${BCSYMBOLMAP_DIR}"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures from the dSYM.
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=1
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=0
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/Siren/Siren.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/Siren/Siren.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
+129
View File
@@ -0,0 +1,129 @@
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
# resources to, so exit 0 (signalling the script phase was successful).
exit 0
fi
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
> "$RESOURCES_TO_COPY"
XCASSET_FILES=()
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
case "${TARGETED_DEVICE_FAMILY:-}" in
1,2)
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
;;
1)
TARGET_DEVICE_ARGS="--target-device iphone"
;;
2)
TARGET_DEVICE_ARGS="--target-device ipad"
;;
3)
TARGET_DEVICE_ARGS="--target-device tv"
;;
4)
TARGET_DEVICE_ARGS="--target-device watch"
;;
*)
TARGET_DEVICE_ARGS="--target-device mac"
;;
esac
install_resource()
{
if [[ "$1" = /* ]] ; then
RESOURCE_PATH="$1"
else
RESOURCE_PATH="${PODS_ROOT}/$1"
fi
if [[ ! -e "$RESOURCE_PATH" ]] ; then
cat << EOM
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
EOM
exit 1
fi
case $RESOURCE_PATH in
*.storyboard)
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
;;
*.xib)
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
;;
*.framework)
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
;;
*.xcdatamodel)
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
;;
*.xcdatamodeld)
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
;;
*.xcmappingmodel)
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
;;
*.xcassets)
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
;;
*)
echo "$RESOURCE_PATH" || true
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
;;
esac
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_resource "${PODS_ROOT}/../../Sources/Siren.bundle"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_resource "${PODS_ROOT}/../../Sources/Siren.bundle"
fi
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
fi
rm -f "$RESOURCES_TO_COPY"
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
then
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
while read line; do
if [[ $line != "${PODS_ROOT}*" ]]; then
XCASSET_FILES+=("$line")
fi
done <<<"$OTHER_XCASSETS"
if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
else
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
fi
fi
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_ExampleVersionString[];
@@ -0,0 +1,16 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
OTHER_LDFLAGS = $(inherited) -framework "Siren"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
@@ -0,0 +1,6 @@
framework module Pods_Example {
umbrella header "Pods-Example-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,16 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Siren/Siren.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Siren"
OTHER_LDFLAGS = $(inherited) -framework "Siren"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>6.0.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
+5
View File
@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Siren : NSObject
@end
@implementation PodsDummy_Siren
@end
+12
View File
@@ -0,0 +1,12 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double SirenVersionNumber;
FOUNDATION_EXPORT const unsigned char SirenVersionString[];
@@ -0,0 +1,13 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Siren
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
+6
View File
@@ -0,0 +1,6 @@
framework module Siren {
umbrella header "Siren-umbrella.h"
export *
module * { export * }
}
@@ -0,0 +1,13 @@
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Siren
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
+9
View File
@@ -0,0 +1,9 @@
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Siren
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
-36
View File
@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
</dict>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
-19
View File
@@ -1,19 +0,0 @@
//
// Siren.h
// Siren
//
// Created by Arthur Sabintsev on 3/29/19.
// Copyright © 2019 Sabintsev iOS Projects. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for Siren.
FOUNDATION_EXPORT double SirenVersionNumber;
//! Project version string for Siren.
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>
+32 -24
View File
@@ -15,6 +15,14 @@ final class SirenTests: XCTestCase {
}
// MARK: - API
extension SirenTests {
func testAPIDefaultsToUnitedStatesAppStore() {
XCTAssertEqual(siren.apiManager.country, AppStoreCountry.unitedStates)
}
}
// MARK: - Updates
extension SirenTests {
@@ -220,7 +228,7 @@ extension SirenTests {
let language: Localization.Language = .croatian
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "Nova ažuriranje je stigla")
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "Novo ažuriranje je dostupno")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "Sljedeći put")
@@ -343,19 +351,19 @@ extension SirenTests {
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Update")
}
func testGreekLocalization() {
let language: Localization.Language = .greek
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "Διαθέσιμη Ενημέρωση")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "Άλλη φορά")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "Αγνόησε αυτήν την έκδοση")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Αναβάθμιση")
}
@@ -525,49 +533,49 @@ extension SirenTests {
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "بروزرسانی در دسترس")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "دفعه بعد")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "رد این نسخه")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "بروزرسانی")
}
func testPersianAfghanistanLocalization() {
let language: Localization.Language = .persianAfghanistan
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "بروزرسانی در دسترس")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "دگر بار")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "رد این نسخه")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "بروزرسانی")
}
func testPersianIranLocalization() {
let language: Localization.Language = .persianIran
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "بروزرسانی در دسترس")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "دفعه بعد")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "رد این نسخه")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "بروزرسانی")
}
func testPolishLocalization() {
let language: Localization.Language = .polish
@@ -765,17 +773,17 @@ extension SirenTests {
// Update Available
XCTAssertEqual(Bundle.localizedString(forKey: "Update Available", andForceLocalization: language), "Доступне Оновлення")
// Next time
XCTAssertEqual(Bundle.localizedString(forKey: "Next time", andForceLocalization: language), "Наступного разу")
// Skip this version
XCTAssertEqual(Bundle.localizedString(forKey: "Skip this version", andForceLocalization: language), "Пропустити версію")
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Оновити")
}
func testUrduLocalization() {
let language: Localization.Language = .urdu
@@ -791,7 +799,7 @@ extension SirenTests {
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "اپڈیٹ کریں")
}
func testVietnameseLocalization() {
let language: Localization.Language = .vietnamese
@@ -807,5 +815,5 @@ extension SirenTests {
// Update
XCTAssertEqual(Bundle.localizedString(forKey: "Update", andForceLocalization: language), "Cập nhật")
}
}
-5
View File
@@ -1,5 +0,0 @@
source "https://rubygems.org"
gem "cocoapods"
gem "jazzy", :git => "https://www.github.com/realm/jazzy.git"
gem "rubygems-bundler"
-108
View File
@@ -1,108 +0,0 @@
GIT
remote: https://www.github.com/realm/jazzy.git
revision: 9b907b33aea078d82975abd590637fa647663805
specs:
jazzy (0.11.0)
cocoapods (~> 1.5)
mustache (~> 1.1)
open4
redcarpet (~> 3.4)
rouge (>= 2.0.6, < 4.0)
sassc (~> 2.1)
sqlite3 (~> 1.3)
xcinvoke (~> 0.3.0)
GEM
remote: https://rubygems.org/
specs:
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.3)
cocoapods (1.7.5)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 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.1, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.6.6)
nap (~> 1.0)
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.4)
cocoapods-downloader (1.2.2)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
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.1.5)
escape (0.0.4)
executable-hooks (1.6.0)
ffi (1.11.1)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
liferaft (0.0.6)
minitest (5.11.3)
molinillo (0.6.6)
mustache (1.1.0)
nanaimo (0.2.6)
nap (1.1.0)
netrc (0.11.0)
open4 (1.3.4)
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)
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.12.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.2.6)
PLATFORMS
ruby
DEPENDENCIES
cocoapods
jazzy!
rubygems-bundler
BUNDLED WITH
2.0.2
+4 -4
View File
@@ -1,10 +1,10 @@
// swift-tools-version:5.2
// swift-tools-version:5.5
import PackageDescription
let package = Package(
name: "Siren",
swiftLanguageVersions: [.v5],
defaultLocalization: LocalizationTag = "en",
platforms: [.iOS(.v13), .tvOS(.v13)],
products: [.library(name: "Siren", targets: ["Siren"])],
targets: [.target(name: "Siren", path: "Sources")]
targets: [.target(name: "Siren", path: "Sources", resources: [.copy("Siren.bundle"), .copy("PrivacyInfo.xcprivacy")])],
swiftLanguageVersions: [.v5]
)
+14 -22
View File
@@ -2,9 +2,13 @@
### 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-5.1%2C%205.0%2C%204.2%2C%204.1%2C%203.2%2C%203.1%202.3-orange.svg)
![Swift Support](https://img.shields.io/badge/Swift-5.5-orange.svg) [![CocoaPods](https://img.shields.io/cocoapods/v/Siren.svg)](https://cocoapods.org/pods/Siren) [![SwiftPM Compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/) [![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio)
[![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/)
---
# Important Information
I stopped being a proactive iOS engineer in 2021. For the time being, I will keep this library maintained for the community, but I will not be proactively adding features.
---
@@ -46,15 +50,12 @@ Siren is built to work with the [**Semantic Versioning**](https://semver.org/) s
## Features
### Current Features
- [x] CocoaPods, Carthage, and Swift Package Manager Support (see [Installation Instructions](https://github.com/ArtSabintsev/Siren#installation-instructions))
- [x] Compatible with iOS 13+ and tvOS 13+
- [x] CocoaPods and Swift Package Manager Support (see [Installation Instructions](https://github.com/ArtSabintsev/Siren#installation-instructions))
- [x] Three Types of Alerts (see [Screenshots](https://github.com/ArtSabintsev/Siren#screenshots))
- [x] Highly Customizable Presentation Rules (see [Implementation Examples](https://github.com/ArtSabintsev/Siren#implementation-examples))
- [x] Localized for 40+ Languages (see [Localization](https://github.com/ArtSabintsev/Siren#localization))
- [x] Device Compatibility Check (see [Device Compatibility](https://github.com/ArtSabintsev/Siren#device-compatibility))
- [x] 100% Documentation Coverage (see https://sabintsev.com/Siren)
### Future Features
A list of future development work can be found on [Siren's Kanban Board](https://github.com/ArtSabintsev/Siren/projects/1).
---
@@ -86,7 +87,8 @@ A list of future development work can be found on [Siren's Kanban Board](https:/
| Swift Version | Branch Name | Will Continue to Receive Updates?
| ------------- | ------------- | -------------
| 5.1 | master | **Yes**
| 5.5+ | master | **Yes**
| 5.1-5.4 | swift5.4 | No
| 5.0 | swift5.0 | No
| 4.2 | swift4.2 | No
| 4.1 | swift4.1 | No
@@ -96,7 +98,8 @@ A list of future development work can be found on [Siren's Kanban Board](https:/
### CocoaPods
```ruby
pod 'Siren' # Swift 5.1
pod 'Siren' # Swift 5.5+
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift5.4' # Swift 5.1-5.4
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
@@ -105,20 +108,9 @@ pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'sw
pod 'Siren', :git => 'https://github.com/ArtSabintsev/Siren.git', :branch => 'swift2.3' # Swift 2.3
```
### Carthage
```swift
github "ArtSabintsev/Siren" // Swift 5.1
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
github "ArtSabintsev/Siren" "swift2.3" // Swift 2.3
```
### Swift Package Manager
```swift
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 5)
.Package(url: "https://github.com/ArtSabintsev/Siren.git", majorVersion: 6)
```
## Implementation Examples
@@ -192,7 +184,7 @@ If an app update is available, Siren checks to make sure that the version of iOS
## Testing Siren Locally
Temporarily change the version string in Xcode (within the `.xcodeproj` file) to an older version than the one that's currently available in the App Store. Afterwards, build and run your app, and you should see the alert.
If you currently don't have an app in the store, change your bundleID to one that is already in the store. In the sample app packaged with this library, we use the [App Store Connect](https://itunes.apple.com/app/id1234793120) app's bundleID: `com.apple.AppStoreConnect`.
If you currently don't have an app in the store, change your bundleID to one that is already in the store. In the sample app packaged with this library, we use Facebook's Bundle ID: `com.facebook.Facebook`.
## Words of Caution
Occasionally, the iTunes JSON will update faster than the App Store CDN, meaning the JSON may state that the new version of the app has been released, while no new binary is made available for download via the App Store. It is for this reason that Siren will, by default, wait 1 day (24 hours) after the JSON has been updated to prompt the user to update. To change the default setting, please modify the value of `showAlertAfterCurrentVersionHasBeenReleasedForDays`.
+8 -8
View File
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
# Version
s.version = "5.4.2"
s.swift_version = "5.2"
s.version = "6.1.3"
s.swift_version = "5.5"
# Meta
s.name = "Siren"
@@ -14,10 +14,10 @@ Pod::Spec.new do |s|
DESC
# Compatibility & Sources
s.platform = :ios, "8.0"
s.source = { :git => "https://github.com/ArtSabintsev/Siren.git", :tag => s.version.to_s }
s.source_files = 'Sources/**/*.swift'
s.resources = 'Sources/Siren.bundle'
s.requires_arc = true
s.ios.deployment_target = '13.0'
s.tvos.deployment_target = '13.0'
s.source = { :git => "https://github.com/ArtSabintsev/Siren.git", :tag => s.version.to_s }
s.source_files = 'Sources/**/*.swift'
s.resources = 'Sources/Siren.bundle'
s.requires_arc = true
end
+4
View File
@@ -82,7 +82,11 @@ private extension Bundle {
///
/// - Returns: The bundle's path or `nil`.
final class func sirenBundlePath() -> String? {
#if SWIFT_PACKAGE
return Bundle.module.path(forResource: "\(Siren.self)", ofType: Constants.bundleExtension)
#else
return Bundle(for: Siren.self).path(forResource: "\(Siren.self)", ofType: Constants.bundleExtension)
#endif
}
/// The path for a particular language localizationin Siren's localization `Bundle`.
+61 -51
View File
@@ -16,28 +16,36 @@ public struct APIManager {
static let bundleID = "bundleId"
/// Constant for the `country` parameter in the iTunes Lookup API request.
static let country = "country"
/// Constant for the `lang` parameter in the iTunes Lookup API request.
static let language = "lang"
/// Constant for the `entity` parameter in the iTunes Lookup API reqeust.
static let entity = "entity"
/// Constant for the `entity` parameter value when performing a tvOS iTunes Lookup API reqeust.
static let tvSoftware = "tvSoftware"
}
/// Return results or errors obtained from performing a version check with Siren.
typealias CompletionHandler = (Result<APIModel, KnownError>) -> Void
/// The Bundle ID for the your application. Defaults to "Bundle.main.bundleIdentifier".
let bundleID: String?
/// 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.
///
/// [List of country codes](https://help.apple.com/app-store-connect/#/dev997f9cf7c)
///
let countryCode: String?
let country: AppStoreCountry
/// The language for the localization of App Store responses.
let language: String?
/// Initializes `APIManager` to 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.
///
/// [List of country codes](https://help.apple.com/app-store-connect/#/dev997f9cf7c)
///
/// - Parameter countryCode: The country code for the App Store in which the app is availabe. Defaults to nil (e.g., the US App Store)
public init(countryCode: String? = nil) {
self.countryCode = countryCode
/// By default, all version check requests are performed against the US App Store and the language of the copy/text is returned in English.
/// - Parameters:
/// - country: The country for the App Store in which the app is available.
/// - language: The locale to use for the App Store notes. The default result the API returns is equivalent to passing "en_us", so passing `nil` is equivalent to passing "en_us".
/// - bundleID: The bundleID for your app. Defaults to `Bundle.main.bundleIdentifier`. Passing `nil` will throw a `missingBundleID` error.
public init(country: AppStoreCountry = .unitedStates, language: String? = nil, bundleID: String? = Bundle.main.bundleIdentifier) {
self.country = country
self.language = language
self.bundleID = bundleID
}
/// The default `APIManager`.
@@ -47,24 +55,29 @@ public struct APIManager {
}
extension APIManager {
/// Convenience initializer that initializes `APIManager` to the region or country of an App Store in which the app is available.
/// If nil, version check requests are performed against the US App Store.
///
/// - Parameter countryCode: The raw country code for the App Store in which the app is available.
public init(countryCode: String?) {
self.init(country: .init(code: countryCode))
}
/// Creates and performs a URLRequest against the iTunes Lookup API.
///
/// - Parameter handler: The completion handler for the iTunes Lookup API request.
func performVersionCheckRequest(completion handler: CompletionHandler?) {
guard Bundle.main.bundleIdentifier != nil else {
handler?(.failure(.missingBundleID))
return
/// - returns APIModel: The decoded JSON as an instance of APIModel.
func performVersionCheckRequest() async throws -> APIModel {
guard bundleID != nil else {
throw KnownError.missingBundleID
}
do {
let url = try makeITunesURL()
let request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 30)
URLSession.shared.dataTask(with: request) { (data, response, error) in
URLCache.shared.removeCachedResponse(for: request)
self.processVersionCheckResults(withData: data, response: response, error: error, completion: handler)
}.resume()
let (data, response) = try await URLSession.shared.data(for: request)
return try processVersionCheckResults(withData: data, response: response)
} catch {
handler?(.failure(.malformedURL))
throw error
}
}
@@ -73,33 +86,20 @@ extension APIManager {
/// - Parameters:
/// - data: The JSON data returned from the request.
/// - response: The response metadata returned from the request.
/// - error: The error returned from the request.
/// - handler: The completion handler to call once the results of the request has been processed.
private func processVersionCheckResults(withData data: Data?,
response: URLResponse?,
error: Error?,
completion handler: CompletionHandler?) {
if let error = error {
handler?(.failure(.appStoreDataRetrievalFailure(underlyingError: error)))
} else {
guard let data = data else {
handler?(.failure(.appStoreDataRetrievalFailure(underlyingError: nil)))
return
}
do {
let apiModel = try JSONDecoder().decode(APIModel.self, from: data)
private func processVersionCheckResults(withData data: Data?, response: URLResponse?) throws -> APIModel {
guard let data = data else {
throw KnownError.appStoreDataRetrievalFailure(underlyingError: nil)
}
do {
let apiModel = try JSONDecoder().decode(APIModel.self, from: data)
guard !apiModel.results.isEmpty else {
handler?(.failure(.appStoreDataRetrievalEmptyResults))
return
}
DispatchQueue.main.async {
handler?(.success(apiModel))
}
} catch {
handler?(.failure(.appStoreJSONParsingFailure(underlyingError: error)))
guard !apiModel.results.isEmpty else {
throw KnownError.appStoreDataRetrievalEmptyResults
}
return apiModel
} catch {
throw KnownError.appStoreJSONParsingFailure(underlyingError: error)
}
}
@@ -113,12 +113,22 @@ extension APIManager {
components.host = "itunes.apple.com"
components.path = "/lookup"
var items: [URLQueryItem] = [URLQueryItem(name: Constants.bundleID, value: Bundle.main.bundleIdentifier)]
var items: [URLQueryItem] = [URLQueryItem(name: Constants.bundleID, value: bundleID)]
if let countryCode = countryCode {
#if os(tvOS)
let tvOSQueryItem = URLQueryItem(name: Constants.entity, value: Constants.tvSoftware)
items.append(tvOSQueryItem)
#endif
if let countryCode = country.code {
let item = URLQueryItem(name: Constants.country, value: countryCode)
items.append(item)
}
if let language = language {
let item = URLQueryItem(name: Constants.language, value: language)
items.append(item)
}
components.queryItems = items
+18 -11
View File
@@ -133,7 +133,7 @@ extension PresentationManager {
// 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 `UIAlertController`'s from appearing on top of each other.
if rules.alertType != .none, updaterWindow.isHidden {
if rules.alertType != .none, let updaterWindow = updaterWindow, updaterWindow.isHidden {
alertController?.show(window: updaterWindow)
} else {
// This is a safety precaution to avoid multiple windows from presenting on top of each other.
@@ -143,6 +143,7 @@ extension PresentationManager {
/// Removes the `alertController` from memory.
func cleanUp() {
guard let updaterWindow = updaterWindow else { return }
alertController?.hide(window: updaterWindow)
alertController?.dismiss(animated: true, completion: nil)
updaterWindow.resignKey()
@@ -224,22 +225,28 @@ private extension PresentationManager {
// MARK: - Helpers
private extension PresentationManager {
private func createWindow() -> UIWindow {
var window = UIWindow()
if #available(iOS 13.0, *) {
guard let windowScene = UIApplication.shared.connectedScenes
.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene else { return UIWindow() }
window = UIWindow(windowScene: windowScene)
} else {
window = UIWindow(frame: UIScreen.main.bounds)
}
private func createWindow() -> UIWindow? {
guard let windowScene = getFirstForegroundScene() else { return nil }
let window = UIWindow(windowScene: windowScene)
window.windowLevel = UIWindow.Level.alert + 1
let viewController = SirenViewController()
viewController.retainedWindow = window
window.rootViewController = viewController
return window
}
@available(iOS 13.0, tvOS 13.0, *)
private func getFirstForegroundScene() -> UIWindowScene? {
let connectedScenes = UIApplication.shared.connectedScenes
if let windowActiveScene = connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
return windowActiveScene
} else if let windowInactiveScene = connectedScenes.first(where: { $0.activationState == .foregroundInactive }) as? UIWindowScene {
return windowInactiveScene
} else {
return nil
}
}
}
+213
View File
@@ -0,0 +1,213 @@
//
// AppStoreCountry.swift
// Siren
//
// Created by Harlan Kellaway on 11/9/20.
// Copyright © 2020 Sabintsev iOS Projects. All rights reserved.
//
import Foundation
/// Region or country of an App Store in which an app can be available.
///
/// [List of country codes](https://help.apple.com/app-store-connect/#/dev997f9cf7c)
public struct AppStoreCountry {
/// Raw country code. ex. "US" for United States.
public let code: String?
}
extension AppStoreCountry {
public static let afghanistan: AppStoreCountry = "AFG"
public static let unitedArabEmirates: AppStoreCountry = "AE"
public static let antiguaAndBarbuda: AppStoreCountry = "AG"
public static let anguilla: AppStoreCountry = "AI"
public static let albania: AppStoreCountry = "AL"
public static let armenia: AppStoreCountry = "AM"
public static let angola: AppStoreCountry = "AO"
public static let argentina: AppStoreCountry = "AR"
public static let austria: AppStoreCountry = "AT"
public static let australia: AppStoreCountry = "AU"
public static let azerbaijan: AppStoreCountry = "AZ"
public static let barbados: AppStoreCountry = "BB"
public static let belgium: AppStoreCountry = "BE"
public static let bosniaAndHerzegovina: AppStoreCountry = "BIH"
public static let burkinaFaso: AppStoreCountry = "BF"
public static let bulgaria: AppStoreCountry = "BG"
public static let bahrain: AppStoreCountry = "BH"
public static let benin: AppStoreCountry = "BJ"
public static let bermuda: AppStoreCountry = "BM"
public static let brunei: AppStoreCountry = "BN"
public static let bolivia: AppStoreCountry = "BO"
public static let brazil: AppStoreCountry = "BR"
public static let bahamas: AppStoreCountry = "BS"
public static let bhutan: AppStoreCountry = "BT"
public static let botswana: AppStoreCountry = "BW"
public static let belarus: AppStoreCountry = "BY"
public static let belize: AppStoreCountry = "BZ"
public static let cameroon: AppStoreCountry = "CMR"
public static let canada: AppStoreCountry = "CA"
public static let congoRepublic: AppStoreCountry = "CG"
public static let switzerland: AppStoreCountry = "CH"
public static let coteDIvoire: AppStoreCountry = "CIV"
public static let chile: AppStoreCountry = "CL"
public static let china: AppStoreCountry = "CN"
public static let colombia: AppStoreCountry = "CO"
public static let congoDemocraticRepublic: AppStoreCountry = "COD"
public static let costaRica: AppStoreCountry = "CR"
public static let capeVerde: AppStoreCountry = "CV"
public static let cyprus: AppStoreCountry = "CY"
public static let czechRepublic: AppStoreCountry = "CZ"
public static let germany: AppStoreCountry = "DE"
public static let denmark: AppStoreCountry = "DK"
public static let dominica: AppStoreCountry = "DM"
public static let dominicanRepublic: AppStoreCountry = "DO"
public static let algeria: AppStoreCountry = "DZ"
public static let ecuador: AppStoreCountry = "EC"
public static let estonia: AppStoreCountry = "EE"
public static let egypt: AppStoreCountry = "EG"
public static let spain: AppStoreCountry = "ES"
public static let finland: AppStoreCountry = "FI"
public static let fiji: AppStoreCountry = "FJ"
public static let micronesia: AppStoreCountry = "FM"
public static let france: AppStoreCountry = "FR"
public static let gabon: AppStoreCountry = "GAB"
public static let unitedKingdom: AppStoreCountry = "GB"
public static let grenada: AppStoreCountry = "GD"
public static let georgia: AppStoreCountry = "GEO"
public static let ghana: AppStoreCountry = "GH"
public static let gambia: AppStoreCountry = "GM"
public static let greece: AppStoreCountry = "GR"
public static let guatemala: AppStoreCountry = "GT"
public static let guineaBissau: AppStoreCountry = "GW"
public static let guyana: AppStoreCountry = "GY"
public static let hongKong: AppStoreCountry = "HK"
public static let honduras: AppStoreCountry = "HN"
public static let croatia: AppStoreCountry = "HR"
public static let hungary: AppStoreCountry = "HU"
public static let indonesia: AppStoreCountry = "ID"
public static let ireland: AppStoreCountry = "IE"
public static let israel: AppStoreCountry = "IL"
public static let india: AppStoreCountry = "IN"
public static let iraq: AppStoreCountry = "IRQ"
public static let iceland: AppStoreCountry = "IS"
public static let italy: AppStoreCountry = "IT"
public static let jamaica: AppStoreCountry = "JM"
public static let jordan: AppStoreCountry = "JO"
public static let japan: AppStoreCountry = "JP"
public static let kenya: AppStoreCountry = "KE"
public static let kyrgyzstan: AppStoreCountry = "KG"
public static let cambodia: AppStoreCountry = "KH"
public static let stKittsAndNevis: AppStoreCountry = "KN"
public static let korea: AppStoreCountry = "KR"
public static let kuwait: AppStoreCountry = "KW"
public static let caymanIslands: AppStoreCountry = "KY"
public static let kazakhstan: AppStoreCountry = "KZ"
public static let laos: AppStoreCountry = "LA"
public static let lebanon: AppStoreCountry = "LB"
public static let libya: AppStoreCountry = "LBY"
public static let stLucia: AppStoreCountry = "LC"
public static let sriLanka: AppStoreCountry = "LK"
public static let liberia: AppStoreCountry = "LR"
public static let lithuania: AppStoreCountry = "LT"
public static let luxembourg: AppStoreCountry = "LU"
public static let latvia: AppStoreCountry = "LV"
public static let morocco: AppStoreCountry = "MAR"
public static let moldova: AppStoreCountry = "MD"
public static let maldives: AppStoreCountry = "MDV"
public static let madagascar: AppStoreCountry = "MG"
public static let northMacedonia: AppStoreCountry = "MK"
public static let mali: AppStoreCountry = "ML"
public static let myanmar: AppStoreCountry = "MMR"
public static let mongolia: AppStoreCountry = "MN"
public static let montenegro: AppStoreCountry = "MNE"
public static let macau: AppStoreCountry = "MO"
public static let mauritania: AppStoreCountry = "MR"
public static let montserrat: AppStoreCountry = "MS"
public static let malta: AppStoreCountry = "MT"
public static let mauritius: AppStoreCountry = "MU"
public static let malawi: AppStoreCountry = "MW"
public static let mexico: AppStoreCountry = "MX"
public static let malaysia: AppStoreCountry = "MY"
public static let mozambique: AppStoreCountry = "MZ"
public static let namibia: AppStoreCountry = "NA"
public static let niger: AppStoreCountry = "NE"
public static let nigeria: AppStoreCountry = "NG"
public static let nicaragua: AppStoreCountry = "NI"
public static let netherlands: AppStoreCountry = "NL"
public static let norway: AppStoreCountry = "NO"
public static let nepal: AppStoreCountry = "NP"
public static let nauru: AppStoreCountry = "NRU"
public static let newZealand: AppStoreCountry = "NZ"
public static let oman: AppStoreCountry = "OM"
public static let panama: AppStoreCountry = "PA"
public static let peru: AppStoreCountry = "PE"
public static let papuaNewGuinea: AppStoreCountry = "PG"
public static let philippines: AppStoreCountry = "PH"
public static let pakistan: AppStoreCountry = "PK"
public static let poland: AppStoreCountry = "PL"
public static let portugal: AppStoreCountry = "PT"
public static let palau: AppStoreCountry = "PW"
public static let paraguay: AppStoreCountry = "PY"
public static let qatar: AppStoreCountry = "QA"
public static let romania: AppStoreCountry = "RO"
public static let russia: AppStoreCountry = "RU"
public static let rwanda: AppStoreCountry = "RWA"
public static let saudiArabia: AppStoreCountry = "SA"
public static let solomonIslands: AppStoreCountry = "SB"
public static let seychelles: AppStoreCountry = "SC"
public static let sweden: AppStoreCountry = "SE"
public static let singapore: AppStoreCountry = "SG"
public static let slovenia: AppStoreCountry = "SI"
public static let slovakia: AppStoreCountry = "SK"
public static let sierraLeone: AppStoreCountry = "SL"
public static let senegal: AppStoreCountry = "SN"
public static let suriname: AppStoreCountry = "SR"
public static let serbia: AppStoreCountry = "SRB"
public static let saoTomeAndPrincipe: AppStoreCountry = "ST"
public static let elSalvador: AppStoreCountry = "SV"
public static let swaziland: AppStoreCountry = "SZ"
public static let turksAndCaicosIslands: AppStoreCountry = "TC"
public static let chad: AppStoreCountry = "TD"
public static let thailand: AppStoreCountry = "TH"
public static let tajikistan: AppStoreCountry = "TJ"
public static let turkmenistan: AppStoreCountry = "TM"
public static let tunisia: AppStoreCountry = "TN"
public static let tonga: AppStoreCountry = "TON"
public static let turkey: AppStoreCountry = "TR"
public static let trinidadAndTobago: AppStoreCountry = "TT"
public static let taiwan: AppStoreCountry = "TW"
public static let tanzania: AppStoreCountry = "TZ"
public static let ukraine: AppStoreCountry = "UA"
public static let uganda: AppStoreCountry = "UG"
public static let unitedStates: AppStoreCountry = "US"
public static let uruguay: AppStoreCountry = "UY"
public static let uzbekistan: AppStoreCountry = "UZ"
public static let stVincentAndTheGrenadines: AppStoreCountry = "VC"
public static let venezuela: AppStoreCountry = "VE"
public static let britishVirginIslands: AppStoreCountry = "VG"
public static let vietnam: AppStoreCountry = "VN"
public static let vanuatu: AppStoreCountry = "VUT"
public static let kosovo: AppStoreCountry = "XKS"
public static let yemen: AppStoreCountry = "YE"
public static let southAfrica: AppStoreCountry = "ZA"
public static let zambia: AppStoreCountry = "ZMB"
public static let zimbabwe: AppStoreCountry = "ZW"
}
extension AppStoreCountry: Equatable { }
/// Adds ability to equate instances of `AppStoreCountry` to each other.
/// - Parameters:
/// - lhs: First instance of`AppStoreCountry`
/// - rhs: Second instance of`AppStoreCountry`
/// - Returns: `true` if instances are equal. Otherwise, `false`.
public func == (lhs: AppStoreCountry, rhs: AppStoreCountry) -> Bool {
return lhs.code?.uppercased() == rhs.code?.uppercased()
}
extension AppStoreCountry: ExpressibleByStringLiteral {
/// Allows for `AppStoreCountry` to be initialized by a string literal.
/// - Parameter value: An instance of `AppStoreCountry` that can be represented as a `String`.
public init(stringLiteral value: StringLiteralType) {
self.init(code: value)
}
}
-2
View File
@@ -11,7 +11,6 @@ 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
@@ -46,5 +45,4 @@ public struct Model {
self.releaseNotes = releaseNotes
self.version = version
}
}
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
</dict>
</plist>
@@ -1,8 +1,8 @@
/* Update alert message: A new version of {APP NAME} is available. Please update to version {NEW VERSION} now.*/
"A new version of %@ is available. Please update to version %@ now." = "Nova verzia %@ je stigla. Ažuriraj na verziju %@ sada.";
"A new version of %@ is available. Please update to version %@ now." = "Nova verzija %@ je dostupna. Ažuriraj na verziju %@ sada.";
/* Update alert title */
"Update Available" = "Nova ažuriranje je stigla";
"Update Available" = "Novo ažuriranje je dostupno";
/* Update alert dismiss button title */
"Next time" = "Sljedeći put";
@@ -1,5 +1,5 @@
/* Update alert message: A new version of {APP NAME} is available. Please update to version {NEW VERSION} now.*/
"A new version of %@ is available. Please update to version %@ now." = "%@' nın yeni bir sürümü mevcut. Lütfen %@ sürümüne güncelleyin.";
"A new version of %@ is available. Please update to version %@ now." = "%@ uygulamasının yeni bir sürümü mevcut. Lütfen %@ sürümüne güncelleyin.";
/* Update alert title */
"Update Available" = "Güncelleme Mevcut";
+54 -28
View File
@@ -52,12 +52,22 @@ public final class Siren: NSObject {
/// The last date that an alert was presented to the user.
private var alertPresentationDate: Date? = UserDefaults.alertPresentationDate
/// Prevents the update dialog from not displaying when the user swipes down
/// on a notification center notification to the bottom of screen when calling
/// the Siren.shared.wail notificaiton using the `.onForeground` performCheck option.
private var appDidBecomeActiveWorkItem: DispatchWorkItem?
/// The minimal amount of time needed before calling the update notification
/// after entering the app from a notificaiton.
/// Refer to comment in `appDidBecomeActiveWorkItem` for more information.
private let appDidBecomeActiveWorkItemTimeDelay = 0.02
/// The App Store's unique identifier for an app.
private var appID: Int?
/// The completion handler used to return the results or errors returned by Siren.
private var resultsHandler: ResultsHandler?
/// The deinitialization method that clears out all observers,
deinit {
presentationManager.cleanUp()
@@ -81,7 +91,7 @@ public extension Siren {
switch performCheck {
case .onDemand:
removeForegroundObservers()
performVersionCheck()
startVersionCheckFlow()
case .onForeground:
addForegroundObservers()
}
@@ -102,11 +112,7 @@ public extension Siren {
}
DispatchQueue.main.async {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
}
@@ -114,16 +120,25 @@ public extension Siren {
// MARK: - Version Check and Alert Presentation Flow
private extension Siren {
/// Initiates the unidirectional version checking flow.
func performVersionCheck() {
/// Initiates the version checking flow.
func startVersionCheckFlow() {
alertPresentationDate = UserDefaults.alertPresentationDate
apiManager.performVersionCheckRequest { result in
switch result {
case .success(let apiModel):
Task {
await performVersionCheck()
}
}
/// Initiatives the version check request.
func performVersionCheck() async {
do {
let apiModel = try await apiManager.performVersionCheckRequest()
DispatchQueue.main.async {
self.validate(apiModel: apiModel)
case .failure(let error):
self.resultsHandler?(.failure(error))
}
} catch (let error as KnownError) {
self.resultsHandler?(.failure(error))
} catch {
// Do nothing. Silences exhaustive error.
}
}
@@ -190,23 +205,25 @@ private extension Siren {
/// - currentAppStoreVersion: The curren version of the app in the App Store.
/// - model: The iTunes Lookup Model.
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?
if let previouslySkippedVersion = UserDefaults.storedSkippedVersion,
let currentInstalledVersion = currentInstalledVersion,
!currentAppStoreVersion.isEmpty,
currentAppStoreVersion == previouslySkippedVersion {
resultsHandler?(.failure(.skipVersionUpdate(installedVersion: currentInstalledVersion,
appStoreVersion: currentAppStoreVersion)))
return
}
let updateType = DataParser.parseForUpdate(forInstalledVersion: currentInstalledVersion,
andAppStoreVersion: currentAppStoreVersion)
do {
let rules = try rulesManager.loadRulesForUpdateType(updateType)
// 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
// - and app is not forcing updates?
if let previouslySkippedVersion = UserDefaults.storedSkippedVersion,
let currentInstalledVersion = currentInstalledVersion,
!currentAppStoreVersion.isEmpty,
currentAppStoreVersion == previouslySkippedVersion,
rules.alertType != .force {
resultsHandler?(.failure(.skipVersionUpdate(installedVersion: currentInstalledVersion,
appStoreVersion: currentAppStoreVersion)))
return
}
if rules.frequency == .immediately {
presentAlert(withRules: rules, forCurrentAppStoreVersion: currentAppStoreVersion, model: model, andUpdateType: updateType)
} else {
@@ -277,7 +294,14 @@ private extension Siren {
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.performVersionCheck()
self.appDidBecomeActiveWorkItem = DispatchWorkItem {
Task {
await self.performVersionCheck()
}
}
if let appDidBecomeActiveWorkItem = self.appDidBecomeActiveWorkItem {
DispatchQueue.main.asyncAfter(deadline: .now() + self.appDidBecomeActiveWorkItemTimeDelay, execute: appDidBecomeActiveWorkItem)
}
}
}
@@ -291,6 +315,8 @@ private extension Siren {
object: nil,
queue: nil) { [weak self] _ in
guard let self = self else { return }
self.appDidBecomeActiveWorkItem?.cancel()
self.appDidBecomeActiveWorkItem = nil
self.presentationManager.cleanUp()
}
}
@@ -10,20 +10,10 @@ 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 {
if #available(iOS 13.0, *) {
return retainedWindow?.windowScene?.statusBarManager?.statusBarStyle ?? .default
} else {
return UIApplication.shared.statusBarStyle
}
}
deinit {
retainedWindow = nil
}
-145
View File
@@ -1,145 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Classes 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/Section/Classes" class="dashAnchor"></a>
<a title="Classes 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" />
Classes 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>Classes</h1>
<p>The following classes are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)Siren"></a>
<a name="//apple_ref/swift/Class/Siren" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)Siren">Siren</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 Class.</p>
<a href="Classes/Siren.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">final</span> <span class="kd">class</span> <span class="kt">Siren</span> <span class="p">:</span> <span class="kt">NSObject</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>
-370
View File
@@ -1,370 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Siren Class 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/Class/Siren" class="dashAnchor"></a>
<a title="Siren Class 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" />
Siren Class 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>Siren</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">final</span> <span class="kd">class</span> <span class="kt">Siren</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
<p>The Siren Class.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC14ResultsHandlera"></a>
<a name="//apple_ref/swift/Alias/ResultsHandler" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC14ResultsHandlera">ResultsHandler</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">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>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC6sharedABvpZ"></a>
<a name="//apple_ref/swift/Variable/shared" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC6sharedABvpZ">shared</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 singleton. The main point of entry to the Siren library.</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="kd">static</span> <span class="k">let</span> <span class="nv">shared</span><span class="p">:</span> <span class="kt">Siren</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC10apiManagerAA10APIManagerVvp"></a>
<a name="//apple_ref/swift/Property/apiManager" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC10apiManagerAA10APIManagerVvp">apiManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The manager that controls the App Store API that is
used to fetch the latest version of the app.</p>
<p>Defaults to the US 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="kd">public</span> <span class="kd">lazy</span> <span class="k">var</span> <span class="nv">apiManager</span><span class="p">:</span> <span class="kt"><a href="../Structs/APIManager.html">APIManager</a></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:5SirenAAC19presentationManagerAA012PresentationC0Vvp"></a>
<a name="//apple_ref/swift/Property/presentationManager" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC19presentationManagerAA012PresentationC0Vvp">presentationManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The manager that controls the update alert&rsquo;s string localization and tint color.</p>
<p>Defaults the string&rsquo;s lange localization to the user&rsquo;s device 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="kd">public</span> <span class="kd">lazy</span> <span class="k">var</span> <span class="nv">presentationManager</span><span class="p">:</span> <span class="kt"><a href="../Structs/PresentationManager.html">PresentationManager</a></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:5SirenAAC12rulesManagerAA05RulesC0Vvp"></a>
<a name="//apple_ref/swift/Property/rulesManager" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC12rulesManagerAA05RulesC0Vvp">rulesManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The manager that controls the type of alert that should be displayed
and how often an alert should be displayed dpeneding on the type
of update that is available relative to the installed version of the app
(e.g., different rules for major, minor, patch and revision updated can be used).</p>
<p>Defaults to performing a version check once a day with an alert that allows
the user to skip updating the app until the next time the app becomes active or
skipping the update all together until another version is released.</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="kd">lazy</span> <span class="k">var</span> <span class="nv">rulesManager</span><span class="p">:</span> <span class="kt"><a href="../Structs/RulesManager.html">RulesManager</a></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>
</ul>
</div>
<div class="task-group">
<div class="task-name-container">
<a name="/Public%20API%20Interface"></a>
<a name="//apple_ref/swift/Section/Public API Interface" class="dashAnchor"></a>
<a href="#/Public%20API%20Interface">
<h3 class="section-name">Public API Interface</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF"></a>
<a name="//apple_ref/swift/Method/wail(performCheck:completion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC4wail12performCheck10completionyAA07PerformD0O_ys6ResultOyAA13UpdateResultsVAA10KnownErrorOGcSgtF">wail(performCheck:completion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This method executes the Siren version checking and alert presentation 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">wail</span><span class="p">(</span><span class="nv">performCheck</span><span class="p">:</span> <span class="kt"><a href="../Enums/PerformCheck.html">PerformCheck</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">onForeground</span><span class="p">,</span>
<span class="n">completion</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Classes/Siren.html#/s:5SirenAAC14ResultsHandlera">ResultsHandler</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>performCheck</em>
</code>
</td>
<td>
<div>
<p>Defines how the version check flow is entered. Defaults to <code>.onForeground</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>handler</em>
</code>
</td>
<td>
<div>
<p>Returns the metadata around a successful version check and interaction with the update modal or it returns nil.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC14launchAppStoreyyF"></a>
<a name="//apple_ref/swift/Method/launchAppStore()" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC14launchAppStoreyyF">launchAppStore()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Launches the AppStore in two situations when the user clicked the <code>Update</code> button in the UIAlertController modal.</p>
<p>This function is marked <code>public</code> as a convenience for those developers who decide to build a custom alert modal
instead of using Siren&rsquo;s prebuilt 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">func</span> <span class="nf">launchAppStore</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-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>
-225
View File
@@ -1,225 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>AlertType 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/AlertType" class="dashAnchor"></a>
<a title="AlertType 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" />
AlertType 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/Siren/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/Siren/VersionCheckType.html"> VersionCheckType</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/Siren/LanguageType.html"> LanguageType</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/UpdateType.html">UpdateType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>AlertType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">AlertType</span></code></pre>
</div>
</div>
<p>Determines the type of alert to present after a successful version check has been performed.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC9AlertTypeO5forceA2DmF"></a>
<a name="//apple_ref/swift/Element/force" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC9AlertTypeO5forceA2DmF">force</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Forces user to update your app (1 button 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">case</span> <span class="n">force</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC9AlertTypeO6optionA2DmF"></a>
<a name="//apple_ref/swift/Element/option" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC9AlertTypeO6optionA2DmF">option</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>(DEFAULT) Presents user with option to update app now or at next launch (2 button 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">case</span> <span class="n">option</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC9AlertTypeO4skipA2DmF"></a>
<a name="//apple_ref/swift/Element/skip" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC9AlertTypeO4skipA2DmF">skip</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Presents user with option to update the app now, at next launch, or to skip this version all together (3 button 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">case</span> <span class="n">skip</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC9AlertTypeO4noneA2DmF"></a>
<a name="//apple_ref/swift/Element/none" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC9AlertTypeO4noneA2DmF">none</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Doesn&rsquo;t show the alert, but instead returns a localized message
for use in a custom UI within the sirenDidDetectNewVersionWithoutAlert() delegate 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="k">case</span> <span class="k">none</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-17)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
File diff suppressed because it is too large Load Diff
-197
View File
@@ -1,197 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>VersionCheckType 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/VersionCheckType" class="dashAnchor"></a>
<a title="VersionCheckType 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" />
VersionCheckType 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/Siren/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/Siren/VersionCheckType.html"> VersionCheckType</a>
</li>
<li class="nav-group-task">
<a href="../../Classes/Siren/LanguageType.html"> LanguageType</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/UpdateType.html">UpdateType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>VersionCheckType</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">enum</span> <span class="kt">VersionCheckType</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
<p>Determines the frequency in which the the version check is performed and the user is prompted to update the app.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC16VersionCheckTypeO11immediatelyA2DmF"></a>
<a name="//apple_ref/swift/Element/immediately" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC16VersionCheckTypeO11immediatelyA2DmF">immediately</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Version check performed every time the app is launched.</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">immediately</span> <span class="o">=</span> <span class="mi">0</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC16VersionCheckTypeO5dailyA2DmF"></a>
<a name="//apple_ref/swift/Element/daily" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC16VersionCheckTypeO5dailyA2DmF">daily</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Version check performed once a day.</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">daily</span> <span class="o">=</span> <span class="mi">1</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5SirenAAC16VersionCheckTypeO6weeklyA2DmF"></a>
<a name="//apple_ref/swift/Element/weekly" class="dashAnchor"></a>
<a class="token" href="#/s:5SirenAAC16VersionCheckTypeO6weeklyA2DmF">weekly</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Version check performed once a week.</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">weekly</span> <span class="o">=</span> <span class="mi">7</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-17)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</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
@@ -1,191 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SirenViewController Class 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/Class/SirenViewController" class="dashAnchor"></a>
<a title="SirenViewController Class 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" />
SirenViewController Class 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>SirenViewController</h1>
<div class="declaration">
<div class="language">
<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>
<p><code>UIViewController</code> Extension for Siren</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:@M@Siren@objc(cs)SirenViewController(py)preferredStatusBarStyle"></a>
<a name="//apple_ref/swift/Property/preferredStatusBarStyle" class="dashAnchor"></a>
<a class="token" href="#/c:@M@Siren@objc(cs)SirenViewController(py)preferredStatusBarStyle">preferredStatusBarStyle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>UIStatusBarStyle</code> override.</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">override</span> <span class="k">var</span> <span class="nv">preferredStatusBarStyle</span><span class="p">:</span> <span class="kt">UIStatusBarStyle</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-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>
-215
View File
@@ -1,215 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Enumerations 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/Section/Enumerations" class="dashAnchor"></a>
<a title="Enumerations 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" />
Enumerations 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>Enumerations</h1>
<p>The following enumerations are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren11AlertActionO"></a>
<a name="//apple_ref/swift/Enum/AlertAction" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11AlertActionO">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>UIAlertController</code> button that was pressed upon being presented an update alert.</p>
<a href="Enums/AlertAction.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">enum</span> <span class="kt">AlertAction</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren12PerformCheckO"></a>
<a name="//apple_ref/swift/Enum/PerformCheck" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12PerformCheckO">PerformCheck</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 check to perform when Siren&rsquo;s <code>wail</code> method is performed.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
Alert presentation will still respct the settings that are set
for <code>UpdatePromptFrequency</code> and <code>showAlertAfterCurrentVersionHasBeenReleasedForDays</code>
</div>
<a href="Enums/PerformCheck.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">enum</span> <span class="kt">PerformCheck</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO"></a>
<a name="//apple_ref/swift/Enum/KnownError" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO">KnownError</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Enumerates all potentials errors that Siren can handle.</p>
<a href="Enums/KnownError.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">enum</span> <span class="kt">KnownError</span> <span class="p">:</span> <span class="kt">LocalizedError</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>
-231
View File
@@ -1,231 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>AlertAction 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/AlertAction" class="dashAnchor"></a>
<a title="AlertAction 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" />
AlertAction 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>
</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>AlertAction</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">AlertAction</span></code></pre>
</div>
</div>
<p>The <code>UIAlertController</code> button that was pressed upon being presented an update alert.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren11AlertActionO8appStoreyA2CmF"></a>
<a name="//apple_ref/swift/Element/appStore" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11AlertActionO8appStoreyA2CmF">appStore</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The user clicked on the <code>Update</code> option, which took them to the app&rsquo;s App Store page.</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">appStore</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren11AlertActionO8nextTimeyA2CmF"></a>
<a name="//apple_ref/swift/Element/nextTime" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11AlertActionO8nextTimeyA2CmF">nextTime</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The user clicked on the <code>Next Time</code> option, which dismissed the 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">case</span> <span class="n">nextTime</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren11AlertActionO4skipyA2CmF"></a>
<a name="//apple_ref/swift/Element/skip" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11AlertActionO4skipyA2CmF">skip</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The user clicked on the <code>Skip this version</code> option, which dismissed the 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">case</span> <span class="n">skip</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren11AlertActionO7unknownyA2CmF"></a>
<a name="//apple_ref/swift/Element/unknown" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren11AlertActionO7unknownyA2CmF">unknown</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>(Default) The user never chose an option. This is returned when an error is 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="k">case</span> <span class="n">unknown</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>
-501
View File
@@ -1,501 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>KnownError 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/KnownError" class="dashAnchor"></a>
<a title="KnownError 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" />
KnownError 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>
</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>KnownError</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">KnownError</span> <span class="p">:</span> <span class="kt">LocalizedError</span></code></pre>
</div>
</div>
<p>Enumerates all potentials errors that Siren can handle.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO20appStoreAppIDFailureyA2CmF"></a>
<a name="//apple_ref/swift/Element/appStoreAppIDFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO20appStoreAppIDFailureyA2CmF">appStoreAppIDFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving trackId as the JSON does not contain a &lsquo;trackId&rsquo; 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">appStoreAppIDFailure</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO33appStoreDataRetrievalEmptyResultsyA2CmF"></a>
<a name="//apple_ref/swift/Element/appStoreDataRetrievalEmptyResults" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO33appStoreDataRetrievalEmptyResultsyA2CmF">appStoreDataRetrievalEmptyResults</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store data as JSON results were empty. Is your app available in the US? If not, change the <code>countryCode</code> variable to fix this error.</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">appStoreDataRetrievalEmptyResults</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO28appStoreDataRetrievalFailureyACs0C0_pSg_tcACmF"></a>
<a name="//apple_ref/swift/Element/appStoreDataRetrievalFailure(underlyingError:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO28appStoreDataRetrievalFailureyACs0C0_pSg_tcACmF">appStoreDataRetrievalFailure(underlyingError:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store data as an error was returned.</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="nf">appStoreDataRetrievalFailure</span><span class="p">(</span><span class="nv">underlyingError</span><span class="p">:</span> <span class="kt">Error</span><span class="p">?)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO26appStoreJSONParsingFailureyACs0C0_p_tcACmF"></a>
<a name="//apple_ref/swift/Element/appStoreJSONParsingFailure(underlyingError:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO26appStoreJSONParsingFailureyACs0C0_p_tcACmF">appStoreJSONParsingFailure(underlyingError:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error parsing App Store JSON data.</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="nf">appStoreJSONParsingFailure</span><span class="p">(</span><span class="nv">underlyingError</span><span class="p">:</span> <span class="kt">Error</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO28appStoreOSVersionUnsupportedyA2CmF"></a>
<a name="//apple_ref/swift/Element/appStoreOSVersionUnsupported" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO28appStoreOSVersionUnsupportedyA2CmF">appStoreOSVersionUnsupported</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<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 version update.</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">appStoreOSVersionUnsupported</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO27appStoreVersionArrayFailureyA2CmF"></a>
<a name="//apple_ref/swift/Element/appStoreVersionArrayFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO27appStoreVersionArrayFailureyA2CmF">appStoreVersionArrayFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store verson number as the JSON does not contain a <code>version</code> 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">appStoreVersionArrayFailure</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO25currentVersionReleaseDateyA2CmF"></a>
<a name="//apple_ref/swift/Element/currentVersionReleaseDate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO25currentVersionReleaseDateyA2CmF">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 <code>currentVersionReleaseDate</code> key is missing in the JSON payload. Please leave an issue on <a href="https://github.com/ArtSabintsev/Siren">https://github.com/ArtSabintsev/Siren</a> with as many details as possible.</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:5Siren10KnownErrorO12malformedURLyA2CmF"></a>
<a name="//apple_ref/swift/Element/malformedURL" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO12malformedURLyA2CmF">malformedURL</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>One of the iTunes URLs used in Siren is malformed. Please leave an issue on <a href="https://github.com/ArtSabintsev/Siren">https://github.com/ArtSabintsev/Siren</a> with as many details as possible.</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">malformedURL</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO15missingBundleIDyA2CmF"></a>
<a name="//apple_ref/swift/Element/missingBundleID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO15missingBundleIDyA2CmF">missingBundleID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Please make sure that you have set a <code>Bundle Identifier</code> in your project.</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">missingBundleID</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO17noUpdateAvailableyA2CmF"></a>
<a name="//apple_ref/swift/Element/noUpdateAvailable" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO17noUpdateAvailableyA2CmF">noUpdateAvailable</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>No new update available.</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">noUpdateAvailable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO16recentlyPromptedyA2CmF"></a>
<a name="//apple_ref/swift/Element/recentlyPrompted" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO16recentlyPromptedyA2CmF">recentlyPrompted</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Siren will not present an update alert if it performed one too recently. If you would like to present an alert every time Siren is called, please consider setting the <code>UpdatePromptFrequency.immediately</code> rule in <code><a href="../Structs/RulesManager.html">RulesManager</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="k">case</span> <span class="n">recentlyPrompted</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10KnownErrorO15releasedTooSoonyACSi_SitcACmF"></a>
<a name="//apple_ref/swift/Element/releasedTooSoon(daysSinceRelease:releasedForDays:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO15releasedTooSoonyACSi_SitcACmF">releasedTooSoon(daysSinceRelease: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 app has been released for X days, but Siren cannot prompt the user until Y (where Y &gt; X) days have passed.</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="nf">releasedTooSoon</span><span class="p">(</span><span class="nv">daysSinceRelease</span><span class="p">:</span> <span class="kt">Int</span><span class="p">,</span> <span class="nv">releasedForDays</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:5Siren10KnownErrorO17skipVersionUpdateyACSS_SStcACmF"></a>
<a name="//apple_ref/swift/Element/skipVersionUpdate(installedVersion:appStoreVersion:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO17skipVersionUpdateyACSS_SStcACmF">skipVersionUpdate(installedVersion:appStoreVersion:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The user has opted to skip updating their current version of the app to the current App Store version.</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="nf">skipVersionUpdate</span><span class="p">(</span><span class="nv">installedVersion</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">appStoreVersion</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:5Siren10KnownErrorO20localizedDescriptionSSvp"></a>
<a name="//apple_ref/swift/Property/localizedDescription" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10KnownErrorO20localizedDescriptionSSvp">localizedDescription</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The localized description for each error handled 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">public</span> <span class="k">var</span> <span class="nv">localizedDescription</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-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>
-186
View File
@@ -1,186 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PerformCheck 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/PerformCheck" class="dashAnchor"></a>
<a title="PerformCheck 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" />
PerformCheck 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>
</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>PerformCheck</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">PerformCheck</span></code></pre>
</div>
</div>
<p>The type of check to perform when Siren&rsquo;s <code>wail</code> method is performed.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
Alert presentation will still respct the settings that are set
for <code>UpdatePromptFrequency</code> and <code>showAlertAfterCurrentVersionHasBeenReleasedForDays</code>
</div>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren12PerformCheckO8onDemandyA2CmF"></a>
<a name="//apple_ref/swift/Element/onDemand" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12PerformCheckO8onDemandyA2CmF">onDemand</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Performs a version check only when Siren&rsquo;s <code>wail</code> method is called,
as the <code>UIApplication.didBecomeActiveNotification</code> is ignored.</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">onDemand</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren12PerformCheckO12onForegroundyA2CmF"></a>
<a name="//apple_ref/swift/Element/onForeground" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12PerformCheckO12onForegroundyA2CmF">onForeground</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>(DEFAULT) Perform a version check whenever the app enters the foreground.
This value must be set when Siren&rsquo;s <code>wail</code> method is called to enable the
<code>UIApplication.didBecomeActiveNotification</code> observer.</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">onForeground</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>
-262
View File
@@ -1,262 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>UpdateType 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/UpdateType" class="dashAnchor"></a>
<a title="UpdateType 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" />
UpdateType 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/Siren/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Siren/VersionCheckType.html"> VersionCheckType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Siren/LanguageType.html"> LanguageType</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/UpdateType.html">UpdateType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>UpdateType</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">UpdateType</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
<p>MARK - Siren UpdateType
<code>UpdateType</code> defines what kind of update is available.
It is used as parameter if user wants to use
custom alert to inform the user about an update.</p>
<ul>
<li>major: Major release available: A.b.c.d</li>
<li>minor: Minor release available: a.B.c.d</li>
<li>patch: Patch release available: a.b.C.d</li>
<li>revision: Revision release available: a.b.c.D</li>
<li>unknown: No information available about the update.</li>
</ul>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10UpdateTypeO5majorA2CmF"></a>
<a name="//apple_ref/swift/Element/major" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10UpdateTypeO5majorA2CmF">major</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Major release available: 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">case</span> <span class="n">major</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10UpdateTypeO5minorA2CmF"></a>
<a name="//apple_ref/swift/Element/minor" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10UpdateTypeO5minorA2CmF">minor</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Minor release available: 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">case</span> <span class="n">minor</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10UpdateTypeO5patchA2CmF"></a>
<a name="//apple_ref/swift/Element/patch" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10UpdateTypeO5patchA2CmF">patch</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Patch release available: 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">case</span> <span class="n">patch</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10UpdateTypeO8revisionA2CmF"></a>
<a name="//apple_ref/swift/Element/revision" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10UpdateTypeO8revisionA2CmF">revision</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Revision release available: 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">case</span> <span class="n">revision</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10UpdateTypeO7unknownA2CmF"></a>
<a name="//apple_ref/swift/Element/unknown" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10UpdateTypeO7unknownA2CmF">unknown</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>No information available about the update.</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">unknown</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-17)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-278
View File
@@ -1,278 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Extensions 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/Section/Extensions" class="dashAnchor"></a>
<a title="Extensions 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" />
Extensions 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>Extensions</h1>
<p>The following extensions are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSBundle"></a>
<a name="//apple_ref/swift/Extension/Bundle" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSBundle">Bundle</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<a href="Extensions/Bundle.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">class</span> <span class="kt">Bundle</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:10Foundation4DateV"></a>
<a name="//apple_ref/swift/Extension/Date" class="dashAnchor"></a>
<a class="token" href="#/s:10Foundation4DateV">Date</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<a href="Extensions/Date.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">Date</span> <span class="p">:</span> <span class="kt">ReferenceConvertible</span><span class="p">,</span> <span class="kt">Comparable</span><span class="p">,</span> <span class="kt">Equatable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)UIAlertController"></a>
<a name="//apple_ref/swift/Extension/UIAlertController" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)UIAlertController">UIAlertController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<a href="Extensions/UIAlertController.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">class</span> <span class="kt">UIAlertController</span> <span class="p">:</span> <span class="kt">UIViewController</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)NSUserDefaults"></a>
<a name="//apple_ref/swift/Extension/UserDefaults" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)NSUserDefaults">UserDefaults</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<a href="Extensions/UserDefaults.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">class</span> <span class="kt">UserDefaults</span> <span class="p">:</span> <span class="kt">NSObject</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>
-439
View File
@@ -1,439 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bundle Extension 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/Extension/Bundle" class="dashAnchor"></a>
<a title="Bundle Extension 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" />
Bundle Extension 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>Bundle</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">Bundle</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE9ConstantsV"></a>
<a name="//apple_ref/swift/Struct/Constants" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV">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>Bundle</code> extension.</p>
<a href="../Extensions/Bundle/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">struct</span> <span class="kt">Constants</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE7versionSSSgyFZ"></a>
<a name="//apple_ref/swift/Method/version()" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE7versionSSSgyFZ">version()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Fetches the current 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="kd">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">version</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The current installed version of the app.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE15localizedString6forKey20andForceLocalizationS2S_AC0I0V8LanguageOSgtFZ"></a>
<a name="//apple_ref/swift/Method/localizedString(forKey:andForceLocalization:)" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE15localizedString6forKey20andForceLocalizationS2S_AC0I0V8LanguageOSgtFZ">localizedString(forKey:andForceLocalization:)</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 localized string for a given default string.</p>
<p>By default, the English language localization is used.
If the device&rsquo;s localization is set to another locale, that local&rsquo;s language is used if it&rsquo;s supported by Siren.
If <code>forcedLanguage</code> is set to <code>true</code>, the chosen language is shown for all devices, irrespective of their device&rsquo;s 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="kd">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">localizedString</span><span class="p">(</span><span class="n">forKey</span> <span class="nv">key</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="n">andForceLocalization</span> <span class="nv">forcedLanguage</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">-&gt;</span> <span class="kt">String</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>key</em>
</code>
</td>
<td>
<div>
<p>The default string used to search the localization table for a specific translation.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>forcedLanguage</em>
</code>
</td>
<td>
<div>
<p>Returns</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The localized string for a given key.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE19bestMatchingAppNameSSyFZ"></a>
<a name="//apple_ref/swift/Method/bestMatchingAppName()" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE19bestMatchingAppNameSSyFZ">bestMatchingAppName()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The appropriate name for the app to be displayed in the update alert.</p>
<p>Siren checks <code>CFBundleDisplayName</code> first. It then falls back to
to <code>kCFBundleNameKey</code> and ultimately to an empty string
if the aforementioned values are nil.</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">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">bestMatchingAppName</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The name of the app.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE15sirenBundlePath33_9C775CF4CEC7A5F21E625F58C71BDF22LLSSSgyFZ"></a>
<a name="//apple_ref/swift/Method/sirenBundlePath()" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE15sirenBundlePath33_9C775CF4CEC7A5F21E625F58C71BDF22LLSSSgyFZ">sirenBundlePath()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The path to Siren&rsquo;s localization <code>Bundle</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">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">sirenBundlePath</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The bundle&rsquo;s path or <code>nil</code>.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE21sirenForcedBundlePath33_9C775CF4CEC7A5F21E625F58C71BDF22LL25forceLanguageLocalizationSSSgAC0R0V0Q0O_tFZ"></a>
<a name="//apple_ref/swift/Method/sirenForcedBundlePath(forceLanguageLocalization:)" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE21sirenForcedBundlePath33_9C775CF4CEC7A5F21E625F58C71BDF22LL25forceLanguageLocalizationSSSgAC0R0V0Q0O_tFZ">sirenForcedBundlePath(forceLanguageLocalization:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The path for a particular language localizationin Siren&rsquo;s localization <code>Bundle</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">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">sirenForcedBundlePath</span><span class="p">(</span><span class="nv">forceLanguageLocalization</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">-&gt;</span> <span class="kt">String</span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>forceLanguageLocalization</em>
</code>
</td>
<td>
<div>
<p>The language localization that should be searched for in Siren&rsquo;s localization <code>bundle</code>.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The path to the forced language localization.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE14deviceLanguage33_9C775CF4CEC7A5F21E625F58C71BDF22LLAC12LocalizationV0D0OSgyFZ"></a>
<a name="//apple_ref/swift/Method/deviceLanguage()" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE14deviceLanguage33_9C775CF4CEC7A5F21E625F58C71BDF22LLAC12LocalizationV0D0OSgyFZ">deviceLanguage()</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The user&rsquo;s preferred language based on their device&rsquo;s 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="kd">final</span> <span class="kd">class</span> <span class="kd">func</span> <span class="nf">deviceLanguage</span><span class="p">()</span> <span class="o">-&gt;</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></code></pre>
</div>
</div>
<div>
<h4>Return Value</h4>
<p>The user&rsquo;s preferred language.</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-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>
-326
View File
@@ -1,326 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Constants 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/Constants" class="dashAnchor"></a>
<a title="Constants 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" />
Constants 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>Constants</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Constants</span></code></pre>
</div>
</div>
<p>Constants used in the <code>Bundle</code> extension.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So8NSBundleC5SirenE9ConstantsV15bundleExtensionSSvpZ"></a>
<a name="//apple_ref/swift/Variable/bundleExtension" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV15bundleExtensionSSvpZ">bundleExtension</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the <code>.bundle</code> file extension.</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">static</span> <span class="k">let</span> <span class="nv">bundleExtension</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:So8NSBundleC5SirenE9ConstantsV11displayNameSSvpZ"></a>
<a name="//apple_ref/swift/Variable/displayName" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV11displayNameSSvpZ">displayName</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for <code>CFBundleDisplayName</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">static</span> <span class="k">let</span> <span class="nv">displayName</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:So8NSBundleC5SirenE9ConstantsV19englishLocalizationSSvpZ"></a>
<a name="//apple_ref/swift/Variable/englishLocalization" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV19englishLocalizationSSvpZ">englishLocalization</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the default US English 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="kd">static</span> <span class="k">let</span> <span class="nv">englishLocalization</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:So8NSBundleC5SirenE9ConstantsV16projectExtensionSSvpZ"></a>
<a name="//apple_ref/swift/Variable/projectExtension" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV16projectExtensionSSvpZ">projectExtension</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the project file extension.</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">static</span> <span class="k">let</span> <span class="nv">projectExtension</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:So8NSBundleC5SirenE9ConstantsV18shortVersionStringSSvpZ"></a>
<a name="//apple_ref/swift/Variable/shortVersionString" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV18shortVersionStringSSvpZ">shortVersionString</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for <code>CFBundleShortVersionString</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">static</span> <span class="k">let</span> <span class="nv">shortVersionString</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:So8NSBundleC5SirenE9ConstantsV5tableSSvpZ"></a>
<a name="//apple_ref/swift/Variable/table" class="dashAnchor"></a>
<a class="token" href="#/s:So8NSBundleC5SirenE9ConstantsV5tableSSvpZ">table</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the localization table.</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">static</span> <span class="k">let</span> <span class="nv">table</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>
-263
View File
@@ -1,263 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Date Extension 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/Extension/Date" class="dashAnchor"></a>
<a title="Date Extension 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" />
Date Extension 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>Date</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">struct</span> <span class="kt">Date</span> <span class="p">:</span> <span class="kt">ReferenceConvertible</span><span class="p">,</span> <span class="kt">Comparable</span><span class="p">,</span> <span class="kt">Equatable</span></code></pre>
</div>
</div>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:10Foundation4DateV5SirenE4days5sinceSiAC_tFZ"></a>
<a name="//apple_ref/swift/Method/days(since:)" class="dashAnchor"></a>
<a class="token" href="#/s:10Foundation4DateV5SirenE4days5sinceSiAC_tFZ">days(since:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The amount of days passed from a specific source date.</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">static</span> <span class="kd">func</span> <span class="nf">days</span><span class="p">(</span><span class="n">since</span> <span class="nv">date</span><span class="p">:</span> <span class="kt">Date</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Int</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>date</em>
</code>
</td>
<td>
<div>
<p>The source date.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The amount of days passed since the source date.</p>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:10Foundation4DateV5SirenE4days5sinceSiSgSS_tFZ"></a>
<a name="//apple_ref/swift/Method/days(since:)" class="dashAnchor"></a>
<a class="token" href="#/s:10Foundation4DateV5SirenE4days5sinceSiSgSS_tFZ">days(since:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The amount of days passed from a specific source date string.</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">static</span> <span class="kd">func</span> <span class="nf">days</span><span class="p">(</span><span class="n">since</span> <span class="nv">dateString</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Int</span><span class="p">?</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>dateString</em>
</code>
</td>
<td>
<div>
<p>The source date string.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>The amount of days passed since the source date.</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-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>
-255
View File
@@ -1,255 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>UIAlertController Extension 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/Extension/UIAlertController" class="dashAnchor"></a>
<a title="UIAlertController Extension 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" />
UIAlertController Extension 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>UIAlertController</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">UIAlertController</span> <span class="p">:</span> <span class="kt">UIViewController</span></code></pre>
</div>
</div>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So17UIAlertControllerC5SirenE4show6windowySo8UIWindowC_tF"></a>
<a name="//apple_ref/swift/Method/show(window:)" class="dashAnchor"></a>
<a class="token" href="#/s:So17UIAlertControllerC5SirenE4show6windowySo8UIWindowC_tF">show(window:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Presents Siren&rsquo;s <code>UIAlertController</code> in a new <code>UIWindow</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">func</span> <span class="nf">show</span><span class="p">(</span><span class="nv">window</span><span class="p">:</span> <span class="kt">UIWindow</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>window</em>
</code>
</td>
<td>
<div>
<p>The <code>UIWindow</code> that <em>should</em> reference Siren&rsquo;s <code>UIAlertController</code>.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So17UIAlertControllerC5SirenE4hide6windowySo8UIWindowC_tF"></a>
<a name="//apple_ref/swift/Method/hide(window:)" class="dashAnchor"></a>
<a class="token" href="#/s:So17UIAlertControllerC5SirenE4hide6windowySo8UIWindowC_tF">hide(window:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Hides Siren&rsquo;s <code>UIAlertController</code> within a given window.</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">hide</span><span class="p">(</span><span class="nv">window</span><span class="p">:</span> <span class="kt">UIWindow</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>window</em>
</code>
</td>
<td>
<div>
<p>The <code>UIWindow</code> that references Siren&rsquo;s <code>UIAlertController</code>.</p>
</div>
</td>
</tr>
</tbody>
</table>
</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>
-245
View File
@@ -1,245 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>UserDefaults Extension 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/Extension/UserDefaults" class="dashAnchor"></a>
<a title="UserDefaults Extension 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" />
UserDefaults Extension 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>UserDefaults</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">UserDefaults</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO"></a>
<a name="//apple_ref/swift/Enum/SirenKeys" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO">SirenKeys</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Siren-specific <code>UserDefaults</code> Keys</p>
<a href="../Extensions/UserDefaults/SirenKeys.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">SirenKeys</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:So14NSUserDefaultsC5SirenE20storedSkippedVersionSSSgvpZ"></a>
<a name="//apple_ref/swift/Variable/storedSkippedVersion" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE20storedSkippedVersionSSSgvpZ">storedSkippedVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sets and Gets a <code>UserDefault</code> around storing a version that the user wants to skip updating.</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">static</span> <span class="k">var</span> <span class="nv">storedSkippedVersion</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:So14NSUserDefaultsC5SirenE21alertPresentationDate10Foundation0F0VSgvpZ"></a>
<a name="//apple_ref/swift/Variable/alertPresentationDate" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE21alertPresentationDate10Foundation0F0VSgvpZ">alertPresentationDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sets and Gets a <code>UserDefault</code> around the last time the user was presented a version 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">static</span> <span class="k">var</span> <span class="nv">alertPresentationDate</span><span class="p">:</span> <span class="kt">Date</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>
</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>
-246
View File
@@ -1,246 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SirenKeys 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/SirenKeys" class="dashAnchor"></a>
<a title="SirenKeys 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" />
SirenKeys 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>SirenKeys</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">SirenKeys</span> <span class="p">:</span> <span class="kt">String</span></code></pre>
</div>
</div>
<p>Siren-specific <code>UserDefaults</code> Keys</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO37PerformVersionCheckOnSubsequentLaunchyA2FmF"></a>
<a name="//apple_ref/swift/Element/PerformVersionCheckOnSubsequentLaunch" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO37PerformVersionCheckOnSubsequentLaunchyA2FmF">PerformVersionCheckOnSubsequentLaunch</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Key that notifies Siren to perform a version check and present
the Siren alert the next time the user launches 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">case</span> <span class="kt">PerformVersionCheckOnSubsequentLaunch</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO22StoredVersionCheckDateyA2FmF"></a>
<a name="//apple_ref/swift/Element/StoredVersionCheckDate" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO22StoredVersionCheckDateyA2FmF">StoredVersionCheckDate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Key that stores the timestamp of the last version check.</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="kt">StoredVersionCheckDate</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO20StoredSkippedVersionyA2FmF"></a>
<a name="//apple_ref/swift/Element/StoredSkippedVersion" class="dashAnchor"></a>
<a class="token" href="#/s:So14NSUserDefaultsC5SirenE0C4Keys33_0884631E60E090AA276701A736B793BBLLO20StoredSkippedVersionyA2FmF">StoredSkippedVersion</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Key that stores the version that a user decided to skip.</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="kt">StoredSkippedVersion</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>
-146
View File
@@ -1,146 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Protocols 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/Section/Protocols" class="dashAnchor"></a>
<a title="Protocols 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" />
Protocols 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="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Protocols</h1>
<p>The following protocols are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<div class="task-name-container">
<a name="/SirenDelegate%20Protocol"></a>
<a name="//apple_ref/swift/Section/SirenDelegate Protocol" class="dashAnchor"></a>
<a href="#/SirenDelegate%20Protocol">
<h3 class="section-name">SirenDelegate Protocol</h3>
</a>
</div>
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP"></a>
<a name="//apple_ref/swift/Protocol/SirenDelegate" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP">SirenDelegate</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Delegate that handles all codepaths for Siren upon version check completion.</p>
<a href="Protocols/SirenDelegate.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">protocol</span> <span class="kt">SirenDelegate</span> <span class="p">:</span> <span class="kt">NSObjectProtocol</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-433
View File
@@ -1,433 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SirenDelegate Protocol 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/Protocol/SirenDelegate" class="dashAnchor"></a>
<a title="SirenDelegate Protocol 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" />
SirenDelegate Protocol 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="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>SirenDelegate</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">SirenDelegate</span> <span class="p">:</span> <span class="kt">NSObjectProtocol</span></code></pre>
</div>
</div>
<p>Delegate that handles all codepaths for Siren upon version check completion.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP36sirenDidDetectNewVersionWithoutAlertySS5title_SS7messageAA9ConstantsV10UpdateTypeO06updateN0tF"></a>
<a name="//apple_ref/swift/Method/sirenDidDetectNewVersionWithoutAlert(title:message:updateType:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP36sirenDidDetectNewVersionWithoutAlertySS5title_SS7messageAA9ConstantsV10UpdateTypeO06updateN0tF">sirenDidDetectNewVersionWithoutAlert(title:message:updateType:)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Siren performed a version check and did not display an alert.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenDidDetectNewVersionWithoutAlert</span><span class="p">(</span><span class="nv">title</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">message</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">updateType</span><span class="p">:</span> <span class="kt"><a href="../Structs/Constants.html">Constants</a></span><span class="o">.</span><span class="kt">UpdateType</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP24sirenDidFailVersionCheckys5Error_p5error_tF"></a>
<a name="//apple_ref/swift/Method/sirenDidFailVersionCheck(error:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP24sirenDidFailVersionCheckys5Error_p5error_tF">sirenDidFailVersionCheck(error:)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Siren failed to perform version check.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
Depending on the reason for failure,
a system-level error may be returned.
</div>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenDidFailVersionCheck</span><span class="p">(</span><span class="nv">error</span><span class="p">:</span> <span class="kt">Error</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP24sirenDidShowUpdateDialogyAA9ConstantsV9AlertTypeO05alertJ0_tF"></a>
<a name="//apple_ref/swift/Method/sirenDidShowUpdateDialog(alertType:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP24sirenDidShowUpdateDialogyAA9ConstantsV9AlertTypeO05alertJ0_tF">sirenDidShowUpdateDialog(alertType:)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>User presented with an update dialog.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenDidShowUpdateDialog</span><span class="p">(</span><span class="nv">alertType</span><span class="p">:</span> <span class="kt"><a href="../Structs/Constants.html">Constants</a></span><span class="o">.</span><span class="kt">AlertType</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>alertType</em>
</code>
</td>
<td>
<div>
<p>The type of alert that was presented.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP27sirenLatestVersionInstalledyyF"></a>
<a name="//apple_ref/swift/Method/sirenLatestVersionInstalled()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP27sirenLatestVersionInstalledyyF">sirenLatestVersionInstalled()</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Siren performed a version check and the latest version was already installed.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenLatestVersionInstalled</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP50sirenNetworkCallDidReturnWithNewVersionInformationyAA11LookupModelV06lookupM0_tF"></a>
<a name="//apple_ref/swift/Method/sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP50sirenNetworkCallDidReturnWithNewVersionInformationyAA11LookupModelV06lookupM0_tF">sirenNetworkCallDidReturnWithNewVersionInformation(lookupModel:)</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Provides the decoded JSON information from a successful version check call.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenNetworkCallDidReturnWithNewVersionInformation</span><span class="p">(</span><span class="nv">lookupModel</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>lookupModel</em>
</code>
</td>
<td>
<div>
<p>The <code>Decodable</code> model representing the JSON results from the iTunes Lookup API.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP18sirenUserDidCancelyyF"></a>
<a name="//apple_ref/swift/Method/sirenUserDidCancel()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP18sirenUserDidCancelyyF">sirenUserDidCancel()</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>User did click on button that cancels update dialog.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenUserDidCancel</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP26sirenUserDidLaunchAppStoreyyF"></a>
<a name="//apple_ref/swift/Method/sirenUserDidLaunchAppStore()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP26sirenUserDidLaunchAppStoreyyF">sirenUserDidLaunchAppStore()</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>User did click on button that launched <q>App Store.app</q>.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenUserDidLaunchAppStore</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren0A8DelegateP23sirenUserDidSkipVersionyyF"></a>
<a name="//apple_ref/swift/Method/sirenUserDidSkipVersion()" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren0A8DelegateP23sirenUserDidSkipVersionyyF">sirenUserDidSkipVersion()</a>
</code>
<span class="declaration-note">
Default implementation
</span>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>User did click on button that skips version update.</p>
</div>
<h4>Default Implementation</h4>
<div class="default_impl abstract">
</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">sirenUserDidSkipVersion</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-370
View File
@@ -1,370 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Structures 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/Section/Structures" class="dashAnchor"></a>
<a title="Structures 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" />
Structures 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>Structures</h1>
<p>The following structures are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV"></a>
<a name="//apple_ref/swift/Struct/APIManager" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV">APIManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>APIManager for Siren</p>
<a href="Structs/APIManager.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">APIManager</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren19PresentationManagerV"></a>
<a name="//apple_ref/swift/Struct/PresentationManager" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren19PresentationManagerV">PresentationManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>PresentationManager for Siren</p>
<a href="Structs/PresentationManager.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">PresentationManager</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren12RulesManagerV"></a>
<a name="//apple_ref/swift/Struct/RulesManager" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12RulesManagerV">RulesManager</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>RulesManager for Siren</p>
<a href="Structs/RulesManager.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">RulesManager</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertConstantsV"></a>
<a name="//apple_ref/swift/Struct/AlertConstants" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV">AlertConstants</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The default constants used for the update alert&rsquo;s messaging.</p>
<a href="Structs/AlertConstants.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">AlertConstants</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren12LocalizationV"></a>
<a name="//apple_ref/swift/Struct/Localization" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren12LocalizationV">Localization</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Localization information and strings for Siren.</p>
<a href="Structs/Localization.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">Localization</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<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">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<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/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">Model</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren5RulesV"></a>
<a name="//apple_ref/swift/Struct/Rules" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren5RulesV">Rules</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Alert Presentation Rules for Siren.</p>
<a href="Structs/Rules.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">Rules</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<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">
<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/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">public</span> <span class="kd">struct</span> <span class="kt">UpdateResults</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>
-202
View File
@@ -1,202 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>APIManager 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/APIManager" class="dashAnchor"></a>
<a title="APIManager 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" />
APIManager 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>APIManager</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">APIManager</span></code></pre>
</div>
</div>
<p>APIManager for Siren</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV11countryCodeACSSSg_tcfc"></a>
<a name="//apple_ref/swift/Method/init(countryCode:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV11countryCodeACSSSg_tcfc">init(countryCode:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Initializes <code>APIManager</code> to 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="kd">public</span> <span class="nf">init</span><span class="p">(</span><span class="nv">countryCode</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></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>countryCode</em>
</code>
</td>
<td>
<div>
<p>The country code for the App Store in which the app is availabe. Defaults to nil (e.g., the US App Store)</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV7defaultACvpZ"></a>
<a name="//apple_ref/swift/Variable/default" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV7defaultACvpZ">default</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The default <code>APIManager</code>.</p>
<p>The version check is performed against the US 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="kd">public</span> <span class="kd">static</span> <span class="kd">let</span> <span class="p">`</span><span class="nv">default</span><span class="p">`:</span> <span class="kt">APIManager</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>
-218
View File
@@ -1,218 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Constants 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/Constants" class="dashAnchor"></a>
<a title="Constants 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" />
Constants 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>Constants</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">private</span> <span class="kd">struct</span> <span class="kt">Constants</span></code></pre>
</div>
</div>
<p>Constants used in the <code><a href="../../Structs/APIManager.html">APIManager</a></code>.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV8bundleIDSSvpZ"></a>
<a name="//apple_ref/swift/Variable/bundleID" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV8bundleIDSSvpZ">bundleID</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the <code>bundleId</code> parameter in 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">static</span> <span class="k">let</span> <span class="nv">bundleID</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:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV7countrySSvpZ"></a>
<a name="//apple_ref/swift/Variable/country" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren10APIManagerV9Constants33_8071139324B24E2065F4037045A8D960LLV7countrySSvpZ">country</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Constant for the <code>country</code> parameter in 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">static</span> <span class="k">let</span> <span class="nv">country</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>
-247
View File
@@ -1,247 +0,0 @@
<!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
@@ -1,191 +0,0 @@
<!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
@@ -1,327 +0,0 @@
<!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>
@@ -1,299 +0,0 @@
<!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>
-258
View File
@@ -1,258 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>AlertConstants 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/AlertConstants" class="dashAnchor"></a>
<a title="AlertConstants 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" />
AlertConstants 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>AlertConstants</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">AlertConstants</span></code></pre>
</div>
</div>
<p>The default constants used for the update alert&rsquo;s messaging.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertConstantsV12alertMessageSSvpZ"></a>
<a name="//apple_ref/swift/Variable/alertMessage" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV12alertMessageSSvpZ">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 text that conveys the message that there is an app update available</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="kd">static</span> <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:5Siren14AlertConstantsV10alertTitleSSvpZ"></a>
<a name="//apple_ref/swift/Variable/alertTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV10alertTitleSSvpZ">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 alert title which defaults to <em>Update Available</em>.</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="kd">static</span> <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:5Siren14AlertConstantsV19nextTimeButtonTitleSSvpZ"></a>
<a name="//apple_ref/swift/Variable/nextTimeButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV19nextTimeButtonTitleSSvpZ">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 button text that conveys the message that the user should be prompted to update next time the app launches.</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="kd">static</span> <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:5Siren14AlertConstantsV15skipButtonTitleSSvpZ"></a>
<a name="//apple_ref/swift/Variable/skipButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV15skipButtonTitleSSvpZ">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 text that conveys the message that the the user wants to skip this version update.</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="kd">static</span> <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:5Siren14AlertConstantsV17updateButtonTitleSSvpZ"></a>
<a name="//apple_ref/swift/Variable/updateButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertConstantsV17updateButtonTitleSSvpZ">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 button text that conveys the message that the user would like to update the app right away.</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="kd">static</span> <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>
</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>
-250
View File
@@ -1,250 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>AlertMessaging 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/AlertMessaging" class="dashAnchor"></a>
<a title="AlertMessaging 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" />
AlertMessaging 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="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>AlertMessaging</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">AlertMessaging</span></code></pre>
</div>
</div>
<p>Allows the overriding of all the <code>UIAlertController</code> and <code>UIActionSheet</code> Strings to which Siren defaults.</p>
<div class="aside aside-warning">
<p class="aside-title">Warning</p>
Overriding any of these keys will result in the loss of the built-in internationalization that Siren provides.
</div>
<p>As <code>SirenAlertMessaging</code> is a Struct, one <em>or</em> more keys can be modified. Overriding only one string will result in the other keys retaining their default (and internationalizable) values.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV"></a>
<a name="//apple_ref/swift/Struct/Constants" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV">Constants</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The default constants used for the alert messaging.</p>
<a href="../Structs/AlertMessaging/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">public</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:5Siren14AlertMessagingVACSo18NSAttributedStringC11updateTitle_AE0F7MessageAE0f6ButtonH0AE08nextTimeiH0AE011skipVersioniH0tcfc"></a>
<a name="//apple_ref/swift/Method/init(updateTitle:updateMessage:updateButtonMessage:nextTimeButtonMessage:skipVersionButtonMessage:)" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingVACSo18NSAttributedStringC11updateTitle_AE0F7MessageAE0f6ButtonH0AE08nextTimeiH0AE011skipVersioniH0tcfc">init(updateTitle:updateMessage:updateButtonMessage:nextTimeButtonMessage:skipVersionButtonMessage:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The public initializer</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="nf">init</span><span class="p">(</span><span class="n">updateTitle</span> <span class="nv">title</span><span class="p">:</span> <span class="kt">NSAttributedString</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertMessaging/Constants.html">Constants</a></span><span class="o">.</span><span class="n">alertTitle</span><span class="p">,</span>
<span class="n">updateMessage</span> <span class="nv">message</span><span class="p">:</span> <span class="kt">NSAttributedString</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertMessaging/Constants.html">Constants</a></span><span class="o">.</span><span class="n">alertMessage</span><span class="p">,</span>
<span class="nv">updateButtonMessage</span><span class="p">:</span> <span class="kt">NSAttributedString</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertMessaging/Constants.html">Constants</a></span><span class="o">.</span><span class="n">updateButtonTitle</span><span class="p">,</span>
<span class="nv">nextTimeButtonMessage</span><span class="p">:</span> <span class="kt">NSAttributedString</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertMessaging/Constants.html">Constants</a></span><span class="o">.</span><span class="n">nextTimeButtonTitle</span><span class="p">,</span>
<span class="nv">skipVersionButtonMessage</span><span class="p">:</span> <span class="kt">NSAttributedString</span> <span class="o">=</span> <span class="kt"><a href="../Structs/AlertMessaging/Constants.html">Constants</a></span><span class="o">.</span><span class="n">skipButtonTitle</span><span class="p">)</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>title</em>
</code>
</td>
<td>
<div>
<p>The title field of the <code>UIAlertController</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>message</em>
</code>
</td>
<td>
<div>
<p>The <code>message</code> field of the <code>UIAlertController</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>updateButtonMessage</em>
</code>
</td>
<td>
<div>
<p>The <code>title</code> field of the Update Button <code>UIAlertAction</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>nextTimeButtonMessage</em>
</code>
</td>
<td>
<div>
<p>The <code>title</code> field of the Next Time Button <code>UIAlertAction</code>.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>skipVersionButtonMessage</em>
</code>
</td>
<td>
<div>
<p>The <code>title</code> field of the Skip Button <code>UIAlertAction</code>.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-252
View File
@@ -1,252 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Constants 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/Constants" class="dashAnchor"></a>
<a title="Constants 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" />
Constants 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="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Constants</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">Constants</span></code></pre>
</div>
</div>
<p>The default constants used for the alert messaging.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV12alertMessageSo18NSAttributedStringCvpZ"></a>
<a name="//apple_ref/swift/Variable/alertMessage" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV12alertMessageSo18NSAttributedStringCvpZ">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 text that conveys the message that there is an app update available</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="kd">static</span> <span class="k">let</span> <span class="nv">alertMessage</span><span class="p">:</span> <span class="kt">NSAttributedString</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV10alertTitleSo18NSAttributedStringCvpZ"></a>
<a name="//apple_ref/swift/Variable/alertTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV10alertTitleSo18NSAttributedStringCvpZ">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 alert title which defaults to <em>Update Available</em>.</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="kd">static</span> <span class="k">let</span> <span class="nv">alertTitle</span><span class="p">:</span> <span class="kt">NSAttributedString</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV19nextTimeButtonTitleSo18NSAttributedStringCvpZ"></a>
<a name="//apple_ref/swift/Variable/nextTimeButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV19nextTimeButtonTitleSo18NSAttributedStringCvpZ">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 button text that conveys the message that the user should be prompted to update next time the app launches.</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="kd">static</span> <span class="k">let</span> <span class="nv">nextTimeButtonTitle</span><span class="p">:</span> <span class="kt">NSAttributedString</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV15skipButtonTitleSo18NSAttributedStringCvpZ"></a>
<a name="//apple_ref/swift/Variable/skipButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV15skipButtonTitleSo18NSAttributedStringCvpZ">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 text that conveys the message that the the user wants to skip this verison update.</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="kd">static</span> <span class="k">let</span> <span class="nv">skipButtonTitle</span><span class="p">:</span> <span class="kt">NSAttributedString</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren14AlertMessagingV9ConstantsV17updateButtonTitleSo18NSAttributedStringCvpZ"></a>
<a name="//apple_ref/swift/Variable/updateButtonTitle" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren14AlertMessagingV9ConstantsV17updateButtonTitleSo18NSAttributedStringCvpZ">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 button text that conveys the message that the user would like to update the app right away.</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="kd">static</span> <span class="k">let</span> <span class="nv">updateButtonTitle</span><span class="p">:</span> <span class="kt">NSAttributedString</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-158
View File
@@ -1,158 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>CapturedError 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/CapturedError" class="dashAnchor"></a>
<a title="CapturedError 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" />
CapturedError 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="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>CapturedError</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">CapturedError</span> <span class="p">:</span> <span class="kt">LocalizedError</span></code></pre>
</div>
</div>
<p>Siren extension dealing with Siren-specific errors.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO"></a>
<a name="//apple_ref/swift/Enum/Known" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO">Known</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Enumerates all potentials errors that Siren can handle.</p>
<ul>
<li>appStoreAppIDFailure: Error retrieving trackId as the JSON does not contain a &lsquo;trackId&rsquo; key.</li>
<li>appStoreDataRetrievalFailure: Error retrieving App Store data as an error was returned.</li>
<li>appStoreJSONParsingFailure: Error parsing App Store JSON data.</li>
<li>appStoreDataRetrievalEmptyResults: Error retrieving App Store data as JSON results were empty. Is your app available in the US? If not, change the <code>countryCode</code> variable to fix this error.</li>
<li>appStoreOSVersionNumberFailure: Error retrieving iOS version number as there was no data returned.</li>
<li>appStoreOSVersionUnsupported: The version of iOS on the device is lower than that of the one required by the app verison update.</li>
<li>appStoreVersionArrayFailure: Error retrieving App Store verson number as the JSON does not contain a &lsquo;version&rsquo; key.</li>
<li>malformedURL: The iTunes URL is malformed. Please leave an issue on <a href="https://github.com/ArtSabintsev/Siren">https://github.com/ArtSabintsev/Siren</a> with as many details as possible.</li>
<li>noUpdateAvailable: No new update available.</li>
<li>recentlyCheckedAlready: Not checking the version, because it was already checked recently.</li>
</ul>
<a href="../Structs/CapturedError/Known.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">enum</span> <span class="kt">Known</span> <span class="p">:</span> <span class="kt">Error</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-400
View File
@@ -1,400 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Known 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/Known" class="dashAnchor"></a>
<a title="Known 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" />
Known 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>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Known</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">Known</span> <span class="p">:</span> <span class="kt">Error</span></code></pre>
</div>
</div>
<p>Enumerates all potentials errors that Siren can handle.</p>
<ul>
<li>appStoreAppIDFailure: Error retrieving trackId as the JSON does not contain a &lsquo;trackId&rsquo; key.</li>
<li>appStoreDataRetrievalFailure: Error retrieving App Store data as an error was returned.</li>
<li>appStoreJSONParsingFailure: Error parsing App Store JSON data.</li>
<li>appStoreDataRetrievalEmptyResults: Error retrieving App Store data as JSON results were empty. Is your app available in the US? If not, change the <code>countryCode</code> variable to fix this error.</li>
<li>appStoreOSVersionNumberFailure: Error retrieving iOS version number as there was no data returned.</li>
<li>appStoreOSVersionUnsupported: The version of iOS on the device is lower than that of the one required by the app verison update.</li>
<li>appStoreVersionArrayFailure: Error retrieving App Store verson number as the JSON does not contain a &lsquo;version&rsquo; key.</li>
<li>malformedURL: The iTunes URL is malformed. Please leave an issue on <a href="https://github.com/ArtSabintsev/Siren">https://github.com/ArtSabintsev/Siren</a> with as many details as possible.</li>
<li>noUpdateAvailable: No new update available.</li>
<li>recentlyCheckedAlready: Not checking the version, because it was already checked recently.</li>
</ul>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO20appStoreAppIDFailureA2EmF"></a>
<a name="//apple_ref/swift/Element/appStoreAppIDFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO20appStoreAppIDFailureA2EmF">appStoreAppIDFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving trackId as the JSON does not contain a &lsquo;trackId&rsquo; 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">appStoreAppIDFailure</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO28appStoreDataRetrievalFailureAEs0C0_pSg010underlyingC0_tcAEmF"></a>
<a name="//apple_ref/swift/Element/appStoreDataRetrievalFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO28appStoreDataRetrievalFailureAEs0C0_pSg010underlyingC0_tcAEmF">appStoreDataRetrievalFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store data as an error was returned.</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="nf">appStoreDataRetrievalFailure</span><span class="p">(</span><span class="nv">underlyingError</span><span class="p">:</span> <span class="kt">Error</span><span class="p">?)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO26appStoreJSONParsingFailureAEs0C0_p010underlyingC0_tcAEmF"></a>
<a name="//apple_ref/swift/Element/appStoreJSONParsingFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO26appStoreJSONParsingFailureAEs0C0_p010underlyingC0_tcAEmF">appStoreJSONParsingFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error parsing App Store JSON data.</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="nf">appStoreJSONParsingFailure</span><span class="p">(</span><span class="nv">underlyingError</span><span class="p">:</span> <span class="kt">Error</span><span class="p">)</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO33appStoreDataRetrievalEmptyResultsA2EmF"></a>
<a name="//apple_ref/swift/Element/appStoreDataRetrievalEmptyResults" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO33appStoreDataRetrievalEmptyResultsA2EmF">appStoreDataRetrievalEmptyResults</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store data as JSON results were empty. Is your app available in the US? If not, change the <code>countryCode</code> variable to fix this error.</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">appStoreDataRetrievalEmptyResults</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO30appStoreOSVersionNumberFailureA2EmF"></a>
<a name="//apple_ref/swift/Element/appStoreOSVersionNumberFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO30appStoreOSVersionNumberFailureA2EmF">appStoreOSVersionNumberFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving iOS version number as there was no data returned.</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">appStoreOSVersionNumberFailure</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO28appStoreOSVersionUnsupportedA2EmF"></a>
<a name="//apple_ref/swift/Element/appStoreOSVersionUnsupported" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO28appStoreOSVersionUnsupportedA2EmF">appStoreOSVersionUnsupported</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<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>
</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">appStoreOSVersionUnsupported</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO27appStoreVersionArrayFailureA2EmF"></a>
<a name="//apple_ref/swift/Element/appStoreVersionArrayFailure" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO27appStoreVersionArrayFailureA2EmF">appStoreVersionArrayFailure</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Error retrieving App Store verson number as the JSON does not contain a &lsquo;version&rsquo; 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">appStoreVersionArrayFailure</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO12malformedURLA2EmF"></a>
<a name="//apple_ref/swift/Element/malformedURL" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO12malformedURLA2EmF">malformedURL</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The iTunes URL is malformed. Please leave an issue on <a href="https://github.com/ArtSabintsev/Siren">https://github.com/ArtSabintsev/Siren</a> with as many details as possible.</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">malformedURL</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO17noUpdateAvailableA2EmF"></a>
<a name="//apple_ref/swift/Element/noUpdateAvailable" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO17noUpdateAvailableA2EmF">noUpdateAvailable</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>No new update available.</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">noUpdateAvailable</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren13CapturedErrorV5KnownO22recentlyCheckedAlreadyA2EmF"></a>
<a name="//apple_ref/swift/Element/recentlyCheckedAlready" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren13CapturedErrorV5KnownO22recentlyCheckedAlreadyA2EmF">recentlyCheckedAlready</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Not checking the version, because it was already checked recently.</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">recentlyCheckedAlready</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-211
View File
@@ -1,211 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Constants 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/Constants" class="dashAnchor"></a>
<a title="Constants 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" />
Constants 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="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Constants</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">Constants</span></code></pre>
</div>
</div>
<p>Lists all enumerated types that are used to configure the library.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV9AlertTypeO"></a>
<a name="//apple_ref/swift/Enum/AlertType" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV9AlertTypeO">AlertType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Determines the type of alert to present after a successful version check has been performed.</p>
<a href="../Structs/Constants/AlertType.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">enum</span> <span class="kt">AlertType</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV10UpdateTypeO"></a>
<a name="//apple_ref/swift/Enum/UpdateType" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV10UpdateTypeO">UpdateType</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p><code>UpdateType</code> defines what kind of update is available.
It is used as a parameter if the user wants to use
a custom alert to inform the user about an update.</p>
<ul>
<li>major: Major release available: A.b.c.d</li>
<li>minor: Minor release available: a.B.c.d</li>
<li>patch: Patch release available: a.b.C.d</li>
<li>revision: Revision release available: a.b.c.D</li>
<li>unknown: No information available about the update.</li>
</ul>
<a href="../Structs/Constants/UpdateType.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">enum</span> <span class="kt">UpdateType</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:5Siren9ConstantsV21VersionCheckFrequencyO"></a>
<a name="//apple_ref/swift/Enum/VersionCheckFrequency" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV21VersionCheckFrequencyO">VersionCheckFrequency</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Determines the frequency in which the the version check is performed and the user is prompted to update the app.</p>
<a href="../Structs/Constants/VersionCheckFrequency.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">enum</span> <span class="kt">VersionCheckFrequency</span> <span class="p">:</span> <span class="kt">Int</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>
-226
View File
@@ -1,226 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>AlertType 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/AlertType" class="dashAnchor"></a>
<a title="AlertType 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" />
AlertType 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>
</ul>
</li>
<li class="nav-group-name">
<a href="../../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../../Protocols/SirenDelegate.html">SirenDelegate</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/AlertMessaging.html">AlertMessaging</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/AlertMessaging/Constants.html"> Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError.html">CapturedError</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/CapturedError/Known.html"> Known</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants.html">Constants</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/AlertType.html"> AlertType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/UpdateType.html"> UpdateType</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/Constants/VersionCheckFrequency.html"> VersionCheckFrequency</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/LookupModel.html">LookupModel</a>
</li>
<li class="nav-group-task">
<a href="../../Structs/LookupModel/Results.html"> Results</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<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>
</div>
</div>
<p>Determines the type of alert to present after a successful version check has been performed.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV9AlertTypeO5forceA2EmF"></a>
<a name="//apple_ref/swift/Element/force" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV9AlertTypeO5forceA2EmF">force</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Forces user to update your app (1 button 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">case</span> <span class="n">force</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV9AlertTypeO6optionA2EmF"></a>
<a name="//apple_ref/swift/Element/option" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV9AlertTypeO6optionA2EmF">option</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>(DEFAULT) Presents user with option to update app now or at next launch (2 button 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">case</span> <span class="n">option</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV9AlertTypeO4skipA2EmF"></a>
<a name="//apple_ref/swift/Element/skip" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV9AlertTypeO4skipA2EmF">skip</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Presents user with option to update the app now, at next launch, or to skip this version all together (3 button 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">case</span> <span class="n">skip</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/s:5Siren9ConstantsV9AlertTypeO4noneA2EmF"></a>
<a name="//apple_ref/swift/Element/none" class="dashAnchor"></a>
<a class="token" href="#/s:5Siren9ConstantsV9AlertTypeO4noneA2EmF">none</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Doesn&rsquo;t show the alert, but instead returns a localized message
for use in a custom UI within the sirenDidDetectNewVersionWithoutAlert() delegate 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="k">case</span> <span class="k">none</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>&copy; 2018 <a class="link" href="https://github.com/ArtSabintsev/Siren" target="_blank" rel="external">Arthur Ariel Sabintsev and Aaron Brager</a>. All rights reserved. (Last updated: 2018-11-18)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.9.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</div>
</html>

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