{
  "name": "Dynatrace",
  "version": "8.215.1.1004",
  "summary": "Dynatrace collects app performance and usage data in real-time",
  "description": "# Dynatrace\n\n[https://www.dynatrace.com](https://www.dynatrace.com/)\n\nDynatrace provides the next generation intelligent application, service and infrastructure monitoring\nplatform.\n\n[![CocoaPods](https://img.shields.io/badge/pod-8-blue.svg)](https://cocoapods.org/pods/Dynatrace)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://files.dynatrace.com/mobileagent/carthage/dynatrace.json)\n![License](https://img.shields.io/badge/license-Commercial-lightgrey.svg)\n\n## Contents\n\n* [Features](#features)\n* [Installation](#installation)\n* [Requirements](#requirements)\n* [Documentation](#documentation)\n\n## Features\n\n* Intelligent application, service and infrastructure monitoring\n* No manual setup required\n\n\n## Installation\n\n### AppMon\nThe Dynatrace iOS agent is compatible with AppMon environments with version 6.5 and higher. \n\n### iOS\n\nInclude Dynatrace in your Podfile:\n\n```ruby\nuse_frameworks!\npod 'Dynatrace', '~> 8.211'\n```\n\nIf you want to use the Dynatrace static library please include the spec `Dynatrace/lib` in your Podfile:\n\n```ruby\npod 'Dynatrace/lib', '~> 8.211'\n```\n\n### tvOS\nInclude Dynatrace in your Podfile:\n\n```ruby\nuse_frameworks!\npod 'Dynatrace/tvOS', '~> 8.211'\n```\n\n## Requirements\n\n* Project targeting iOS 9+ or tvOS 11+\n\n## Documentation\n\nDetailed documentation can be found here: [Dynatrace Documentation](https://www.dynatrace.com/support/doc/)",
  "homepage": "https://www.dynatrace.com",
  "documentation_url": "https://help.dynatrace.com",
  "license": {
    "type": "Commercial",
    "text": "Terms of Service\n\n\t\t\t\t\t  1.0 Introduction.\n\t\t\t\t\t  These Terms of Service constitute the agreement between You and Dynatrace, a division of Dynatrace LLC, a Delaware company (together hereinafter referred to as 'Dynatrace'). BY USING THE SERVICE, YOU ACKNOWLEDGE THAT YOU HAVE REVIEWED AND ACCEPT THIS AGREEMENT AND ARE AUTHORIZED TO ACT ON BEHALF OF, AND BIND YOUR ENTITY ('CLIENT') TO THIS AGREEMENT.\n\t\t\t\t\t  Dynatrace reserves the right to change or modify these Terms of Service at our sole discretion at any time by posting updated Terms of Service on the Dynatrace website. Any change or modification to the Terms of Service will be effective immediately upon posting. In all cases, your continued use of the Services after publication of such modifications constitutes binding acceptance of the modified Terms of Service.\n\n\t\t\t\t\t  2.0 Scope of the Dynatrace Service; Restrictions.\n\t\t\t\t\t  The 'Service' shall be defined as the hosted services, electronic reports, analyses, documentation or Auxiliary Programs provided by Dynatrace under this Agreement which are necessary to deploy the service. Client shall have the right to use the Service ordered and made available to Client by Dynatrace hereunder for their internal use. 'Auxiliary Program'. means any software, agent or equipment that Dynatrace makes available to Client as part of the Service for purposes of facilitating access to, operation of, and/or use with, the Service.\n\t\t\t\t\t  Client shall not: (a) reverse engineer, decompile, decode, decrypt, disassemble, or in any way derive source code from the Service and/or Auxiliary Programs; (b) modify, translate, adapt, alter, or create derivative works from the Service and/or Auxiliary Programs; (c) copy, distribute, publicly display, transmit, make available in any 'public' area or accessible on the World Wide Web; (d) sublicense, sell, rent, or lease the Service and/or Auxiliary Programs; or (e) use the Service and/or Auxiliary Programs for the purposes of competing with Dynatrace, including without limitation competitive intelligence or analysis.\n\n\t\t\t\t\t  3.0 Pricing & Payment Terms.\n\t\t\t\t\t  Prices for the Service are set forth on the Dynatrace website. Payment may be made either immediately by credit card, or invoiced as provided herein. If payment is made by invoice, Dynatrace will invoice the full invoice and Client shall remit payment within thirty (30) days of the invoice date. Overdue invoices shall bear interest at 1.5% per month or such lower rate as shall be the then highest rate permitted by law. Client shall pay all applicable taxes due under this Agreement, except taxes based on Dynatrace's net income unless Client provides Dynatrace with a properly completed exemption certificate. All prices are exclusive of all taxes, duties, VAT, withholdings and other governmental assessments. Dynatrace reserves the right to suspend Services and delete all Client date held by Dynatrace, if Client fails to pay as provided herein.\n\n\t\t\t\t\t  4.0 Intellectual Property.\n\t\t\t\t\t  Client acknowledges and agrees that all ownership and proprietary rights to the Service, Auxiliary Programs and the contents thereof and all related intellectual property are and shall remain the property exclusively of Dynatrace. Dynatrace retains full rights of ownership and use in: (a) any programs, products, materials or methodologies or materials of Dynatrace created and/or developed by Dynatrace prior to or independently of the Services contemplated herein ('Pre-existing Works'); and (b) all materials, methodologies, processes, techniques, ideas, concepts, trade secrets, and know-how, which may be created or developed in connection with the Services and are modifications and/or derivatives of Dynatrace's Pre-existing Works.\n\n\t\t\t\t\t  5.0 Confidentiality.\n\t\t\t\t\t  Each party agrees: (a) that it will not disclose to any third party or use any confidential or proprietary information disclosed to it by the other party (collectively, 'Confidential Information') except as expressly permitted in this Agreement; and (b) that it will take all commercially reasonable measures to maintain the confidentiality of all Confidential Information of the other party in its possession or control, which will in no event be less than the measures it uses to maintain the confidentiality of its own information of similar importance. Confidential Information will not include information that: (i) is in or enters the public domain without breach of this Agreement; (ii) the receiving party lawfully receives from a third party without restriction on disclosure and without breach of a nondisclosure obligation; or (iii) the receiving party develops independently.\n\n\t\t\t\t\t  Client agrees that the Service: i) is Confidential Information; and ii) constitutes valuable assets and confidential trade secrets of Dynatrace. Client therefore agrees to keep in confidence and protect the Service, including but not limited to screenshots, ideas, concepts, designs, specifications, computer programs and strategies from disclosure to third parties and restrict its use as provided in this Agreement\n\n\t\t\t\t\t  6.0 Term and Termination.\n\t\t\t\t\t  The term ('Term') of the Service shall be specified as specified on the Dynatrace website.\n\n\t\t\t\t\t  7.0 Warranty.\n\t\t\t\t\t  Dynatrace warrants that the Service will function in substantial compliance with their specifications published by Dynatrace (available at help.dynatrace.com). Client acknowledges that changes by Client to its monitoring profile or corrupted, incomplete and/or interrupted data received by Dynatrace from Client's site(s), may have a material impact on the accuracy, reliability and/or timeliness of Service results, and Dynatrace shall not be responsible for any such factors beyond its reasonable control. THE ABOVE WARRANTIES ARE DYNATRACE'S ONLY WARRANTIES AND NO OTHER WARRANTY, EXPRESS OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WILL APPLY.\n\n\t\t\t\t\t  Client represents and warrants that Client shall; (i) abide by all laws, rules and regulations; and (ii) be responsible for all content or materials originating from its Web site(s) (its 'Content').\n\n\t\t\t\t\t  8.0 Limitation of Liability.\n\t\t\t\t\t  THE ENTIRE LIABILITY OF DYNATRACE AND CLIENT'S EXCLUSIVE REMEDY FOR DAMAGES FROM ANY CAUSE RELATED TO OR ARISING OUT OF THIS AGREEMENT, REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, OR OTHERWISE, WILL NOT EXCEED ANY FEES PAID, IF ANY, BY CLIENT UNDER THIS AGREEMENT FOR THE SERVICES GIVING RISE TO THE CLAIM OVER THE IMMEDIATELY PRECEDING TWELVE (12) MONTH PERIOD.\n\n\t\t\t\t\t  9.0 Limitation of Damages.\n\t\t\t\t\t  IN NO EVENT WILL DYNATRACE BE LIABLE FOR: (I) INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, EXEMPLARY OR CONSEQUENTIAL DAMAGES; OR (II) LOSS OF OR DAMAGE TO CLIENT'S DATA FROM ANY CAUSE, INCLUDING WITHOUT LIMITATION LOSS OF USE, REVENUES, PROFITS, SAVINGS, EVEN IF DYNATRACE KNEW OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES.\n\n\t\t\t\t\t  10.0 Indemnification.\n\t\t\t\t\t  Each party (the 'Indemnifying Party') shall indemnify, defend and hold harmless the other party and such other party's officers, directors, employees and agents (each, an 'Indemnified Party') from and against any and all damages, liabilities, costs and expenses (including reasonable attorneys' fees) incurred by an Indemnifying Party's breach (i) of any obligation set forth in sections 2.0 (Scope of the Service; Restrictions) or 5.0 (Confidentiality).\n\n\t\t\t\t\t  11.0 Trial Service.\n\t\t\t\t\t  This section shall only apply if the Service has been provided for Client's trial and evaluation ('Trial Service'). The Trial Service is provided AS IS, with no warranties, express or implied, for the sole and exclusive purpose of enabling Client to evaluate the Subscription Service. The Trial Subscription Service shall automatically time-out at the end of the evaluation period.\n\n\t\t\t\t\t  12.0 Early Access Program.\n\t\t\t\t\t  This section shall only apply if the Subscription Service has been provided to Client for participation in the 'Early Access Program' for a new release of Dynatrace. During the Early Access Program Dynatrace will be in the stage of 'Early Adoption' and is provisioned for test purposes only. The Client acknowledges that the Service and Auxiliary Programs are in a stage of 'Early Adoption'. Therefore, Auxiliary Programs shall only be installed on computers which are regularly used by the Client for test purposes and are the property of or are permanently owned by the Client ('Designated Computers'). The use of Auxiliary Programs in a productive environment without any additional testing or adaptation to the specific requirements of an individual system environment may cause severe system failure.\n\n\t\t\t\t\t  The Early Adoption Program Services are provided AS IS, with no warranties, express or implied. Client agrees that due to the nature of the Early Adoption Program, Client may receive non-public technology, know-how and trade secrets, including, without limitation, ideas, concepts, designs, specifications, computer programs and strategies. Client agrees that the foregoing shall be treated as Confidential Information as specified in section 5.0 (Confidentiality).\n\n\t\t\t\t\t  13.0 Support for the Services.\n\t\t\t\t\t  Premium support for the Services is available on a subscription basis. Such support is provided AS IS, with no warranty, express or implied. Expert services are available on demand, on an hourly bases, at the Dynatrace then-current rates.\n\n\t\t\t\t\t  14.0 General Provisions.\n\t\t\t\t\t  14.1 Assignment.\n\t\t\t\t\t  Any attempt to assign this Agreement, without written consent, will be null and void.\n\n\t\t\t\t\t  14.2 Force Majeure.\n\t\t\t\t\t  Neither party will be responsible for any failure to perform due to causes beyond its reasonable control, including, but not limited to, acts of God, war, acts of terrorism, riot, failure of electrical, Internet, co-location or telecommunications service, acts of civil or military authorities, fire, floods, earthquakes, accidents, strikes, or fuel crises.\n\n\t\t\t\t\t  14.3 Governing Law.\n\t\t\t\t\t  This Agreement will be governed by and construed in accordance with the laws of the State of Michigan without regard to its conflicts of law principles. If the entity selling the Service is a wholly owned affiliate of Dynatrace LLC, this Agreement will be governed by the laws of the country in which such affiliate is situated.\n\n\t\t\t\t\t  14.4 Notice.\n\t\t\t\t\t  Any notice required by this Agreement must be given in writing and shall be deemed delivered upon receipt when delivered personally or upon confirmation of receipt following delivery by internationally recognized overnight courier service.\n\n\t\t\t\t\t  14.5 Waiver.\n\t\t\t\t\t  No failure or delay by any party in exercising any right, power, or remedy under this Agreement, except as specifically provided herein, shall operate as any waiver of any such right, power, or remedy.\n\n\t\t\t\t\t  14.6 Severability.\n\t\t\t\t\t  If any provision of this Agreement is held by a court to be invalid or unenforceable for any reason, the remaining provisions will continue in full force and effect without being impaired or invalidated in any way.\n\n\t\t\t\t\t  14.7 Entire Agreement.\n\t\t\t\t\t  These Terms of Service constitute the complete and exclusive agreement between the parties with respect to the subject matter hereof, superseding any prior agreements and communications (both written and oral). The terms and conditions contained in any purchase order shall be of no force or effect, even if the order is accepted by Dynatrace. This Agreement may only be modified, or any rights under it waived, by a written document executed by both parties.\n\n\t\t\t\t\t  14.8 Survival.\n\t\t\t\t\t  Sections 5, 7, 8, 9, 10 and 12 shall survive expiration or termination of this Agreement.\n\t\t\t\t\t"
  },
  "authors": {
    "Dynatrace": "support.mobile@dynatrace.com"
  },
  "social_media_url": "https://twitter.com/dynatrace",
  "platforms": {
    "ios": "9.0"
  },
  "source": {
    "http": "https://mobileagent.downloads.dynatrace.com/ios/8.215.1.1004/dynatrace-mobile-agent-ios-8.215.1.1004.zip"
  },
  "cocoapods_version": ">= 1.9",
  "default_subspecs": "xcframework",
  "source_files": "iOS/agent/*.{h,m}",
  "public_header_files": "iOS/agent/*.h",
  "ios": {
    "frameworks": [
      "CoreLocation",
      "CoreTelephony",
      "Security",
      "SystemConfiguration",
      "MessageUI",
      "WebKit"
    ]
  },
  "tvos": {
    "frameworks": [
      "CoreLocation",
      "Security",
      "SystemConfiguration",
      "TVUIKit",
      "TVMLKit",
      "TVServices"
    ]
  },
  "libraries": [
    "sqlite3",
    "z",
    "c++"
  ],
  "requires_arc": true,
  "compiler_flags": "-DOS_OBJECT_USE_OBJC=1",
  "subspecs": [
    {
      "name": "lib",
      "ios": {
        "vendored_libraries": "iOS/agent/libDynatrace.a"
      },
      "source_files": "iOS/agent/*.{h,m}",
      "public_header_files": "iOS/agent/*.h",
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64"
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64"
      }
    },
    {
      "name": "framework",
      "platforms": {
        "ios": "9.0"
      },
      "ios": {
        "vendored_frameworks": "iOS/agent/Dynatrace.framework"
      },
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64"
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64"
      }
    },
    {
      "name": "xcframework",
      "platforms": {
        "ios": "9.0",
        "tvos": "11.0"
      },
      "ios": {
        "vendored_frameworks": "XCFramework/Dynatrace.xcframework"
      },
      "tvos": {
        "vendored_frameworks": "XCFramework/Dynatrace.xcframework"
      }
    },
    {
      "name": "tvOS",
      "platforms": {
        "tvos": "11.0"
      },
      "tvos": {
        "vendored_frameworks": "tvOS/agent/DynatraceTVOS.framework"
      },
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": "arm64"
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": "arm64"
      }
    },
    {
      "name": "SessionReplay",
      "dependencies": {
        "Dynatrace/SessionReplayXCFramework": [

        ]
      },
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      }
    },
    {
      "name": "SessionReplayFramework",
      "dependencies": {
        "Dynatrace/framework": [

        ]
      },
      "ios": {
        "vendored_frameworks": "iOS/agent/DynatraceSessionReplay.framework"
      },
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64",
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=iphonesimulator*]": "arm64",
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      }
    },
    {
      "name": "SessionReplayXCFramework",
      "dependencies": {
        "Dynatrace/xcframework": [

        ]
      },
      "ios": {
        "vendored_frameworks": "XCFramework/DynatraceSessionReplay.xcframework"
      },
      "pod_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      },
      "user_target_xcconfig": {
        "EXCLUDED_ARCHS[sdk=appletvos*]": "",
        "EXCLUDED_ARCHS[sdk=appletvsimulator*]": ""
      }
    }
  ]
}
