{"id":18332481,"url":"https://github.com/cellular/remoteconfiguration-swift","last_synced_at":"2025-04-06T03:33:47.336Z","repository":{"id":34136050,"uuid":"157235969","full_name":"cellular/remoteconfiguration-swift","owner":"cellular","description":"Dynamic configuration of iOS, tvOS or watchOS application using remote files.","archived":false,"fork":false,"pushed_at":"2025-02-28T12:57:33.000Z","size":100,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-21T16:21:25.669Z","etag":null,"topics":["cocoapods","ios","swift","tvos","watchos","xcode"],"latest_commit_sha":null,"homepage":"https://cellular.de","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cellular.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-12T15:38:32.000Z","updated_at":"2025-02-28T12:57:11.000Z","dependencies_parsed_at":"2024-11-05T19:49:30.616Z","dependency_job_id":"b69271d9-e1e7-4ea4-9bd3-bf660aa176de","html_url":"https://github.com/cellular/remoteconfiguration-swift","commit_stats":{"total_commits":38,"total_committers":5,"mean_commits":7.6,"dds":0.5263157894736843,"last_synced_commit":"de0fb01bbaf6cdc0dc7679d6013adb27704289be"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellular%2Fremoteconfiguration-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellular%2Fremoteconfiguration-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellular%2Fremoteconfiguration-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellular%2Fremoteconfiguration-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cellular","download_url":"https://codeload.github.com/cellular/remoteconfiguration-swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247430838,"owners_count":20937873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cocoapods","ios","swift","tvos","watchos","xcode"],"created_at":"2024-11-05T19:39:11.529Z","updated_at":"2025-04-06T03:33:42.553Z","avatar_url":"https://github.com/cellular.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RemoteConfiguration\n\n[![Build Status](https://travis-ci.com/cellular/remoteconfiguration-swift.svg?branch=master)](https://travis-ci.com/cellular/remoteconfiguration-swift)\n[![Codecov](https://codecov.io/gh/cellular/remoteconfiguration-swift/branch/master/graph/badge.svg)](https://codecov.io/gh/cellular/remoteconfiguration-swift)\n[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/CellularRemoteConfiguration.svg)](https://cocoapods.org/pods/cellularremoteconfiguration)\n[![Swift Version](https://img.shields.io/badge/swift-4.2-orange.svg)](https://swift.org)\n![Platform](https://img.shields.io/badge/platform-iOS%20%7C%20watchOS%20%7C%20tvOS-lightgrey.svg)\n\nDynamic configuration of iOS, tvOS or watchOS application using remote files.\n\n## Usage\n\nTODO\n\n## Examples for the different update types\n\n### Optional Update: Optionally show alert\n\n```json\n{\n    \"customKey1\": \"customValue1\",\n    \"customKey2\": \"customValue2\",\n    \"customKey3\": \"customValue3\",\n\n    \"urlConfig\": {\n        \"baseUrl\": \"http://some.host.com/api/\"\n    },\n\n    \"appUpdate\": {\n        \"availableVersion\": \"1.2.3\",\n        \"url\": \"https://itunes.apple.com/app\",\n        \"type\": \"ignore\"\n    }\n}\n```\n\n### Recommended Update: Always show alert, allow skip\n\n```json\n{\n    \"customKey1\": \"customValue1\",\n    \"customKey2\": \"customValue2\",\n    \"customKey3\": \"customValue3\",\n\n    \"urlConfig\": {\n        \"baseUrl\": \"http://some.host.com/api/\"\n    },\n\n    \"appUpdate\": {\n        \"availableVersion\": \"1.2.3\",\n        \"url\": \"https://itunes.apple.com/theApp\",\n        \"type\": \"recommended\",\n        \"frequency\": \"always\",\n        \"localizedStrings\": [\n            {\n                \"languageCode\": \"de\",\n                \"regionCode\": \"DE\",\n                \"title\": \"Aktualisierung verfügbar\",\n                \"text\": \"Es steht eine empfohlene Aktualisierung zur Verfügung. Möchten sie diese jetzt installieren?\",\n                \"options\": [\n                    {\n                        \"title\": \"Nein\"\n                    },\n                    {\n                        \"title\": \"Aktualisieren\",\n                        \"isUpdateAction\": true\n                    }\n                ]\n            }\n        ]\n    }\n}\n```\n\n### Recommended Update, show alert only once\n\n```json\n{\n    \"customKey1\": \"customValue1\",\n    \"customKey2\": \"customValue2\",\n    \"customKey3\": \"customValue3\",\n\n    \"urlConfig\": {\n        \"baseUrl\": \"http://some.host.com/api/\"\n    },\n\n    \"appUpdate\": {\n        \"availableVersion\": \"1.2.3\",\n        \"url\": \"https://itunes.apple.com/theApp\",\n        \"type\": \"recommended\",\n        \"frequency\": \"once\",\n        \"localizedStrings\": [\n            {\n                \"languageCode\": \"de\",\n                \"regionCode\": \"DE\",\n                \"title\": \"Aktualisierung verfügbar\",\n                \"text\": \"Es steht eine empfohlene Aktualisierung zur Verfügung. Möchten sie diese jetzt installieren?\",\n                \"options\": [\n                    {\n                        \"title\": \"Nein\"\n                    },\n                    {\n                        \"title\": \"Aktualisieren\",\n                        \"isUpdateAction\": true\n                    }\n                ]\n            }\n        ]\n    }\n}\n```\n\n### Mandatory Update\n\n```json\n{\n    \"customKey1\": \"customValue1\",\n    \"customKey2\": \"customValue2\",\n    \"customKey3\": \"customValue3\",\n\n    \"urlConfig\": {\n        \"baseUrl\": \"http://some.host.com/api/\"\n    },\n\n    \"appUpdate\": {\n        \"availableVersion\": \"1.2.3\",\n        \"url\": \"https://itunes.apple.com/theApp\",\n        \"type\": \"mandatory\",\n        \"ignoredOSVersions\": [\n            \"12\"\n        ],\n        \"localizedStrings\": [\n            {\n                \"languageCode\": \"de\",\n                \"regionCode\": \"DE\",\n                \"title\": \"Aktualisierung verfügbar\",\n                \"text\": \"Es steht eine benötigte Aktualisierung zur Verfügung.\",\n                \"options\": [\n                    {\n                        \"title\": \"Aktualisieren\",\n                        \"isUpdateAction\": true\n                    }\n                ]\n            }\n        ]\n    }\n}\n```\n## Update for version 7.0.0\n\nThe dependency to CellularNetworking has been removed in this version.\n\nThe adapter to bind RemoteConfiguration to CellularNetworking has been moved to ```Example/Example/Controller/RemoteConfiguration+Adapter.swift```. This adapter must be copied to the Application to bind RemoteConfiguration to CellularNetworking or any other networking clients like Alamofire or plain NSURLSession.\n\n\n## Update for version 8.0.4\n\nFor mandatory updates it's now possible to ignore one or more iOS versions. iOS Versions contained in the array of \"ignoredOSVersions\" will not react to mandatory updates until the version is removed from the array. \nThis could be useful if you don't support special iOS versions anymore but the last working version should stil exist on the AppStore and should not be disabled by a mandatory update. If there is a breaking API change later on, you still have the ability to remove this version from the list and the mandatory update will be shown as usual.\n\n## Update for version 8.0.5\n\nAdds support for Swift Version 6.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcellular%2Fremoteconfiguration-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcellular%2Fremoteconfiguration-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcellular%2Fremoteconfiguration-swift/lists"}