{
  "name": "AppfigurateLibrary",
  "version": "2.1.0",
  "summary": "Secure runtime configuration for iOS and watchOS, apps and app extensions",
  "description": "Appfigurate provides the ability to change configuration properties in iOS and watchOS, apps and app extensions, securely, at runtime. This cocoapod only adds the client library to your app, you will also need to install Appfigurate app into your iOS Simulator - 'git clone https://github.com/electricbolt/appfiguratesdk.git'",
  "homepage": "https://github.com/electricbolt/appfiguratesdk",
  "license": {
    "type": "Copyright",
    "text": "Appfigurate™ License Agreement.\n\n1. Preamble\n\n1.1 The Appfigurate SDK (“SDK”) comprising of a static XCFramework, header files, examples, documentation and Appfigurate Simulator app are licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Electric Bolt in relation to your use of the SDK.\n\n1.2 \"Electric Bolt\" means Electric Bolt Limited, a limited liability company registered in\nNew Zealand.\n\n2. Accepting this License Agreement\n\n2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.\n\n2.2 You can accept this License Agreement by linking the static XCFramework into your own apps, or by using the Appfigurate Simulator app. You agree that use of the SDK constitutes acceptance of the Licensing Agreement from that point onwards.\n\n2.3 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the SDK on behalf of your employer or other entity.\n\n3. SDK License from Electric Bolt\n\n3.1 Subject to the terms of this License Agreement, Electric Bolt grants you a limited, worldwide, royalty-free, non-sublicenseable, non-assignable and non-exclusive license to use the SDK to link the static XCFramework into your own apps.\n\n3.2 You agree that the form and nature of the SDK that Electric Bolt provides may change without prior notice to you and that future versions of the SDK may be incompatible with apps developed on previous versions of the SDK. You agree that Electric Bolt may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you at Electric Bolt’s sole discretion, without prior notice.\n\n3.3 You may not claim that the SDK, in whole or in part, is yours, and you may not use the name the Electric Bolt or any of their respective logos or trademarks in any manner without first obtaining the prior written permission from an authorized representative of the Electric Bolt.\n\n3.4 Nothing in this License Agreement gives you a right to use any of Electric Bolt’s logos, trademarks, trade names, domain names, or other distinctive brand features.\n\n3.5 You agree that you will not obscure, remove, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.\n\n4. Usage of the SDK\n\n4.1 Electric Bolt agrees that it obtains no right, title or interest from you under this License Agreement in or to any apps that you develop using the SDK, including any intellectual property rights that subsist in those apps.\n\n4.2 You agree to use the SDK and write apps only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in relevant jurisdictions.\n\n4.3 You agree that you will only run the Appfigurate Simulator app in an iOS Simulator on a Apple Mac computer.\n\n4.4 You agree that for apps distributed through the (Apple) App Store, you will not include any hidden features that could be enabled by your usage of the SDK without fully disclosing them to App Review.\n\n4.5 You agree you will not reverse engineer, decompile, disassemble or otherwise attempt to derive the source code, techniques, processes, algorithms, know-how or other information from the binary code portions of the SDK (collectively, \"Reverse Engineering\") or permit or induce the foregoing.\n\n4.6 You agree that you are solely responsible for (and that Electric Bolt has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Electric Bolt or any third party may suffer) of any such breach.\n\n5. Terminating this License Agreement\n\n5.1 This License Agreement will continue to apply until terminated by either you or Electric Bolt as set out below.\n\n5.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK.\n\n5.3 Electric Bolt may at any time, terminate this License Agreement with you if:\n(a) Electric Bolt is required to do so by law; or\n(b) you have breached any provision of this License Agreement; or\n(c) Electric Bolt decides to no longer provide the SDK or portions of the SDK, where in Electric Bolt’s sole discretion, it is no longer commercially viable to do so.\n\n5.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Electric Bolt have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 10.6 shall continue to apply to such rights, obligations and liabilities indefinitely.\n\n6. DISCLAIMER OF WARRANTIES\n\n6.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND FROM ELECTRIC BOLT.\n\n6.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.\n\n6.3 ELECTRIC BOLT FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\n\n7. LIMITATION OF LIABILITY\n\n7.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT ELECTRIC BOLT, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT ELECTRIC BOLT OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.\n\n8. Indemnification\n\n8.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Electric Bolt, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) any non-compliance by you with this License Agreement, (b) any apps you develop using the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) your use of the SDK.\n\n9. Changes to the License Agreement\n\n9.1 Electric Bolt may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Electric Bolt will make a new version of the License Agreement available on the website where the SDK is made available.\n\n10. General Legal Terms\n\n10.1 This License Agreement constitutes the whole legal agreement between you and Electric Bolt and governs your use of the SDK, and completely replaces any prior agreements between you and Electric Bolt in relation to the SDK.\n\n10.2 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.\n\n10.3 You agree that if Electric Bolt does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Electric Bolt has the benefit of under any applicable law), this will not be taken to be a formal waiver of Electric Bolt’s rights and that those rights or remedies will still be available to Electric Bolt.\n\n10.4 The rights granted in this License Agreement may not be assigned or transferred by either you or Electric Bolt without the prior written approval of the other party. Neither you nor Electric Bolt shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.\n\n10.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO U.S. EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.\n\n10.6 This License Agreement, and your relationship with Electric Bolt under this License Agreement, shall be governed by the laws of the New Zealand without regard to its conflict of laws provisions. You and Electric Bolt agree to submit to the exclusive jurisdiction of the courts located within New Zealand to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Electric Bolt shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.\n\n10.7 The Terms of Service constitute the entire agreement between Electric Bolt and you with respect to the subject matter hereof.\n"
  },
  "authors": {
    "Electric Bolt Limited": "support@electricbolt.co.nz"
  },
  "source": {
    "git": "https://github.com/electricbolt/appfiguratesdk.git",
    "tag": "2.1.0"
  },
  "platforms": {
    "ios": "10.0",
    "watchos": "3.0"
  },
  "vendored_frameworks": "AppfigurateLibrary.xcframework"
}
