{
  "name": "PlateScannerSDK",
  "version": "0.0.1",
  "description": "This project provides an SDK for iOS. It allows to scan licence plate from an image using ocr",
  "summary": "PlateScanner iOS SDK as a Dynamic framework",
  "homepage": "https://licenceplatesdk.com",
  "license": {
    "type": "Commercial",
    "text": "** LicencePlateSDK - License Summary\n------------------------------------------------------------\n* License does not expire.\n* Can be used for creating 1 application\n* Can be distributed in binary or object form only\n* Commercial use allowed under the following conditions :\nThe Client must have a valid Software LicenceKey provided from the Licensor directly to the Customer.\n* Cannot modify source-code for any purpose (cannot create derivative works)\n* Additional terms:\nTHIS SOFTWARE AVAILABLE ON THE SITE LICENCEPLATESDK.COM IS PROVIDED \"AS IS\" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL LICENCEPLATESDK.COM, OR ANY OF THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Without limiting the foregoing, LICENCEPLATESDK.COM and CONTRIBUTORS make no warranty that: - the software will meet your requirements. - the software will be uninterrupted, timely, secure or error-free. - the\nresults that may be obtained from the use of the software will be effective, accurate or reliable. -the quality of the software will meet your expectations. - any errors in the software obtained from the LICENCEPLATESDK.com web site will be corrected. Software and its documentation made available on the LicencePlateSDK.com web site: - could include technical or other mistakes, inaccuracies or typographical errors. LicencePlateSDK contributors may make changes to the software or documentation made available on its web site. - may be out of date and LicencePlateSDK.com and its contributors make no commitment to update such materials.\n\n\n** LicencePlateSDK - Terms and conditions\n------------------------------------------------------------\n1. Preamble: This Agreement, signed on Apr 14, 2017 (hereinafter: Effective Date) governs the relationship between the Client, a Business Entity, (hereinafter: Licensee) and Matteo Morelli, a private person whose principal place of business is Sonnhalde 15, DE-79194 Gundelfingen (hereinafter: Licensor). This Agreement sets the terms, rights, restrictions and obligations on using LicencePlateSDK (hereinafter: The Software) created and owned by Licensor, as detailed herein\n2. License Grant: Licensor hereby grants Licensee a Personal, Non-assignable & non-transferable, Pepetual, Commercial with terms, Without the rights to create derivative works, Non-exclusive license, all with accordance with the terms set forth and other legal restrictions set forth in 3rd party software used while running Software.\n1. Limited: Licensee may use Software for the purpose of:\n1. Running Software on Licensee’s Website[s] and Server[s];\n2. Allowing 3rd Parties to run Software on Licensee’s Website[s] and Server[s];\n3. Publishing Software’s output to Licensee and 3rd Parties;\n4. Distribute verbatim copies of Software’s output (including compiled binaries);\n5. Modify Software to suit Licensee’s needs and specifications.\n2. This license is granted perpetually, as long as you do not materially breach it.\n3. Binary Restricted: Licensee may sublicense Software as a part of a larger work containing more than Software, distributed solely in Object or Binary form under a personal, non-sublicensable, limited license. Such redistribution shall be limited to 1 codebases.\n4. Non Assignable & Non-Transferable: Licensee may not assign or transfer his rights and duties under this license.\n5. Commercial use allowed with restrictions: The Client must have a valid Software LicenceKey provided from the Licensor directly to the Licensee for a trial period or a payed membership period.\n3. Term & Termination: The Term of this license shall be until terminated. Licensor may terminate this Agreement, including Licensee’s license in the case where Licensee :\n1. became insolvent or otherwise entered into any liquidation process; or\n2. exported The Software to any jurisdiction where licensor may not enforce his rights under this agreements in; or\n3. Licensee was in breach of any of this license's terms and conditions and such breach was not cured, immediately upon notification; or\n4. Licensee in breach of any of the terms of clause 2 to this license; or\n5. Licensee otherwise entered into any arrangement which caused Licensor to be unable to enforce his rights under this License.\n4. Payment: In consideration of the License granted under clause 2, Licensee shall pay Licensor a fee, via Credit-Card, PayPal or any other mean which Licensor may deem adequate. Failure to perform payment shall construe as material breach of this Agreement.\n5. Upgrades, Updates and Fixes: Licensor may provide Licensee, from time to time, with Upgrades, Updates or Fixes, as detailed herein and according to his sole discretion. Licensee hereby warrants to keep The Software up-to-date and install all relevant updates and fixes, and may, at his sole discretion, purchase upgrades, according to the rates set by Licensor. Licensor shall provide any update or Fix free of charge; however, nothing in this Agreement shall require Licensor to provide Updates or Fixes.\n1. Upgrades: for the purpose of this license, an Upgrade shall be a material amendment in The Software, which contains new features and or major performance improvements and shall be marked as a new version number. For example, should Licensee purchase The Software under version 1.X.X, an upgrade shall commence under number 2.0.0.\n2. Updates: for the purpose of this license, an update shall be a minor amendment in The Software, which may contain new features or minor improvements and shall be marked as a new sub-version number. For example, should Licensee purchase The Software under version 1.1.X, an upgrade shall commence under number 1.2.0.\n3. Fix: for the purpose of this license, a fix shall be a minor amendment in The Software, intended to remove bugs or alter minor features which impair the The Software's functionality. A fix shall be marked as a new sub-sub-version number. For example, should Licensee purchase Software under version 1.1.1, an upgrade shall commence under number 1.1.2.\n6. Support: Software is provided under an AS-IS basis and without any support, updates or maintenance. Nothing in this Agreement shall require Licensor to provide Licensee with support or fixes to any bug, failure, mis-performance or other defect in The Software.\n1. Bug Notification: Licensee may provide Licensor of details regarding any bug, defect or failure in The Software promptly and with no delay from such event; Licensee shall comply with Licensor's request for information regarding bugs, defects or failures and furnish him with information, screenshots and try to reproduce such bugs, defects or failures.\n2. Feature Request: Licensee may request additional features in Software, provided, however, that (i) Licensee shall waive any claim or right in such feature should feature be developed by Licensor; (ii) Licensee shall be prohibited from developing the feature, or disclose such feature request, or feature, to any 3rd party directly competing with Licensor or any 3rd party which may be, following the development of such feature, in direct competition with Licensor; (iii) Licensee warrants that feature does not infringe any 3rd party patent, trademark, trade-secret or any other intellectual property right; and (iv) Licensee developed, envisioned or created the feature solely by himself.\n7. Liability:  To the extent permitted under Law, The Software is provided under an AS-IS basis. Licensor shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred by Licensee as a result of Software’s actions, failure, bugs and/or any other interaction between The Software  and Licensee’s end-equipment, computers, other software or any 3rd party, end-equipment, computer or services.  Moreover, Licensor shall never be liable for any defect in source code written by Licensee when relying on The Software or using The Software’s source code.\n8. Warranty:\n1. Intellectual Property: Licensor hereby warrants that The Software does not violate or infringe any 3rd party claims in regards to intellectual property, patents and/or trademarks and that to the best of its knowledge no legal action has been taken against it for any infringement or violation of any 3rd party intellectual property rights.\n2. No-Warranty: The Software is provided without any warranty; Licensor hereby disclaims any warranty that The Software shall be error free, without defects or code which may cause damage to Licensee’s computers or to Licensee, and that Software shall be functional. Licensee shall be solely liable to any damage, defect or loss incurred as a result of operating software and undertake the risks contained in running The Software on License’s Server[s] and Website[s].\n3. Prior Inspection: Licensee hereby states that he inspected The Software thoroughly and found it satisfactory and adequate to his needs, that it does not interfere with his regular operation and that it does meet the standards and scope of his computer systems and architecture. Licensee found that The Software interacts with his development, website and server environment and that it does not infringe any of End User License Agreement of any software Licensee may use in performing his services. Licensee hereby waives any claims regarding The Software's incompatibility, performance, results and features, and warrants that he inspected the The Software.\n9. No Refunds: Licensee warrants that he inspected The Software according to clause 7(c) and that it is adequate to his needs. Accordingly, as The Software is intangible goods, Licensee shall not be, ever, entitled to any refund, rebate, compensation or restitution for any reason whatsoever, even if The Software contains material flaws.\n10. Indemnification: Licensee hereby warrants to hold Licensor harmless and indemnify Licensor for any lawsuit brought against it in regards to Licensee’s use of The Software in means that violate, breach or otherwise circumvent this license, Licensor's intellectual property rights or Licensor's title in The Software. Licensor shall promptly notify Licensee in case of such legal action and request Licensee’s consent prior to any settlement in relation to such lawsuit or claim.\n11. Governing Law, Jurisdiction: Licensee hereby agrees not to initiate class-action lawsuits against Licensor in relation to this license and to compensate Licensor for any legal fees, cost or attorney fees should any claim brought by Licensee against Licensor be denied, in part or in full."
  },
  "authors": "LicencePlateSDK.com",
  "source": {
    "http": "https://licenceplatesdk.com/sdk/release/1.0.0/PlateScannerSDK.zip"
  },
  "platforms": {
    "ios": "9.0"
  },
  "source_files": "PlateScannerSDK/PlateScannerSDK.framework/Headers/*.h",
  "requires_arc": true,
  "ios": {
    "vendored_frameworks": "PlateScannerSDK/PlateScannerSDK.framework",
    "frameworks": [
      "Foundation",
      "UIKit",
      "AVFoundation",
      "Security"
    ]
  },
  "xcconfig": {
    "FRAMEWORK_SEARCH_PATHS": "$(inherited)",
    "ENABLE_BITCODE": "NO",
    "OTHER_LDFLAGS": "-all_load -ObjC -framework"
  },
  "preserve_paths": "PlateScannerSDK/PlateScannerSDK.framework",
  "resources": "PlateScannerSDK/PlateScannerSDKResources.bundle",
  "libraries": [
    "z",
    "c++"
  ]
}
