From 7c6f28ecbf49a72d952974f7f649686e43861f0d Mon Sep 17 00:00:00 2001 From: Zihe Jia Date: Fri, 16 Jun 2023 13:28:27 -0700 Subject: [PATCH] Update docs --- docs/Classes.html | 54 +- docs/Classes/Group.html | 223 +--- docs/Classes/Mixpanel.html | 255 +--- docs/Classes/MixpanelInstance.html | 1070 ++--------------- docs/Classes/People.html | 395 +----- docs/Extensions.html | 186 +-- docs/Extensions/Array.html | 40 +- docs/Extensions/Bool.html | 40 +- docs/Extensions/Date.html | 40 +- docs/Extensions/Dictionary.html | 40 +- docs/Extensions/Double.html | 40 +- docs/Extensions/Float.html | 40 +- docs/Extensions/Int.html | 40 +- docs/Extensions/NSArray.html | 40 +- docs/Extensions/NSNull.html | 40 +- docs/Extensions/NSNumber.html | 40 +- docs/Extensions/NSString.html | 40 +- docs/Extensions/Optional.html | 40 +- docs/Extensions/String.html | 40 +- docs/Extensions/UInt.html | 40 +- docs/Extensions/URL.html | 40 +- docs/Protocols.html | 30 +- docs/Protocols/MixpanelDelegate.html | 48 +- docs/Protocols/MixpanelType.html | 40 +- docs/Typealiases.html | 21 +- docs/badge.svg | 16 +- .../Contents/Resources/Documents/Classes.html | 54 +- .../Resources/Documents/Classes/Group.html | 223 +--- .../Resources/Documents/Classes/Mixpanel.html | 255 +--- .../Documents/Classes/MixpanelInstance.html | 1070 ++--------------- .../Resources/Documents/Classes/People.html | 395 +----- .../Resources/Documents/Extensions.html | 186 +-- .../Resources/Documents/Extensions/Array.html | 40 +- .../Resources/Documents/Extensions/Bool.html | 40 +- .../Resources/Documents/Extensions/Date.html | 40 +- .../Documents/Extensions/Dictionary.html | 40 +- .../Documents/Extensions/Double.html | 40 +- .../Resources/Documents/Extensions/Float.html | 40 +- .../Resources/Documents/Extensions/Int.html | 40 +- .../Documents/Extensions/NSArray.html | 40 +- .../Documents/Extensions/NSNull.html | 40 +- .../Documents/Extensions/NSNumber.html | 40 +- .../Documents/Extensions/NSString.html | 40 +- .../Documents/Extensions/Optional.html | 40 +- .../Documents/Extensions/String.html | 40 +- .../Resources/Documents/Extensions/UInt.html | 40 +- .../Resources/Documents/Extensions/URL.html | 40 +- .../Resources/Documents/Protocols.html | 30 +- .../Documents/Protocols/MixpanelDelegate.html | 48 +- .../Documents/Protocols/MixpanelType.html | 40 +- .../Resources/Documents/Typealiases.html | 21 +- .../Contents/Resources/Documents/index.html | 8 +- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 45056 -> 36864 bytes docs/docsets/Mixpanel.tgz | Bin 98982 -> 89667 bytes docs/index.html | 8 +- docs/search.json | 2 +- docs/undocumented.json | 143 +-- 58 files changed, 708 insertions(+), 5315 deletions(-) diff --git a/docs/Classes.html b/docs/Classes.html index 9f50ae0da..2aec11a22 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -17,7 +17,7 @@
-

Mixpanel 4.1.2 Docs (83% documented)

+

Mixpanel 4.1.3 Docs (0% documented)

GitHubView on GitHub

@@ -118,7 +118,7 @@ Type Aliases @@ -137,9 +137,9 @@

Classes

  • - + - Group + Group
    @@ -152,23 +152,15 @@

    Classes

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class Group
    - -
    -
  • - + - Mixpanel + Mixpanel
    @@ -180,23 +172,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class Mixpanel
    - -
    -
  • - + - MixpanelInstance + MixpanelInstance
    @@ -208,23 +192,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class MixpanelInstance : CustomDebugStringConvertible, FlushDelegate, AEDelegate
    - -
    -
  • - + - People + People
    @@ -237,14 +213,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class People
    - -
    -
  • @@ -253,7 +221,7 @@

    Declaration

    diff --git a/docs/Classes/Group.html b/docs/Classes/Group.html index f099a4808..79d72c08a 100644 --- a/docs/Classes/Group.html +++ b/docs/Classes/Group.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Group

    -
    -
    - -
    open class Group
    - -
    -

    Access to the Mixpanel Groups API, available through the getGroup function from the main Mixpanel instance.

    @@ -154,9 +147,9 @@

    Group
  • @@ -172,42 +165,15 @@

    Group value is overwritten. Other existing properties will not be affected.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -221,54 +187,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(property: String, to: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - to - - -
    -

    property value

    -
    -
    -
  • - + - setOnce(properties:) + setOnce(properties:)
    @@ -284,42 +211,15 @@

    Parameters

    data about dates representing the first time something happened.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func setOnce(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • - + - unset(property:) + unset(property:)
    @@ -332,42 +232,15 @@

    Parameters

    For properties that don’t exist there will be no effect.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func unset(property: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - property - - -
    -

    name of the property to unset

    -
    -
    -
  • - + - remove(key:value:) + remove(key:value:)
    @@ -381,42 +254,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func remove(key: String, value: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to remove

    -
    -
    -
  • - + - union(key:values:) + union(key:values:)
    @@ -429,42 +275,15 @@

    Parameters

    Property values must be array objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func union(key: String, values: [MixpanelType])
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to lists to union

    -
    -
    -
  • - + - deleteGroup() + deleteGroup()
    @@ -475,14 +294,6 @@

    Parameters

    Delete group’s record from Mixpanel Groups.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func deleteGroup()
    - -
    -
  • @@ -491,7 +302,7 @@

    Declaration

    diff --git a/docs/Classes/Mixpanel.html b/docs/Classes/Mixpanel.html index 3292c762e..793b50987 100644 --- a/docs/Classes/Mixpanel.html +++ b/docs/Classes/Mixpanel.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Mixpanel

    -
    -
    - -
    open class Mixpanel
    - -
    -

    The primary class for integrating Mixpanel with your app.

    @@ -144,9 +137,9 @@

    Mixpanel

  • @@ -167,131 +160,6 @@

    Mixpanel

  • -
    -

    Declaration

    -
    -

    Swift

    -
    @discardableResult
    -open class func initialize(token apiToken: String,
    -                           trackAutomaticEvents: Bool,
    -                           flushInterval: Double = 60,
    -                           instanceName: String? = nil,
    -                           optOutTrackingByDefault: Bool = false,
    -                           useUniqueDistinctId: Bool = false,
    -                           superProperties: Properties? = nil,
    -                           serverURL: String? = nil) -> MixpanelInstance
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - token - - -
    -

    your project token

    -
    -
    - - trackAutomaticEvents - - -
    -

    Whether or not to collect common mobile events

    -
    -
    - - flushInterval - - -
    -

    Optional. Interval to run background flushing

    -
    -
    - - instanceName - - -
    -

    Optional. The name you want to uniquely identify the Mixpanel Instance. -It is useful when you want more than one Mixpanel instance under the same project token.

    -
    -
    - - optOutTrackingByDefault - - -
    -

    Optional. Whether or not to be opted out from tracking by default

    -
    -
    - - useUniqueDistinctId - - -
    -

    Optional. whether or not to use the unique device identifier as the distinct_id

    -
    -
    - - superProperties - - -
    -

    Optional. Super properties dictionary to register during initialization

    -
    -
    - - serverURL - - -
    -

    Optional. Mixpanel cluster URL

    -
    -
    -
    -
    -

    Return Value

    -

    returns a mixpanel instance if needed to keep throughout the project. -You can always get the instance by calling getInstance(name)

    -
    @@ -327,9 +195,9 @@

    Return Value

  • @@ -340,46 +208,15 @@

    Return Value

    Gets the mixpanel instance with the given name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func getInstance(name: String) -> MixpanelInstance?
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
    -
    -

    Return Value

    -

    returns the mixpanel instance

    -
  • @@ -392,27 +229,15 @@

    Return Value

    If not specified explicitly, the main instance is always the last instance added

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func mainInstance() -> MixpanelInstance
    - -
    -
    -
    -

    Return Value

    -

    returns the main Mixpanel instance

    -
  • @@ -423,42 +248,15 @@

    Return Value

    Sets the main instance based on the instance name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func setMainInstance(name: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
  • @@ -469,33 +267,6 @@

    Parameters

    Removes an unneeded Mixpanel instance based on its name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func removeInstance(name: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
  • @@ -504,7 +275,7 @@

    Parameters

    diff --git a/docs/Classes/MixpanelInstance.html b/docs/Classes/MixpanelInstance.html index dd301fb57..43b41572a 100644 --- a/docs/Classes/MixpanelInstance.html +++ b/docs/Classes/MixpanelInstance.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelInstance

    -
    -
    - -
    open class MixpanelInstance : CustomDebugStringConvertible, FlushDelegate, AEDelegate
    - -
    -

    The class that represents the Mixpanel Instance

    @@ -144,9 +137,9 @@

    MixpanelInstance

  • - + - apiToken + apiToken
    @@ -157,23 +150,15 @@

    MixpanelInstance

    apiToken string that identifies the project to track data to

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var apiToken: String
    - -
    -
  • - + - delegate + delegate
    @@ -184,23 +169,15 @@

    Declaration

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open weak var delegate: MixpanelDelegate?
    - -
    -
  • @@ -211,23 +188,15 @@

    Declaration

    distinctId string that uniquely identifies the current user.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var distinctId: String
    - -
    -
  • @@ -238,23 +207,15 @@

    Declaration

    anonymousId string that uniquely identifies the device.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var anonymousId: String?
    - -
    -
  • - + - userId + userId
    @@ -265,23 +226,15 @@

    Declaration

    userId string that identify is called with.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var userId: String?
    - -
    -
  • @@ -293,23 +246,15 @@

    Declaration

    already exists in persistence

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var hadPersistedDistinctId: Bool?
    - -
    -
  • - + - alias + alias
    @@ -320,23 +265,15 @@

    Declaration

    alias string that uniquely identifies the current user.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var alias: String?
    - -
    -
  • - + - people + people
    @@ -347,23 +284,15 @@

    Declaration

    Accessor to the Mixpanel People API object.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var people: People!
    - -
    -
  • @@ -375,23 +304,15 @@

    Declaration

    data to the Mixpanel servers. Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var showNetworkActivityIndicator: Bool
    - -
    -
  • @@ -402,23 +323,15 @@

    Declaration

    This allows enabling or disabling collecting common mobile events,

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var trackAutomaticEventsEnabled: Bool
    - -
    -
  • @@ -431,23 +344,15 @@

    Declaration

    to upload queued data to the Mixpanel server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var flushInterval: Double { get set }
    - -
    -
  • @@ -459,23 +364,15 @@

    Declaration

    enters the background. Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var flushOnBackground: Bool { get set }
    - -
    -
  • @@ -488,23 +385,15 @@

    Declaration

    Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var useIPAddressForGeoLocation: Bool { get set }
    - -
    -
  • @@ -517,23 +406,15 @@

    Declaration

    https://api.mixpanel.com.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var serverURL: String { get set }
    - -
    -
  • @@ -543,23 +424,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var debugDescription: String { get }
    - -
    -
  • @@ -576,23 +449,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var loggingEnabled: Bool { get set }
    - -
    -
  • - + - name + name
    @@ -603,23 +468,15 @@

    Declaration

    A unique identifier for this MixpanelInstance

    -
    -

    Declaration

    -
    -

    Swift

    -
    public let name: String
    - -
    -
  • @@ -627,16 +484,9 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    open var minimumSessionDuration: UInt64 { get set }
    +

    The minimum session duration (ms) that is tracked in automatic events. +The default value is 10000 (10 seconds).

    -
    @@ -644,9 +494,9 @@

    Declaration

  • @@ -658,14 +508,6 @@

    Declaration

    The default value is UINT64_MAX (no maximum session duration).

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var maximumSessionDuration: UInt64 { get set }
    - -
    -
  • @@ -685,9 +527,9 @@

    Identity
  • @@ -718,67 +560,15 @@

    Identity mixpanelInstance.identify(mixpanelInstance.distinctId).

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func identify(distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - distinctId - - -
    -

    string that uniquely identifies the current user

    -
    -
    - - usePeople - - -
    -

    boolean that controls whether or not to set the people distinctId to the event distinctId. -This should only be set to false if you wish to prevent people profile updates for that user.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the identify has completed.

    -
    -
    -
  • @@ -799,92 +589,15 @@

    Parameters

    mixpanelInstance.createAlias("Newer ID", distinctId: mixpanelInstance.distinctId)

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true, andIdentify: Bool = true, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - - - - - -
    - - alias - - -
    -

    A unique identifier that you want to use as an identifier for this user.

    -
    -
    - - distinctId - - -
    -

    The current user identifier.

    -
    -
    - - usePeople - - -
    -

    boolean that controls whether or not to set the people distinctId to the event distinctId.

    -
    -
    - - andIdentify - - -
    -

    an optional boolean that controls whether or not to call ‘identify’ with your current -user identifier(not alias). Default to true for keeping your signup funnels working correctly in most cases.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the createAlias has completed. -This should only be set to false if you wish to prevent people profile updates for that user.

    -
    -
    -
  • @@ -896,33 +609,6 @@

    Parameters

    Useful if your app’s user logs out.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func reset(completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - completion - - -
    -

    an optional completion handler for when the reset has completed.

    -
    -
    -
  • @@ -942,9 +628,9 @@

    Persistence
  • @@ -952,16 +638,7 @@

    Persistence
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func archive()
    - -
    +

    @@ -982,9 +659,9 @@

    Flush
  • @@ -995,50 +672,11 @@

    Flush

    Uploads queued data to the Mixpanel server.

    By default, queued data is flushed to the Mixpanel servers every minute (the -default for flushInterval), and on background (since -flushOnBackground is on by default). You only need to call this +default for flushInterval), and on background (since +flushOnBackground is on by default). You only need to call this method manually if you want to force a flush at a particular moment.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func flush(performFullFlush: Bool = false, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - performFullFlush - - -
    -

    A optional boolean value indicating whether a full flush should be performed. If true, a full flush will be triggered, sending all events to the server. Default to false, a partial flush will be executed for reducing memory footprint.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the flush has completed.

    -
    -
    -
  • @@ -1058,9 +696,9 @@

    Track
  • @@ -1077,54 +715,15 @@

    Track If the event is being timed, the timer will stop and be added as a property.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func track(event: String?, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - event - - -
    -

    event name

    -
    -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -1141,66 +740,15 @@

    Parameters

    If the event is being timed, the timer will stop and be added as a property.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func trackWithGroups(event: String?, properties: Properties? = nil, groups: Properties?)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - event - - -
    -

    event name

    -
    -
    - - properties - - -
    -

    properties dictionary

    -
    -
    - - groups - - -
    -

    groups dictionary

    -
    -
    -
  • @@ -1208,16 +756,7 @@

    Parameters

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func getGroup(groupKey: String, groupID: MixpanelType) -> Group
    - -
    +
    @@ -1225,9 +764,9 @@

    Declaration

  • @@ -1256,42 +795,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func time(event: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the event name to be timed

    -
    -
    -
  • @@ -1302,42 +814,15 @@

    Parameters

    Retrieves the time elapsed for the named event since time(event:) was called.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func eventElapsedTime(event: String) -> Double
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the name of the event to be tracked that was passed to time(event:)

    -
    -
    -
  • @@ -1348,23 +833,15 @@

    Parameters

    Clears all current event timers.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearTimedEvents()
    - -
    -
  • @@ -1375,42 +852,15 @@

    Declaration

    Clears the event timer for the named event.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearTimedEvent(event: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the name of the event to clear the timer for

    -
    -
    -
  • @@ -1421,27 +871,15 @@

    Parameters

    Returns the currently set super properties.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func currentSuperProperties() -> [String : Any]
    - -
    -
    -
    -

    Return Value

    -

    the current super properties

    -
  • @@ -1452,23 +890,15 @@

    Return Value

    Clears all currently set super properties.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearSuperProperties()
    - -
    -
  • @@ -1485,42 +915,15 @@

    Declaration

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func registerSuperProperties(_ properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -1535,55 +938,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func registerSuperPropertiesOnce(_ properties: Properties,
    -                                      defaultValue: MixpanelType? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    - - defaultValue - - -
    -

    Optional. overwrite existing properties that have this value

    -
    -
    -
  • @@ -1602,42 +965,15 @@

    Parameters

    registered.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func unregisterSuperProperty(_ propertyName: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - propertyName - - -
    -

    array of property name strings to remove

    -
    -
    -
  • @@ -1648,54 +984,15 @@

    Parameters

    Convenience method to set a single group the user belongs to.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func setGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The group the user belongs to.

    -
    -
    -
  • @@ -1706,54 +1003,15 @@

    Parameters

    Set the groups this user belongs to.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func setGroup(groupKey: String, groupIDs: [MixpanelType])
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupIDs - - -
    -

    The list of groups the user belongs to.

    -
    -
    -
  • @@ -1764,54 +1022,15 @@

    Parameters

    Add a group to this user’s membership for a particular group key

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func addGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The new group the user belongs to.

    -
    -
    -
  • @@ -1822,54 +1041,15 @@

    Parameters

    Remove a group from this user’s membership for a particular group key

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func removeGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The group value to remove.

    -
    -
    -
  • @@ -1883,23 +1063,15 @@

    Parameters

    to be sent back to the Mixpanel server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func optOutTracking()
    - -
    -
  • @@ -1915,55 +1087,15 @@

    Declaration

    This method will internally track an opt in event to your project.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func optInTracking(distinctId: String? = nil, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - distintId - - -
    -

    an optional string to use as the distinct ID for events

    -
    -
    - - properties - - -
    -

    an optional properties dictionary that could be passed to add properties to the opt-in event -that is sent to Mixpanel

    -
    -
    -
  • @@ -1974,18 +1106,6 @@

    Parameters

    Returns if the current user has opted out tracking.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func hasOptedOutTracking() -> Bool
    - -
    -
    -
    -

    Return Value

    -

    the current super opted out tracking status

    -
  • @@ -1994,7 +1114,7 @@

    Return Value

    diff --git a/docs/Classes/People.html b/docs/Classes/People.html index 006882dd6..ca94a84b2 100644 --- a/docs/Classes/People.html +++ b/docs/Classes/People.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    People

    -
    -
    - -
    open class People
    - -
    -

    Access to the Mixpanel People API, available as an accessible variable from the main Mixpanel instance.

    @@ -145,9 +138,9 @@

    People

  • @@ -162,14 +155,6 @@

    People

    current time for all $set, $append, and $add operations

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var ignoreTime: Bool
    - -
    -
  • @@ -189,9 +174,9 @@

    People
  • @@ -215,42 +200,15 @@

    People

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -264,54 +222,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(property: String, to: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - to - - -
    -

    property value

    -
    -
    -
  • @@ -328,42 +247,15 @@

    Parameters

    representing the first time something happened.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func setOnce(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -378,42 +270,15 @@

    Parameters

    that don’t exist there will be no effect.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func unset(properties: [String])
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties array

    -
    -
    -
  • @@ -428,42 +293,15 @@

    Parameters

    will be set to the increment amount. Property values must be number objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func increment(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties array

    -
    -
    -
  • @@ -475,54 +313,15 @@

    Parameters

    amount.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func increment(property: String, by: Double)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - by - - -
    -

    amount to increment by

    -
    -
    -
  • @@ -536,42 +335,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func append(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to append

    -
    -
    -
  • @@ -585,42 +357,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func remove(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to remove

    -
    -
    -
  • @@ -633,42 +378,15 @@

    Parameters

    Property values must be array objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func union(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to lists to union

    -
    -
    -
  • @@ -684,54 +402,15 @@

    Parameters

    revenue analytics to see which products are generating the most revenue.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func trackCharge(amount: Double, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - amount - - -
    -

    amount of revenue received

    -
    -
    - - properties - - -
    -

    Optional. properties dictionary

    -
    -
    -
  • @@ -742,23 +421,15 @@

    Parameters

    Delete current user’s revenue history.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func clearCharges()
    - -
    -
  • @@ -769,14 +440,6 @@

    Declaration

    Delete current user’s record from Mixpanel People.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func deleteUser()
    - -
    -
  • @@ -785,7 +448,7 @@

    Declaration

    diff --git a/docs/Extensions.html b/docs/Extensions.html index 36cbffda4..f92c33045 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -137,9 +137,9 @@

    Extensions

  • - + - Optional + Optional
    @@ -150,23 +150,15 @@

    Extensions

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Optional: MixpanelType
    - -
    -
  • - + - String + String
    @@ -177,23 +169,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension String: MixpanelType
    - -
    -
  • - + - NSString + NSString
    @@ -204,23 +188,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSString: MixpanelType
    - -
    -
  • - + - NSNumber + NSNumber
    @@ -231,23 +207,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSNumber: MixpanelType
    - -
    -
  • - + - Int + Int
    @@ -258,23 +226,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Int: MixpanelType
    - -
    -
  • - + - UInt + UInt
    @@ -285,23 +245,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension UInt: MixpanelType
    - -
    -
  • - + - Double + Double
    @@ -312,23 +264,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Double: MixpanelType
    - -
    -
  • - + - Float + Float
    @@ -339,23 +283,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Float: MixpanelType
    - -
    -
  • - + - Bool + Bool
    @@ -366,23 +302,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Bool: MixpanelType
    - -
    -
  • - + - Date + Date
    @@ -393,23 +321,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Date: MixpanelType
    - -
    -
  • - + - URL + URL
    @@ -420,23 +340,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension URL: MixpanelType
    - -
    -
  • - + - NSNull + NSNull
    @@ -447,23 +359,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSNull: MixpanelType
    - -
    -
  • - + - Array + Array
    @@ -474,23 +378,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Array: MixpanelType
    - -
    -
  • - + - NSArray + NSArray
    @@ -501,23 +397,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSArray: MixpanelType
    - -
    -
  • @@ -528,14 +416,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Dictionary: MixpanelType
    - -
    -
  • @@ -544,7 +424,7 @@

    Declaration

    diff --git a/docs/Extensions/Array.html b/docs/Extensions/Array.html index 67c5d800b..b560823db 100644 --- a/docs/Extensions/Array.html +++ b/docs/Extensions/Array.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Array

    -
    -
    - -
    extension Array: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Array

  • @@ -156,23 +149,15 @@

    Array

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/Extensions/Bool.html b/docs/Extensions/Bool.html index acdd9e26a..d69c372da 100644 --- a/docs/Extensions/Bool.html +++ b/docs/Extensions/Bool.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Bool

    -
    -
    - -
    extension Bool: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Bool

  • @@ -157,23 +150,15 @@

    Bool

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/Date.html b/docs/Extensions/Date.html index a2076449f..0b8e62c75 100644 --- a/docs/Extensions/Date.html +++ b/docs/Extensions/Date.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Date

    -
    -
    - -
    extension Date: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Date

  • @@ -157,23 +150,15 @@

    Date

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/Extensions/Dictionary.html b/docs/Extensions/Dictionary.html index 6314a50da..40b64b5a2 100644 --- a/docs/Extensions/Dictionary.html +++ b/docs/Extensions/Dictionary.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Dictionary

    -
    -
    - -
    extension Dictionary: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Dictionary

  • @@ -156,23 +149,15 @@

    Dictionary

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/Extensions/Double.html b/docs/Extensions/Double.html index 318aa5a35..3a3ae98c0 100644 --- a/docs/Extensions/Double.html +++ b/docs/Extensions/Double.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Double

    -
    -
    - -
    extension Double: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Double

  • @@ -157,23 +150,15 @@

    Double

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/Float.html b/docs/Extensions/Float.html index 42d03c541..b33d7323c 100644 --- a/docs/Extensions/Float.html +++ b/docs/Extensions/Float.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Float

    -
    -
    - -
    extension Float: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Float

  • @@ -157,23 +150,15 @@

    Float

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/Extensions/Int.html b/docs/Extensions/Int.html index d9b59a339..c0b18e630 100644 --- a/docs/Extensions/Int.html +++ b/docs/Extensions/Int.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Int

    -
    -
    - -
    extension Int: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Int

  • @@ -157,23 +150,15 @@

    Int

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/NSArray.html b/docs/Extensions/NSArray.html index 82cb9924e..560e68bd7 100644 --- a/docs/Extensions/NSArray.html +++ b/docs/Extensions/NSArray.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSArray

    -
    -
    - -
    extension NSArray: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSArray

  • @@ -156,23 +149,15 @@

    NSArray

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/Extensions/NSNull.html b/docs/Extensions/NSNull.html index 98b9abcb8..24ccbdec5 100644 --- a/docs/Extensions/NSNull.html +++ b/docs/Extensions/NSNull.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSNull

    -
    -
    - -
    extension NSNull: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSNull

  • @@ -157,23 +150,15 @@

    NSNull

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/Extensions/NSNumber.html b/docs/Extensions/NSNumber.html index a675f28fd..654f4592a 100644 --- a/docs/Extensions/NSNumber.html +++ b/docs/Extensions/NSNumber.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    NSNumber

    -
    -
    - -
    extension NSNumber: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSNumber

  • @@ -157,23 +150,15 @@

    NSNumber

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/NSString.html b/docs/Extensions/NSString.html index 967142dcb..d425f5c64 100644 --- a/docs/Extensions/NSString.html +++ b/docs/Extensions/NSString.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSString

    -
    -
    - -
    extension NSString: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSString

  • @@ -157,23 +150,15 @@

    NSString

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/Optional.html b/docs/Extensions/Optional.html index 8ba71daf7..ca40f9720 100644 --- a/docs/Extensions/Optional.html +++ b/docs/Extensions/Optional.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Optional

    -
    -
    - -
    extension Optional: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Optional

  • @@ -156,23 +149,15 @@

    Optional

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

  • diff --git a/docs/Extensions/String.html b/docs/Extensions/String.html index 09a587005..d6674f924 100644 --- a/docs/Extensions/String.html +++ b/docs/Extensions/String.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    String

    -
    -
    - -
    extension String: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    String

  • @@ -157,23 +150,15 @@

    String

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/UInt.html b/docs/Extensions/UInt.html index 64305e4b6..3d6ac30ce 100644 --- a/docs/Extensions/UInt.html +++ b/docs/Extensions/UInt.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    UInt

    -
    -
    - -
    extension UInt: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    UInt

  • @@ -157,23 +150,15 @@

    UInt

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/Extensions/URL.html b/docs/Extensions/URL.html index cbe22840a..c690ab119 100644 --- a/docs/Extensions/URL.html +++ b/docs/Extensions/URL.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    URL

    -
    -
    - -
    extension URL: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    URL

  • @@ -157,23 +150,15 @@

    URL

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/Protocols.html b/docs/Protocols.html index adde5cdf9..51b020481 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -137,9 +137,9 @@

    Protocols

  • @@ -151,23 +151,15 @@

    Protocols

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    public protocol MixpanelDelegate : AnyObject
    - -
    -
  • @@ -181,14 +173,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    public protocol MixpanelType
    - -
    -
  • @@ -197,7 +181,7 @@

    Declaration

    diff --git a/docs/Protocols/MixpanelDelegate.html b/docs/Protocols/MixpanelDelegate.html index d55aba1fd..ff14936f2 100644 --- a/docs/Protocols/MixpanelDelegate.html +++ b/docs/Protocols/MixpanelDelegate.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelDelegate

    -
    -
    - -
    public protocol MixpanelDelegate : AnyObject
    - -
    -

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    @@ -144,9 +137,9 @@

    MixpanelDelegate

  • @@ -157,37 +150,6 @@

    MixpanelDelegate

    Asks the delegate if data should be uploaded to the server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    func mixpanelWillFlush(_ mixpanel: MixpanelInstance) -> Bool
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - mixpanel - - -
    -

    The mixpanel instance

    -
    -
    -
    -
    -

    Return Value

    -

    return true to upload now or false to defer until later

    -
  • @@ -196,7 +158,7 @@

    Return Value

    diff --git a/docs/Protocols/MixpanelType.html b/docs/Protocols/MixpanelType.html index 99d52a4d3..0aff782d4 100644 --- a/docs/Protocols/MixpanelType.html +++ b/docs/Protocols/MixpanelType.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelType

    -
    -
    - -
    public protocol MixpanelType
    - -
    -

    Property keys must be String objects and the supported value types need to conform to MixpanelType. MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull. Numbers are not NaN or infinity

    @@ -146,9 +139,9 @@

    MixpanelType

  • @@ -159,23 +152,15 @@

    MixpanelType

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -183,16 +168,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -202,7 +178,7 @@

    Declaration

    diff --git a/docs/Typealiases.html b/docs/Typealiases.html index cb0a09065..57d35aa0e 100644 --- a/docs/Typealiases.html +++ b/docs/Typealiases.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -137,9 +137,9 @@

    Type Aliases

  • @@ -147,16 +147,7 @@

    Type Aliases

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public typealias Properties = [String : MixpanelType]
    - -
    +
    @@ -166,7 +157,7 @@

    Declaration

    diff --git a/docs/badge.svg b/docs/badge.svg index d799a27b4..a5d7e554e 100644 --- a/docs/badge.svg +++ b/docs/badge.svg @@ -1,15 +1,15 @@ - + - + - - + + @@ -18,11 +18,11 @@ documentation - - 83% + + 0% - - 83% + + 0% diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html index 9f50ae0da..2aec11a22 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -137,9 +137,9 @@

    Classes

  • - + - Group + Group
    @@ -152,23 +152,15 @@

    Classes

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class Group
    - -
    -
  • - + - Mixpanel + Mixpanel
    @@ -180,23 +172,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class Mixpanel
    - -
    -
  • @@ -208,23 +192,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class MixpanelInstance : CustomDebugStringConvertible, FlushDelegate, AEDelegate
    - -
    -
  • - + - People + People
    @@ -237,14 +213,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    open class People
    - -
    -
  • @@ -253,7 +221,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html index f099a4808..79d72c08a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Group.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Group

    -
    -
    - -
    open class Group
    - -
    -

    Access to the Mixpanel Groups API, available through the getGroup function from the main Mixpanel instance.

    @@ -154,9 +147,9 @@

    Group
  • @@ -172,42 +165,15 @@

    Group value is overwritten. Other existing properties will not be affected.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -221,54 +187,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(property: String, to: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - to - - -
    -

    property value

    -
    -
    -
  • @@ -284,42 +211,15 @@

    Parameters

    data about dates representing the first time something happened.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func setOnce(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -332,42 +232,15 @@

    Parameters

    For properties that don’t exist there will be no effect.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func unset(property: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - property - - -
    -

    name of the property to unset

    -
    -
    -
  • @@ -381,42 +254,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func remove(key: String, value: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to remove

    -
    -
    -
  • @@ -429,42 +275,15 @@

    Parameters

    Property values must be array objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func union(key: String, values: [MixpanelType])
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to lists to union

    -
    -
    -
  • @@ -475,14 +294,6 @@

    Parameters

    Delete group’s record from Mixpanel Groups.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func deleteGroup()
    - -
    -
  • @@ -491,7 +302,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html index 3292c762e..793b50987 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/Mixpanel.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Mixpanel

    -
    -
    - -
    open class Mixpanel
    - -
    -

    The primary class for integrating Mixpanel with your app.

    @@ -144,9 +137,9 @@

    Mixpanel

  • @@ -167,131 +160,6 @@

    Mixpanel

  • -
    -

    Declaration

    -
    -

    Swift

    -
    @discardableResult
    -open class func initialize(token apiToken: String,
    -                           trackAutomaticEvents: Bool,
    -                           flushInterval: Double = 60,
    -                           instanceName: String? = nil,
    -                           optOutTrackingByDefault: Bool = false,
    -                           useUniqueDistinctId: Bool = false,
    -                           superProperties: Properties? = nil,
    -                           serverURL: String? = nil) -> MixpanelInstance
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - token - - -
    -

    your project token

    -
    -
    - - trackAutomaticEvents - - -
    -

    Whether or not to collect common mobile events

    -
    -
    - - flushInterval - - -
    -

    Optional. Interval to run background flushing

    -
    -
    - - instanceName - - -
    -

    Optional. The name you want to uniquely identify the Mixpanel Instance. -It is useful when you want more than one Mixpanel instance under the same project token.

    -
    -
    - - optOutTrackingByDefault - - -
    -

    Optional. Whether or not to be opted out from tracking by default

    -
    -
    - - useUniqueDistinctId - - -
    -

    Optional. whether or not to use the unique device identifier as the distinct_id

    -
    -
    - - superProperties - - -
    -

    Optional. Super properties dictionary to register during initialization

    -
    -
    - - serverURL - - -
    -

    Optional. Mixpanel cluster URL

    -
    -
    -
    -
    -

    Return Value

    -

    returns a mixpanel instance if needed to keep throughout the project. -You can always get the instance by calling getInstance(name)

    -
    @@ -327,9 +195,9 @@

    Return Value

  • @@ -340,46 +208,15 @@

    Return Value

    Gets the mixpanel instance with the given name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func getInstance(name: String) -> MixpanelInstance?
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
    -
    -

    Return Value

    -

    returns the mixpanel instance

    -
  • @@ -392,27 +229,15 @@

    Return Value

    If not specified explicitly, the main instance is always the last instance added

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func mainInstance() -> MixpanelInstance
    - -
    -
    -
    -

    Return Value

    -

    returns the main Mixpanel instance

    -
  • @@ -423,42 +248,15 @@

    Return Value

    Sets the main instance based on the instance name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func setMainInstance(name: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
  • @@ -469,33 +267,6 @@

    Parameters

    Removes an unneeded Mixpanel instance based on its name

    -
    -

    Declaration

    -
    -

    Swift

    -
    open class func removeInstance(name: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - name - - -
    -

    the instance name

    -
    -
    -
  • @@ -504,7 +275,7 @@

    Parameters

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html index dd301fb57..43b41572a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/MixpanelInstance.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelInstance

    -
    -
    - -
    open class MixpanelInstance : CustomDebugStringConvertible, FlushDelegate, AEDelegate
    - -
    -

    The class that represents the Mixpanel Instance

    @@ -144,9 +137,9 @@

    MixpanelInstance

  • - + - apiToken + apiToken
    @@ -157,23 +150,15 @@

    MixpanelInstance

    apiToken string that identifies the project to track data to

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var apiToken: String
    - -
    -
  • - + - delegate + delegate
    @@ -184,23 +169,15 @@

    Declaration

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open weak var delegate: MixpanelDelegate?
    - -
    -
  • @@ -211,23 +188,15 @@

    Declaration

    distinctId string that uniquely identifies the current user.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var distinctId: String
    - -
    -
  • @@ -238,23 +207,15 @@

    Declaration

    anonymousId string that uniquely identifies the device.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var anonymousId: String?
    - -
    -
  • - + - userId + userId
    @@ -265,23 +226,15 @@

    Declaration

    userId string that identify is called with.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var userId: String?
    - -
    -
  • @@ -293,23 +246,15 @@

    Declaration

    already exists in persistence

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var hadPersistedDistinctId: Bool?
    - -
    -
  • - + - alias + alias
    @@ -320,23 +265,15 @@

    Declaration

    alias string that uniquely identifies the current user.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var alias: String?
    - -
    -
  • - + - people + people
    @@ -347,23 +284,15 @@

    Declaration

    Accessor to the Mixpanel People API object.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var people: People!
    - -
    -
  • @@ -375,23 +304,15 @@

    Declaration

    data to the Mixpanel servers. Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var showNetworkActivityIndicator: Bool
    - -
    -
  • @@ -402,23 +323,15 @@

    Declaration

    This allows enabling or disabling collecting common mobile events,

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var trackAutomaticEventsEnabled: Bool
    - -
    -
  • @@ -431,23 +344,15 @@

    Declaration

    to upload queued data to the Mixpanel server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var flushInterval: Double { get set }
    - -
    -
  • @@ -459,23 +364,15 @@

    Declaration

    enters the background. Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var flushOnBackground: Bool { get set }
    - -
    -
  • @@ -488,23 +385,15 @@

    Declaration

    Defaults to true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var useIPAddressForGeoLocation: Bool { get set }
    - -
    -
  • @@ -517,23 +406,15 @@

    Declaration

    https://api.mixpanel.com.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var serverURL: String { get set }
    - -
    -
  • @@ -543,23 +424,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var debugDescription: String { get }
    - -
    -
  • @@ -576,23 +449,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var loggingEnabled: Bool { get set }
    - -
    -
  • - + - name + name
    @@ -603,23 +468,15 @@

    Declaration

    A unique identifier for this MixpanelInstance

    -
    -

    Declaration

    -
    -

    Swift

    -
    public let name: String
    - -
    -
  • @@ -627,16 +484,9 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    open var minimumSessionDuration: UInt64 { get set }
    +

    The minimum session duration (ms) that is tracked in automatic events. +The default value is 10000 (10 seconds).

    -
    @@ -644,9 +494,9 @@

    Declaration

  • @@ -658,14 +508,6 @@

    Declaration

    The default value is UINT64_MAX (no maximum session duration).

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var maximumSessionDuration: UInt64 { get set }
    - -
    -
  • @@ -685,9 +527,9 @@

    Identity
  • @@ -718,67 +560,15 @@

    Identity mixpanelInstance.identify(mixpanelInstance.distinctId).

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func identify(distinctId: String, usePeople: Bool = true, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - distinctId - - -
    -

    string that uniquely identifies the current user

    -
    -
    - - usePeople - - -
    -

    boolean that controls whether or not to set the people distinctId to the event distinctId. -This should only be set to false if you wish to prevent people profile updates for that user.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the identify has completed.

    -
    -
    -
  • @@ -799,92 +589,15 @@

    Parameters

    mixpanelInstance.createAlias("Newer ID", distinctId: mixpanelInstance.distinctId)

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func createAlias(_ alias: String, distinctId: String, usePeople: Bool = true, andIdentify: Bool = true, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - - - - - -
    - - alias - - -
    -

    A unique identifier that you want to use as an identifier for this user.

    -
    -
    - - distinctId - - -
    -

    The current user identifier.

    -
    -
    - - usePeople - - -
    -

    boolean that controls whether or not to set the people distinctId to the event distinctId.

    -
    -
    - - andIdentify - - -
    -

    an optional boolean that controls whether or not to call ‘identify’ with your current -user identifier(not alias). Default to true for keeping your signup funnels working correctly in most cases.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the createAlias has completed. -This should only be set to false if you wish to prevent people profile updates for that user.

    -
    -
    -
  • @@ -896,33 +609,6 @@

    Parameters

    Useful if your app’s user logs out.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func reset(completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - completion - - -
    -

    an optional completion handler for when the reset has completed.

    -
    -
    -
  • @@ -942,9 +628,9 @@

    Persistence
  • @@ -952,16 +638,7 @@

    Persistence
    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func archive()
    - -
    +

    @@ -982,9 +659,9 @@

    Flush
  • @@ -995,50 +672,11 @@

    Flush

    Uploads queued data to the Mixpanel server.

    By default, queued data is flushed to the Mixpanel servers every minute (the -default for flushInterval), and on background (since -flushOnBackground is on by default). You only need to call this +default for flushInterval), and on background (since +flushOnBackground is on by default). You only need to call this method manually if you want to force a flush at a particular moment.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func flush(performFullFlush: Bool = false, completion: (() -> Void)? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - performFullFlush - - -
    -

    A optional boolean value indicating whether a full flush should be performed. If true, a full flush will be triggered, sending all events to the server. Default to false, a partial flush will be executed for reducing memory footprint.

    -
    -
    - - completion - - -
    -

    an optional completion handler for when the flush has completed.

    -
    -
    -
  • @@ -1058,9 +696,9 @@

    Track
  • @@ -1077,54 +715,15 @@

    Track If the event is being timed, the timer will stop and be added as a property.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func track(event: String?, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - event - - -
    -

    event name

    -
    -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -1141,66 +740,15 @@

    Parameters

    If the event is being timed, the timer will stop and be added as a property.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func trackWithGroups(event: String?, properties: Properties? = nil, groups: Properties?)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - event - - -
    -

    event name

    -
    -
    - - properties - - -
    -

    properties dictionary

    -
    -
    - - groups - - -
    -

    groups dictionary

    -
    -
    -
  • @@ -1208,16 +756,7 @@

    Parameters

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func getGroup(groupKey: String, groupID: MixpanelType) -> Group
    - -
    +
    @@ -1225,9 +764,9 @@

    Declaration

  • @@ -1256,42 +795,15 @@

    Declaration

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func time(event: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the event name to be timed

    -
    -
    -
  • @@ -1302,42 +814,15 @@

    Parameters

    Retrieves the time elapsed for the named event since time(event:) was called.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func eventElapsedTime(event: String) -> Double
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the name of the event to be tracked that was passed to time(event:)

    -
    -
    -
  • @@ -1348,23 +833,15 @@

    Parameters

    Clears all current event timers.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearTimedEvents()
    - -
    -
  • @@ -1375,42 +852,15 @@

    Declaration

    Clears the event timer for the named event.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearTimedEvent(event: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - event - - -
    -

    the name of the event to clear the timer for

    -
    -
    -
  • @@ -1421,27 +871,15 @@

    Parameters

    Returns the currently set super properties.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func currentSuperProperties() -> [String : Any]
    - -
    -
    -
    -

    Return Value

    -

    the current super properties

    -
  • @@ -1452,23 +890,15 @@

    Return Value

    Clears all currently set super properties.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func clearSuperProperties()
    - -
    -
  • @@ -1485,42 +915,15 @@

    Declaration

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func registerSuperProperties(_ properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -1535,55 +938,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func registerSuperPropertiesOnce(_ properties: Properties,
    -                                      defaultValue: MixpanelType? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    - - defaultValue - - -
    -

    Optional. overwrite existing properties that have this value

    -
    -
    -
  • @@ -1602,42 +965,15 @@

    Parameters

    registered.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func unregisterSuperProperty(_ propertyName: String)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - propertyName - - -
    -

    array of property name strings to remove

    -
    -
    -
  • @@ -1648,54 +984,15 @@

    Parameters

    Convenience method to set a single group the user belongs to.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func setGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The group the user belongs to.

    -
    -
    -
  • @@ -1706,54 +1003,15 @@

    Parameters

    Set the groups this user belongs to.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func setGroup(groupKey: String, groupIDs: [MixpanelType])
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupIDs - - -
    -

    The list of groups the user belongs to.

    -
    -
    -
  • @@ -1764,54 +1022,15 @@

    Parameters

    Add a group to this user’s membership for a particular group key

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func addGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The new group the user belongs to.

    -
    -
    -
  • @@ -1822,54 +1041,15 @@

    Parameters

    Remove a group from this user’s membership for a particular group key

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func removeGroup(groupKey: String, groupID: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - groupKey - - -
    -

    The property name associated with this group type (must already have been set up).

    -
    -
    - - groupID - - -
    -

    The group value to remove.

    -
    -
    -
  • @@ -1883,23 +1063,15 @@

    Parameters

    to be sent back to the Mixpanel server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func optOutTracking()
    - -
    -
  • @@ -1915,55 +1087,15 @@

    Declaration

    This method will internally track an opt in event to your project.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func optInTracking(distinctId: String? = nil, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - distintId - - -
    -

    an optional string to use as the distinct ID for events

    -
    -
    - - properties - - -
    -

    an optional properties dictionary that could be passed to add properties to the opt-in event -that is sent to Mixpanel

    -
    -
    -
  • @@ -1974,18 +1106,6 @@

    Parameters

    Returns if the current user has opted out tracking.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func hasOptedOutTracking() -> Bool
    - -
    -
    -
    -

    Return Value

    -

    the current super opted out tracking status

    -
  • @@ -1994,7 +1114,7 @@

    Return Value

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html index 006882dd6..ca94a84b2 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Classes/People.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    People

    -
    -
    - -
    open class People
    - -
    -

    Access to the Mixpanel People API, available as an accessible variable from the main Mixpanel instance.

    @@ -145,9 +138,9 @@

    People

  • @@ -162,14 +155,6 @@

    People

    current time for all $set, $append, and $add operations

    -
    -

    Declaration

    -
    -

    Swift

    -
    open var ignoreTime: Bool
    - -
    -
  • @@ -189,9 +174,9 @@

    People
  • @@ -215,42 +200,15 @@

    People

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -264,54 +222,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func set(property: String, to: MixpanelType)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - to - - -
    -

    property value

    -
    -
    -
  • @@ -328,42 +247,15 @@

    Parameters

    representing the first time something happened.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func setOnce(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties dictionary

    -
    -
    -
  • @@ -378,42 +270,15 @@

    Parameters

    that don’t exist there will be no effect.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func unset(properties: [String])
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties array

    -
    -
    -
  • @@ -428,42 +293,15 @@

    Parameters

    will be set to the increment amount. Property values must be number objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func increment(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    properties array

    -
    -
    -
  • @@ -475,54 +313,15 @@

    Parameters

    amount.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func increment(property: String, by: Double)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - property - - -
    -

    property name

    -
    -
    - - by - - -
    -

    amount to increment by

    -
    -
    -
  • @@ -536,42 +335,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func append(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to append

    -
    -
    -
  • @@ -585,42 +357,15 @@

    Parameters

    MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func remove(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to values to remove

    -
    -
    -
  • @@ -633,42 +378,15 @@

    Parameters

    Property values must be array objects.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func union(properties: Properties)
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - properties - - -
    -

    mapping of list property names to lists to union

    -
    -
    -
  • @@ -684,54 +402,15 @@

    Parameters

    revenue analytics to see which products are generating the most revenue.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func trackCharge(amount: Double, properties: Properties? = nil)
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - amount - - -
    -

    amount of revenue received

    -
    -
    - - properties - - -
    -

    Optional. properties dictionary

    -
    -
    -
  • @@ -742,23 +421,15 @@

    Parameters

    Delete current user’s revenue history.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func clearCharges()
    - -
    -
  • @@ -769,14 +440,6 @@

    Declaration

    Delete current user’s record from Mixpanel People.

    -
    -

    Declaration

    -
    -

    Swift

    -
    open func deleteUser()
    - -
    -
  • @@ -785,7 +448,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html index 36cbffda4..f92c33045 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -137,9 +137,9 @@

    Extensions

  • - + - Optional + Optional
    @@ -150,23 +150,15 @@

    Extensions

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Optional: MixpanelType
    - -
    -
  • - + - String + String
    @@ -177,23 +169,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension String: MixpanelType
    - -
    -
  • - + - NSString + NSString
    @@ -204,23 +188,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSString: MixpanelType
    - -
    -
  • - + - NSNumber + NSNumber
    @@ -231,23 +207,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSNumber: MixpanelType
    - -
    -
  • - + - Int + Int
    @@ -258,23 +226,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Int: MixpanelType
    - -
    -
  • - + - UInt + UInt
    @@ -285,23 +245,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension UInt: MixpanelType
    - -
    -
  • - + - Double + Double
    @@ -312,23 +264,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Double: MixpanelType
    - -
    -
  • - + - Float + Float
    @@ -339,23 +283,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Float: MixpanelType
    - -
    -
  • - + - Bool + Bool
    @@ -366,23 +302,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Bool: MixpanelType
    - -
    -
  • - + - Date + Date
    @@ -393,23 +321,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Date: MixpanelType
    - -
    -
  • - + - URL + URL
    @@ -420,23 +340,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension URL: MixpanelType
    - -
    -
  • - + - NSNull + NSNull
    @@ -447,23 +359,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSNull: MixpanelType
    - -
    -
  • - + - Array + Array
    @@ -474,23 +378,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Array: MixpanelType
    - -
    -
  • - + - NSArray + NSArray
    @@ -501,23 +397,15 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension NSArray: MixpanelType
    - -
    -
  • @@ -528,14 +416,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    extension Dictionary: MixpanelType
    - -
    -
  • @@ -544,7 +424,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html index 67c5d800b..b560823db 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Array.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Array

    -
    -
    - -
    extension Array: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Array

  • @@ -156,23 +149,15 @@

    Array

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html index acdd9e26a..d69c372da 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Bool.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Bool

    -
    -
    - -
    extension Bool: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Bool

  • @@ -157,23 +150,15 @@

    Bool

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html index a2076449f..0b8e62c75 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Date.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Date

    -
    -
    - -
    extension Date: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Date

  • @@ -157,23 +150,15 @@

    Date

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html index 6314a50da..40b64b5a2 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Dictionary.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Dictionary

    -
    -
    - -
    extension Dictionary: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Dictionary

  • @@ -156,23 +149,15 @@

    Dictionary

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html index 318aa5a35..3a3ae98c0 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Double.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Double

    -
    -
    - -
    extension Double: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Double

  • @@ -157,23 +150,15 @@

    Double

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html index 42d03c541..b33d7323c 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Float.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Float

    -
    -
    - -
    extension Float: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Float

  • @@ -157,23 +150,15 @@

    Float

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html index d9b59a339..c0b18e630 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Int.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    Int

    -
    -
    - -
    extension Int: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Int

  • @@ -157,23 +150,15 @@

    Int

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html index 82cb9924e..560e68bd7 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSArray.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSArray

    -
    -
    - -
    extension NSArray: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSArray

  • @@ -156,23 +149,15 @@

    NSArray

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html index 98b9abcb8..24ccbdec5 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNull.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSNull

    -
    -
    - -
    extension NSNull: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSNull

  • @@ -157,23 +150,15 @@

    NSNull

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html index a675f28fd..654f4592a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSNumber.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    NSNumber

    -
    -
    - -
    extension NSNumber: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSNumber

  • @@ -157,23 +150,15 @@

    NSNumber

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html index 967142dcb..d425f5c64 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/NSString.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    NSString

    -
    -
    - -
    extension NSString: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    NSString

  • @@ -157,23 +150,15 @@

    NSString

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html index 8ba71daf7..ca40f9720 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/Optional.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    Optional

    -
    -
    - -
    extension Optional: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    Optional

  • @@ -156,23 +149,15 @@

    Optional

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -180,16 +165,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -199,7 +175,7 @@

    Declaration

  • diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html index 09a587005..d6674f924 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/String.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    String

    -
    -
    - -
    extension String: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    String

  • @@ -157,23 +150,15 @@

    String

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html index 64305e4b6..3d6ac30ce 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/UInt.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    UInt

    -
    -
    - -
    extension UInt: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    UInt

  • @@ -157,23 +150,15 @@

    UInt

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html index cbe22840a..c690ab119 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Extensions/URL.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -128,13 +128,6 @@

    URL

    -
    -
    - -
    extension URL: MixpanelType
    - -
    -
    @@ -143,9 +136,9 @@

    URL

  • @@ -157,23 +150,15 @@

    URL

    Will always return true.

    -
    -

    Declaration

    -
    -

    Swift

    -
    public func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -181,16 +166,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -200,7 +176,7 @@

    Declaration

  • diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html index adde5cdf9..51b020481 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -137,9 +137,9 @@

    Protocols

  • @@ -151,23 +151,15 @@

    Protocols

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    public protocol MixpanelDelegate : AnyObject
    - -
    -
  • @@ -181,14 +173,6 @@

    Declaration

    See more
    -
    -

    Declaration

    -
    -

    Swift

    -
    public protocol MixpanelType
    - -
    -
  • @@ -197,7 +181,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html index d55aba1fd..ff14936f2 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelDelegate.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelDelegate

    -
    -
    - -
    public protocol MixpanelDelegate : AnyObject
    - -
    -

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    @@ -144,9 +137,9 @@

    MixpanelDelegate

  • @@ -157,37 +150,6 @@

    MixpanelDelegate

    Asks the delegate if data should be uploaded to the server.

    -
    -

    Declaration

    -
    -

    Swift

    -
    func mixpanelWillFlush(_ mixpanel: MixpanelInstance) -> Bool
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - mixpanel - - -
    -

    The mixpanel instance

    -
    -
    -
    -
    -

    Return Value

    -

    return true to upload now or false to defer until later

    -
  • @@ -196,7 +158,7 @@

    Return Value

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html index 99d52a4d3..0aff782d4 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Protocols/MixpanelType.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases @@ -128,13 +128,6 @@

    MixpanelType

    -
    -
    - -
    public protocol MixpanelType
    - -
    -

    Property keys must be String objects and the supported value types need to conform to MixpanelType. MixpanelType can be either String, Int, UInt, Double, Float, Bool, [MixpanelType], [String: MixpanelType], Date, URL, or NSNull. Numbers are not NaN or infinity

    @@ -146,9 +139,9 @@

    MixpanelType

  • @@ -159,23 +152,15 @@

    MixpanelType

    Checks if this object has nested object types that Mixpanel supports.

    -
    -

    Declaration

    -
    -

    Swift

    -
    func isValidNestedTypeAndValue() -> Bool
    - -
    -
  • @@ -183,16 +168,7 @@

    Declaration

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func equals(rhs: MixpanelType) -> Bool
    - -
    +
    @@ -202,7 +178,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html index cb0a09065..57d35aa0e 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/Typealiases.html @@ -17,7 +17,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -118,7 +118,7 @@ Type Aliases
  • @@ -137,9 +137,9 @@

    Type Aliases

  • @@ -147,16 +147,7 @@

    Type Aliases

    -

    Undocumented

    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    public typealias Properties = [String : MixpanelType]
    - -
    +
    @@ -166,7 +157,7 @@

    Declaration

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html index 2167b58c2..d45f986a8 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/index.html @@ -16,7 +16,7 @@
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -117,7 +117,7 @@ Type Aliases
  • @@ -258,7 +258,7 @@

    FAQ

    Why aren’t my events showing up?

    -

    To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment.

    +

    First, make sure your test device has internet access. To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment.

    Mixpanel.mainInstance().flush()
     
    @@ -288,7 +288,7 @@

    I want to know more!

    diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json index 6e08390ae..9a730e93a 100644 --- a/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/Mixpanel.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"

    Undocumented

    "},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"

    Asks the delegate if data should be uploaded to the server.

    ","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    "},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"

    Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSArray"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Array"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Optional"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/Array.html":{"name":"Array"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"

    controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"

    Set properties on the current user in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"

    Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"

    Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"

    Increment the given numeric properties by the given values.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"

    Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"

    Append values to list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"

    Removes list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"

    Union list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"

    Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"

    Delete current user’s revenue history.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"

    Delete current user’s record from Mixpanel People.

    ","parent_name":"People"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"

    apiToken string that identifies the project to track data to

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"

    distinctId string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"

    anonymousId string that uniquely identifies the device.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"

    userId string that identify is called with.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"

    hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"

    alias string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"

    Accessor to the Mixpanel People API object.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"

    Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbvp":{"name":"trackAutomaticEventsEnabled","abstract":"

    This allows enabling or disabling collecting common mobile events,

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"

    Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"

    Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"

    Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"

    The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"

    This allows enabling or disabling of all Mixpanel logs at run time.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"

    A unique identifier for this MixpanelInstance

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"

    The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"

    Sets the distinct ID of the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople11andIdentify10completionySS_SSS2byycSgtF":{"name":"createAlias(_:distinctId:usePeople:andIdentify:completion:)","abstract":"

    The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"

    Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush16performFullFlush10completionySb_yycSgtF":{"name":"flush(performFullFlush:completion:)","abstract":"

    Uploads queued data to the Mixpanel server.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"

    Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"

    Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"

    Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"

    Retrieves the time elapsed for the named event since time(event:) was called.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"

    Clears all current event timers.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"

    Clears the event timer for the named event.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"

    Returns the currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"

    Clears all currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"

    Registers super properties, overwriting ones that have already been set.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"

    Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"

    Removes a previously registered super property.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"

    Convenience method to set a single group the user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"

    Set the groups this user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"

    Add a group to this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"

    Remove a group from this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"

    Opt out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"

    Opt in tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"

    Returns if the current user has opted out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token20trackAutomaticEvents13flushInterval12instanceName23optOutTrackingByDefault19useUniqueDistinctId15superProperties9serverURLAA0A8InstanceCSS_SbSdSSSgS2bSDySSAA0A4Type_pGSgANtFZ":{"name":"initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token (MAC OS ONLY).

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"

    Gets the mixpanel instance with the given name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"

    Returns the main instance that was initialized.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"

    Sets the main instance based on the instance name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"

    Removes an unneeded Mixpanel instance based on its name

    ","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"

    Sets properties on this group.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"

    Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"

    Remove a property and its value from a group’s profile in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"

    Removes list properties.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"

    Union list properties.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"

    Delete group’s record from Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"

    Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"

    The primary class for integrating Mixpanel with your app.

    "},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"

    The class that represents the Mixpanel Instance

    "},"Classes/People.html":{"name":"People","abstract":"

    Access to the Mixpanel People API, available as an accessible variable from"},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/Properties":{"name":"Properties"},"Protocols/MixpanelType.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/mixpanelWillFlush(_:)":{"name":"mixpanelWillFlush(_:)","abstract":"

    Asks the delegate if data should be uploaded to the server.

    ","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    "},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"

    Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Extensions/Dictionary.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Dictionary"},"Extensions/Dictionary.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Dictionary"},"Extensions/NSArray.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"NSArray"},"Extensions/NSArray.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSArray"},"Extensions/Array.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Array"},"Extensions/Array.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Array"},"Extensions/NSNull.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSNull"},"Extensions/URL.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"URL"},"Extensions/Date.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Date"},"Extensions/Bool.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Bool"},"Extensions/Float.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Float"},"Extensions/Double.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Double"},"Extensions/UInt.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"UInt"},"Extensions/Int.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Int"},"Extensions/NSNumber.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSNumber"},"Extensions/NSString.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSString"},"Extensions/String.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"String"},"Extensions/Optional.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Optional"},"Extensions/Optional.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Optional"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/Array.html":{"name":"Array"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Classes/People.html#/ignoreTime":{"name":"ignoreTime","abstract":"

    controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/set(properties:)":{"name":"set(properties:)","abstract":"

    Set properties on the current user in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/set(property:to:)":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/setOnce(properties:)":{"name":"setOnce(properties:)","abstract":"

    Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/unset(properties:)":{"name":"unset(properties:)","abstract":"

    Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/increment(properties:)":{"name":"increment(properties:)","abstract":"

    Increment the given numeric properties by the given values.

    ","parent_name":"People"},"Classes/People.html#/increment(property:by:)":{"name":"increment(property:by:)","abstract":"

    Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/append(properties:)":{"name":"append(properties:)","abstract":"

    Append values to list properties.

    ","parent_name":"People"},"Classes/People.html#/remove(properties:)":{"name":"remove(properties:)","abstract":"

    Removes list properties.

    ","parent_name":"People"},"Classes/People.html#/union(properties:)":{"name":"union(properties:)","abstract":"

    Union list properties.

    ","parent_name":"People"},"Classes/People.html#/trackCharge(amount:properties:)":{"name":"trackCharge(amount:properties:)","abstract":"

    Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/clearCharges()":{"name":"clearCharges()","abstract":"

    Delete current user’s revenue history.

    ","parent_name":"People"},"Classes/People.html#/deleteUser()":{"name":"deleteUser()","abstract":"

    Delete current user’s record from Mixpanel People.

    ","parent_name":"People"},"Classes/MixpanelInstance.html#/apiToken":{"name":"apiToken","abstract":"

    apiToken string that identifies the project to track data to

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/delegate":{"name":"delegate","abstract":"

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/distinctId":{"name":"distinctId","abstract":"

    distinctId string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/anonymousId":{"name":"anonymousId","abstract":"

    anonymousId string that uniquely identifies the device.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/userId":{"name":"userId","abstract":"

    userId string that identify is called with.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/hadPersistedDistinctId":{"name":"hadPersistedDistinctId","abstract":"

    hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/alias":{"name":"alias","abstract":"

    alias string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/people":{"name":"people","abstract":"

    Accessor to the Mixpanel People API object.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/showNetworkActivityIndicator":{"name":"showNetworkActivityIndicator","abstract":"

    Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/trackAutomaticEventsEnabled":{"name":"trackAutomaticEventsEnabled","abstract":"

    This allows enabling or disabling collecting common mobile events,

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flushInterval":{"name":"flushInterval","abstract":"

    Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flushOnBackground":{"name":"flushOnBackground","abstract":"

    Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/useIPAddressForGeoLocation":{"name":"useIPAddressForGeoLocation","abstract":"

    Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/serverURL":{"name":"serverURL","abstract":"

    The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/debugDescription":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/loggingEnabled":{"name":"loggingEnabled","abstract":"

    This allows enabling or disabling of all Mixpanel logs at run time.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/name":{"name":"name","abstract":"

    A unique identifier for this MixpanelInstance

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/minimumSessionDuration":{"name":"minimumSessionDuration","abstract":"

    The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/maximumSessionDuration":{"name":"maximumSessionDuration","abstract":"

    The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/identify(distinctId:usePeople:completion:)":{"name":"identify(distinctId:usePeople:completion:)","abstract":"

    Sets the distinct ID of the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/createAlias(_:distinctId:usePeople:andIdentify:completion:)":{"name":"createAlias(_:distinctId:usePeople:andIdentify:completion:)","abstract":"

    The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/reset(completion:)":{"name":"reset(completion:)","abstract":"

    Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flush(performFullFlush:completion:)":{"name":"flush(performFullFlush:completion:)","abstract":"

    Uploads queued data to the Mixpanel server.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/track(event:properties:)":{"name":"track(event:properties:)","abstract":"

    Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/trackWithGroups(event:properties:groups:)":{"name":"trackWithGroups(event:properties:groups:)","abstract":"

    Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/getGroup(groupKey:groupID:)":{"name":"getGroup(groupKey:groupID:)","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/time(event:)":{"name":"time(event:)","abstract":"

    Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/eventElapsedTime(event:)":{"name":"eventElapsedTime(event:)","abstract":"

    Retrieves the time elapsed for the named event since time(event:) was called.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearTimedEvents()":{"name":"clearTimedEvents()","abstract":"

    Clears all current event timers.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearTimedEvent(event:)":{"name":"clearTimedEvent(event:)","abstract":"

    Clears the event timer for the named event.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/currentSuperProperties()":{"name":"currentSuperProperties()","abstract":"

    Returns the currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearSuperProperties()":{"name":"clearSuperProperties()","abstract":"

    Clears all currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/registerSuperProperties(_:)":{"name":"registerSuperProperties(_:)","abstract":"

    Registers super properties, overwriting ones that have already been set.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/registerSuperPropertiesOnce(_:defaultValue:)":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"

    Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/unregisterSuperProperty(_:)":{"name":"unregisterSuperProperty(_:)","abstract":"

    Removes a previously registered super property.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/setGroup(groupKey:groupID:)":{"name":"setGroup(groupKey:groupID:)","abstract":"

    Convenience method to set a single group the user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/setGroup(groupKey:groupIDs:)":{"name":"setGroup(groupKey:groupIDs:)","abstract":"

    Set the groups this user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/addGroup(groupKey:groupID:)":{"name":"addGroup(groupKey:groupID:)","abstract":"

    Add a group to this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/removeGroup(groupKey:groupID:)":{"name":"removeGroup(groupKey:groupID:)","abstract":"

    Remove a group from this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/optOutTracking()":{"name":"optOutTracking()","abstract":"

    Opt out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/optInTracking(distinctId:properties:)":{"name":"optInTracking(distinctId:properties:)","abstract":"

    Opt in tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/hasOptedOutTracking()":{"name":"hasOptedOutTracking()","abstract":"

    Returns if the current user has opted out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token (MAC OS ONLY).

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/getInstance(name:)":{"name":"getInstance(name:)","abstract":"

    Gets the mixpanel instance with the given name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/mainInstance()":{"name":"mainInstance()","abstract":"

    Returns the main instance that was initialized.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/setMainInstance(name:)":{"name":"setMainInstance(name:)","abstract":"

    Sets the main instance based on the instance name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/removeInstance(name:)":{"name":"removeInstance(name:)","abstract":"

    Removes an unneeded Mixpanel instance based on its name

    ","parent_name":"Mixpanel"},"Classes/Group.html#/set(properties:)":{"name":"set(properties:)","abstract":"

    Sets properties on this group.

    ","parent_name":"Group"},"Classes/Group.html#/set(property:to:)":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/setOnce(properties:)":{"name":"setOnce(properties:)","abstract":"

    Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/unset(property:)":{"name":"unset(property:)","abstract":"

    Remove a property and its value from a group’s profile in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/remove(key:value:)":{"name":"remove(key:value:)","abstract":"

    Removes list properties.

    ","parent_name":"Group"},"Classes/Group.html#/union(key:values:)":{"name":"union(key:values:)","abstract":"

    Union list properties.

    ","parent_name":"Group"},"Classes/Group.html#/deleteGroup()":{"name":"deleteGroup()","abstract":"

    Delete group’s record from Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"

    Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"

    The primary class for integrating Mixpanel with your app.

    "},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"

    The class that represents the Mixpanel Instance

    "},"Classes/People.html":{"name":"People","abstract":"

    Access to the Mixpanel People API, available as an accessible variable from"},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Mixpanel.docset/Contents/Resources/docSet.dsidx index 391f9a6e1ea42c74153cc78158e2064988e3c5d6..8fd6afc0d1478f44ccea2705a084351eeebb1ad3 100644 GIT binary patch literal 36864 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 literal 45056 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�^FK2K}N>_xZz(ptuA)2{(U2T$JQ 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�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
    -

    Mixpanel 4.1.2 Docs (83% documented)

    +

    Mixpanel 4.1.3 Docs (0% documented)

    GitHubView on GitHub

    @@ -117,7 +117,7 @@ Type Aliases @@ -258,7 +258,7 @@

    FAQ

    Why aren’t my events showing up?

    -

    To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment.

    +

    First, make sure your test device has internet access. To preserve battery life and customer bandwidth, the Mixpanel library doesn’t send the events you record immediately. Instead, it sends batches to the Mixpanel servers every 60 seconds while your application is running, as well as when the application transitions to the background. You can call flush() manually if you want to force a flush at a particular moment.

    Mixpanel.mainInstance().flush()
     
    @@ -288,7 +288,7 @@

    I want to know more!

    diff --git a/docs/search.json b/docs/search.json index 6e08390ae..9a730e93a 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:8Mixpanel10Propertiesa":{"name":"Properties","abstract":"

    Undocumented

    "},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP013isValidNestedB8AndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/s:8Mixpanel0A4TypeP6equals3rhsSbAaB_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/s:8Mixpanel0A8DelegateP17mixpanelWillFlushySbAA0A8InstanceCF":{"name":"mixpanelWillFlush(_:)","abstract":"

    Asks the delegate if data should be uploaded to the server.

    ","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    "},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"

    Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Extensions/Dictionary.html#/s:SD8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Dictionary"},"Extensions/Dictionary.html#/s:SD8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Dictionary"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"NSArray"},"Extensions/NSArray.html#/s:So7NSArrayC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSArray"},"Extensions/Array.html#/s:Sa8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Array"},"Extensions/Array.html#/s:Sa8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Array"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/s:So6NSNullC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSNull"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/s:10Foundation3URLV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"URL"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/s:10Foundation4DateV8MixpanelE6equals3rhsSbAD0C4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Date"},"Extensions/Bool.html#/s:Sb8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/s:Sb8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Bool"},"Extensions/Float.html#/s:Sf8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/s:Sf8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Float"},"Extensions/Double.html#/s:Sd8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/s:Sd8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Double"},"Extensions/UInt.html#/s:Su8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/s:Su8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"UInt"},"Extensions/Int.html#/s:Si8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/s:Si8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Int"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/s:So8NSNumberC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSNumber"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/s:So8NSStringC8MixpanelE6equals3rhsSbAC0B4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"NSString"},"Extensions/String.html#/s:SS8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/s:SS8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"String"},"Extensions/Optional.html#/s:Sq8MixpanelE25isValidNestedTypeAndValueSbyF":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Optional"},"Extensions/Optional.html#/s:Sq8MixpanelE6equals3rhsSbAA0A4Type_p_tF":{"name":"equals(rhs:)","abstract":"

    Undocumented

    ","parent_name":"Optional"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/Array.html":{"name":"Array"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Classes/People.html#/s:8Mixpanel6PeopleC10ignoreTimeSbvp":{"name":"ignoreTime","abstract":"

    controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"

    Set properties on the current user in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"

    Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5unset10propertiesySaySSG_tF":{"name":"unset(properties:)","abstract":"

    Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment10propertiesySDySSAA0A4Type_pG_tF":{"name":"increment(properties:)","abstract":"

    Increment the given numeric properties by the given values.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC9increment8property2byySS_SdtF":{"name":"increment(property:by:)","abstract":"

    Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6append10propertiesySDySSAA0A4Type_pG_tF":{"name":"append(properties:)","abstract":"

    Append values to list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC6remove10propertiesySDySSAA0A4Type_pG_tF":{"name":"remove(properties:)","abstract":"

    Removes list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC5union10propertiesySDySSAA0A4Type_pG_tF":{"name":"union(properties:)","abstract":"

    Union list properties.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC11trackCharge6amount10propertiesySd_SDySSAA0A4Type_pGSgtF":{"name":"trackCharge(amount:properties:)","abstract":"

    Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC12clearChargesyyF":{"name":"clearCharges()","abstract":"

    Delete current user’s revenue history.

    ","parent_name":"People"},"Classes/People.html#/s:8Mixpanel6PeopleC10deleteUseryyF":{"name":"deleteUser()","abstract":"

    Delete current user’s record from Mixpanel People.

    ","parent_name":"People"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8apiTokenSSvp":{"name":"apiToken","abstract":"

    apiToken string that identifies the project to track data to

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8delegateAA0A8Delegate_pSgvp":{"name":"delegate","abstract":"

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC10distinctIdSSvp":{"name":"distinctId","abstract":"

    distinctId string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11anonymousIdSSSgvp":{"name":"anonymousId","abstract":"

    anonymousId string that uniquely identifies the device.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6userIdSSSgvp":{"name":"userId","abstract":"

    userId string that identify is called with.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22hadPersistedDistinctIdSbSgvp":{"name":"hadPersistedDistinctId","abstract":"

    hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5aliasSSSgvp":{"name":"alias","abstract":"

    alias string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC6peopleAA6PeopleCSgvp":{"name":"people","abstract":"

    Accessor to the Mixpanel People API object.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC28showNetworkActivityIndicatorSbvp":{"name":"showNetworkActivityIndicator","abstract":"

    Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27trackAutomaticEventsEnabledSbvp":{"name":"trackAutomaticEventsEnabled","abstract":"

    This allows enabling or disabling collecting common mobile events,

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13flushIntervalSdvp":{"name":"flushInterval","abstract":"

    Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC17flushOnBackgroundSbvp":{"name":"flushOnBackground","abstract":"

    Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC26useIPAddressForGeoLocationSbvp":{"name":"useIPAddressForGeoLocation","abstract":"

    Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC9serverURLSSvp":{"name":"serverURL","abstract":"

    The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:s28CustomDebugStringConvertibleP16debugDescriptionSSvp":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp":{"name":"loggingEnabled","abstract":"

    This allows enabling or disabling of all Mixpanel logs at run time.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4nameSSvp":{"name":"name","abstract":"

    A unique identifier for this MixpanelInstance

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22minimumSessionDurations6UInt64Vvp":{"name":"minimumSessionDuration","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22maximumSessionDurations6UInt64Vvp":{"name":"maximumSessionDuration","abstract":"

    The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8identify10distinctId9usePeople10completionySS_SbyycSgtF":{"name":"identify(distinctId:usePeople:completion:)","abstract":"

    Sets the distinct ID of the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11createAlias_10distinctId9usePeople11andIdentify10completionySS_SSS2byycSgtF":{"name":"createAlias(_:distinctId:usePeople:andIdentify:completion:)","abstract":"

    The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5reset10completionyyycSg_tF":{"name":"reset(completion:)","abstract":"

    Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC7archiveyyF":{"name":"archive()","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5flush16performFullFlush10completionySb_yycSgtF":{"name":"flush(performFullFlush:completion:)","abstract":"

    Uploads queued data to the Mixpanel server.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC5track5event10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"track(event:properties:)","abstract":"

    Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15trackWithGroups5event10properties6groupsySSSg_SDySSAA0A4Type_pGSgAKtF":{"name":"trackWithGroups(event:properties:groups:)","abstract":"

    Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8getGroup8groupKey0E2IDAA0D0CSS_AA0A4Type_ptF":{"name":"getGroup(groupKey:groupID:)","abstract":"

    Undocumented

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC4time5eventySS_tF":{"name":"time(event:)","abstract":"

    Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16eventElapsedTime0C0SdSS_tF":{"name":"eventElapsedTime(event:)","abstract":"

    Retrieves the time elapsed for the named event since time(event:) was called.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC16clearTimedEventsyyF":{"name":"clearTimedEvents()","abstract":"

    Clears all current event timers.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC15clearTimedEvent5eventySS_tF":{"name":"clearTimedEvent(event:)","abstract":"

    Clears the event timer for the named event.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC22currentSuperPropertiesSDySSypGyF":{"name":"currentSuperProperties()","abstract":"

    Returns the currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC20clearSuperPropertiesyyF":{"name":"clearSuperProperties()","abstract":"

    Clears all currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23registerSuperPropertiesyySDySSAA0A4Type_pGF":{"name":"registerSuperProperties(_:)","abstract":"

    Registers super properties, overwriting ones that have already been set.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC27registerSuperPropertiesOnce_12defaultValueySDySSAA0A4Type_pG_AaF_pSgtF":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"

    Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC23unregisterSuperPropertyyySSF":{"name":"unregisterSuperProperty(_:)","abstract":"

    Removes a previously registered super property.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"setGroup(groupKey:groupID:)","abstract":"

    Convenience method to set a single group the user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8setGroup8groupKey0E3IDsySS_SayAA0A4Type_pGtF":{"name":"setGroup(groupKey:groupIDs:)","abstract":"

    Set the groups this user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC8addGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"addGroup(groupKey:groupID:)","abstract":"

    Add a group to this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC11removeGroup8groupKey0E2IDySS_AA0A4Type_ptF":{"name":"removeGroup(groupKey:groupID:)","abstract":"

    Remove a group from this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14optOutTrackingyyF":{"name":"optOutTracking()","abstract":"

    Opt out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC13optInTracking10distinctId10propertiesySSSg_SDySSAA0A4Type_pGSgtF":{"name":"optInTracking(distinctId:properties:)","abstract":"

    Opt in tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC19hasOptedOutTrackingSbyF":{"name":"hasOptedOutTracking()","abstract":"

    Returns if the current user has opted out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/s:8MixpanelAAC10initialize5token20trackAutomaticEvents13flushInterval12instanceName23optOutTrackingByDefault19useUniqueDistinctId15superProperties9serverURLAA0A8InstanceCSS_SbSdSSSgS2bSDySSAA0A4Type_pGSgANtFZ":{"name":"initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token (MAC OS ONLY).

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC11getInstance4nameAA0aC0CSgSS_tFZ":{"name":"getInstance(name:)","abstract":"

    Gets the mixpanel instance with the given name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC12mainInstanceAA0aC0CyFZ":{"name":"mainInstance()","abstract":"

    Returns the main instance that was initialized.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC15setMainInstance4nameySS_tFZ":{"name":"setMainInstance(name:)","abstract":"

    Sets the main instance based on the instance name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/s:8MixpanelAAC14removeInstance4nameySS_tFZ":{"name":"removeInstance(name:)","abstract":"

    Removes an unneeded Mixpanel instance based on its name

    ","parent_name":"Mixpanel"},"Classes/Group.html#/s:8Mixpanel5GroupC3set10propertiesySDySSAA0A4Type_pG_tF":{"name":"set(properties:)","abstract":"

    Sets properties on this group.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC3set8property2toySS_AA0A4Type_ptF":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC7setOnce10propertiesySDySSAA0A4Type_pG_tF":{"name":"setOnce(properties:)","abstract":"

    Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5unset8propertyySS_tF":{"name":"unset(property:)","abstract":"

    Remove a property and its value from a group’s profile in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC6remove3key5valueySS_AA0A4Type_ptF":{"name":"remove(key:value:)","abstract":"

    Removes list properties.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC5union3key6valuesySS_SayAA0A4Type_pGtF":{"name":"union(key:values:)","abstract":"

    Union list properties.

    ","parent_name":"Group"},"Classes/Group.html#/s:8Mixpanel5GroupC06deleteB0yyF":{"name":"deleteGroup()","abstract":"

    Delete group’s record from Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"

    Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"

    The primary class for integrating Mixpanel with your app.

    "},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"

    The class that represents the Mixpanel Instance

    "},"Classes/People.html":{"name":"People","abstract":"

    Access to the Mixpanel People API, available as an accessible variable from"},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/Properties":{"name":"Properties"},"Protocols/MixpanelType.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"MixpanelType"},"Protocols/MixpanelType.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"MixpanelType"},"Protocols/MixpanelDelegate.html#/mixpanelWillFlush(_:)":{"name":"mixpanelWillFlush(_:)","abstract":"

    Asks the delegate if data should be uploaded to the server.

    ","parent_name":"MixpanelDelegate"},"Protocols/MixpanelDelegate.html":{"name":"MixpanelDelegate","abstract":"

    Delegate protocol for controlling the Mixpanel API’s network behavior.

    "},"Protocols/MixpanelType.html":{"name":"MixpanelType","abstract":"

    Property keys must be String objects and the supported value types need to conform to MixpanelType."},"Extensions/Dictionary.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Dictionary"},"Extensions/Dictionary.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Dictionary"},"Extensions/NSArray.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"NSArray"},"Extensions/NSArray.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSArray"},"Extensions/Array.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Array"},"Extensions/Array.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Array"},"Extensions/NSNull.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNull"},"Extensions/NSNull.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSNull"},"Extensions/URL.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"URL"},"Extensions/URL.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"URL"},"Extensions/Date.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Date"},"Extensions/Date.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Date"},"Extensions/Bool.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Bool"},"Extensions/Bool.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Bool"},"Extensions/Float.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Float"},"Extensions/Float.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Float"},"Extensions/Double.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Double"},"Extensions/Double.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Double"},"Extensions/UInt.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"UInt"},"Extensions/UInt.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"UInt"},"Extensions/Int.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"Int"},"Extensions/Int.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Int"},"Extensions/NSNumber.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSNumber"},"Extensions/NSNumber.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSNumber"},"Extensions/NSString.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"NSString"},"Extensions/NSString.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"NSString"},"Extensions/String.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.","parent_name":"String"},"Extensions/String.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"String"},"Extensions/Optional.html#/isValidNestedTypeAndValue()":{"name":"isValidNestedTypeAndValue()","abstract":"

    Checks if this object has nested object types that Mixpanel supports.

    ","parent_name":"Optional"},"Extensions/Optional.html#/equals(rhs:)":{"name":"equals(rhs:)","parent_name":"Optional"},"Extensions/Optional.html":{"name":"Optional"},"Extensions/String.html":{"name":"String"},"Extensions/NSString.html":{"name":"NSString"},"Extensions/NSNumber.html":{"name":"NSNumber"},"Extensions/Int.html":{"name":"Int"},"Extensions/UInt.html":{"name":"UInt"},"Extensions/Double.html":{"name":"Double"},"Extensions/Float.html":{"name":"Float"},"Extensions/Bool.html":{"name":"Bool"},"Extensions/Date.html":{"name":"Date"},"Extensions/URL.html":{"name":"URL"},"Extensions/NSNull.html":{"name":"NSNull"},"Extensions/Array.html":{"name":"Array"},"Extensions/NSArray.html":{"name":"NSArray"},"Extensions/Dictionary.html":{"name":"Dictionary"},"Classes/People.html#/ignoreTime":{"name":"ignoreTime","abstract":"

    controls the $ignore_time property in any subsequent MixpanelPeople operation.","parent_name":"People"},"Classes/People.html#/set(properties:)":{"name":"set(properties:)","abstract":"

    Set properties on the current user in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/set(property:to:)":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel People.

    ","parent_name":"People"},"Classes/People.html#/setOnce(properties:)":{"name":"setOnce(properties:)","abstract":"

    Set properties on the current user in Mixpanel People, but doesn’t overwrite if","parent_name":"People"},"Classes/People.html#/unset(properties:)":{"name":"unset(properties:)","abstract":"

    Remove a list of properties and their values from the current user’s profile","parent_name":"People"},"Classes/People.html#/increment(properties:)":{"name":"increment(properties:)","abstract":"

    Increment the given numeric properties by the given values.

    ","parent_name":"People"},"Classes/People.html#/increment(property:by:)":{"name":"increment(property:by:)","abstract":"

    Convenience method for incrementing a single numeric property by the specified","parent_name":"People"},"Classes/People.html#/append(properties:)":{"name":"append(properties:)","abstract":"

    Append values to list properties.

    ","parent_name":"People"},"Classes/People.html#/remove(properties:)":{"name":"remove(properties:)","abstract":"

    Removes list properties.

    ","parent_name":"People"},"Classes/People.html#/union(properties:)":{"name":"union(properties:)","abstract":"

    Union list properties.

    ","parent_name":"People"},"Classes/People.html#/trackCharge(amount:properties:)":{"name":"trackCharge(amount:properties:)","abstract":"

    Track money spent by the current user for revenue analytics and associate","parent_name":"People"},"Classes/People.html#/clearCharges()":{"name":"clearCharges()","abstract":"

    Delete current user’s revenue history.

    ","parent_name":"People"},"Classes/People.html#/deleteUser()":{"name":"deleteUser()","abstract":"

    Delete current user’s record from Mixpanel People.

    ","parent_name":"People"},"Classes/MixpanelInstance.html#/apiToken":{"name":"apiToken","abstract":"

    apiToken string that identifies the project to track data to

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/delegate":{"name":"delegate","abstract":"

    The a MixpanelDelegate object that gives control over Mixpanel network activity.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/distinctId":{"name":"distinctId","abstract":"

    distinctId string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/anonymousId":{"name":"anonymousId","abstract":"

    anonymousId string that uniquely identifies the device.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/userId":{"name":"userId","abstract":"

    userId string that identify is called with.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/hadPersistedDistinctId":{"name":"hadPersistedDistinctId","abstract":"

    hadPersistedDistinctId is a boolean value which specifies that the stored distinct_id","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/alias":{"name":"alias","abstract":"

    alias string that uniquely identifies the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/people":{"name":"people","abstract":"

    Accessor to the Mixpanel People API object.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/showNetworkActivityIndicator":{"name":"showNetworkActivityIndicator","abstract":"

    Controls whether to show spinning network activity indicator when flushing","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/trackAutomaticEventsEnabled":{"name":"trackAutomaticEventsEnabled","abstract":"

    This allows enabling or disabling collecting common mobile events,

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flushInterval":{"name":"flushInterval","abstract":"

    Flush timer’s interval.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flushOnBackground":{"name":"flushOnBackground","abstract":"

    Control whether the library should flush data to Mixpanel when the app","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/useIPAddressForGeoLocation":{"name":"useIPAddressForGeoLocation","abstract":"

    Controls whether to automatically send the client IP Address as part of","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/serverURL":{"name":"serverURL","abstract":"

    The base URL used for Mixpanel API requests.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/debugDescription":{"name":"debugDescription","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/loggingEnabled":{"name":"loggingEnabled","abstract":"

    This allows enabling or disabling of all Mixpanel logs at run time.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/name":{"name":"name","abstract":"

    A unique identifier for this MixpanelInstance

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/minimumSessionDuration":{"name":"minimumSessionDuration","abstract":"

    The minimum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/maximumSessionDuration":{"name":"maximumSessionDuration","abstract":"

    The maximum session duration (ms) that is tracked in automatic events.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/identify(distinctId:usePeople:completion:)":{"name":"identify(distinctId:usePeople:completion:)","abstract":"

    Sets the distinct ID of the current user.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/createAlias(_:distinctId:usePeople:andIdentify:completion:)":{"name":"createAlias(_:distinctId:usePeople:andIdentify:completion:)","abstract":"

    The alias method creates an alias which Mixpanel will use to remap one id to another.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/reset(completion:)":{"name":"reset(completion:)","abstract":"

    Clears all stored properties including the distinct Id.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/archive()":{"name":"archive()","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/flush(performFullFlush:completion:)":{"name":"flush(performFullFlush:completion:)","abstract":"

    Uploads queued data to the Mixpanel server.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/track(event:properties:)":{"name":"track(event:properties:)","abstract":"

    Tracks an event with properties.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/trackWithGroups(event:properties:groups:)":{"name":"trackWithGroups(event:properties:groups:)","abstract":"

    Tracks an event with properties and to specific groups.","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/getGroup(groupKey:groupID:)":{"name":"getGroup(groupKey:groupID:)","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/time(event:)":{"name":"time(event:)","abstract":"

    Starts a timer that will be stopped and added as a property when a","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/eventElapsedTime(event:)":{"name":"eventElapsedTime(event:)","abstract":"

    Retrieves the time elapsed for the named event since time(event:) was called.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearTimedEvents()":{"name":"clearTimedEvents()","abstract":"

    Clears all current event timers.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearTimedEvent(event:)":{"name":"clearTimedEvent(event:)","abstract":"

    Clears the event timer for the named event.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/currentSuperProperties()":{"name":"currentSuperProperties()","abstract":"

    Returns the currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/clearSuperProperties()":{"name":"clearSuperProperties()","abstract":"

    Clears all currently set super properties.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/registerSuperProperties(_:)":{"name":"registerSuperProperties(_:)","abstract":"

    Registers super properties, overwriting ones that have already been set.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/registerSuperPropertiesOnce(_:defaultValue:)":{"name":"registerSuperPropertiesOnce(_:defaultValue:)","abstract":"

    Registers super properties without overwriting ones that have already been set,","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/unregisterSuperProperty(_:)":{"name":"unregisterSuperProperty(_:)","abstract":"

    Removes a previously registered super property.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/setGroup(groupKey:groupID:)":{"name":"setGroup(groupKey:groupID:)","abstract":"

    Convenience method to set a single group the user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/setGroup(groupKey:groupIDs:)":{"name":"setGroup(groupKey:groupIDs:)","abstract":"

    Set the groups this user belongs to.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/addGroup(groupKey:groupID:)":{"name":"addGroup(groupKey:groupID:)","abstract":"

    Add a group to this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/removeGroup(groupKey:groupID:)":{"name":"removeGroup(groupKey:groupID:)","abstract":"

    Remove a group from this user’s membership for a particular group key

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/optOutTracking()":{"name":"optOutTracking()","abstract":"

    Opt out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/optInTracking(distinctId:properties:)":{"name":"optInTracking(distinctId:properties:)","abstract":"

    Opt in tracking.

    ","parent_name":"MixpanelInstance"},"Classes/MixpanelInstance.html#/hasOptedOutTracking()":{"name":"hasOptedOutTracking()","abstract":"

    Returns if the current user has opted out tracking.

    ","parent_name":"MixpanelInstance"},"Classes/Mixpanel.html#/initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:trackAutomaticEvents:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)":{"name":"initialize(token:flushInterval:instanceName:optOutTrackingByDefault:useUniqueDistinctId:superProperties:serverURL:)","abstract":"

    Initializes an instance of the API with the given project token (MAC OS ONLY).

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/getInstance(name:)":{"name":"getInstance(name:)","abstract":"

    Gets the mixpanel instance with the given name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/mainInstance()":{"name":"mainInstance()","abstract":"

    Returns the main instance that was initialized.

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/setMainInstance(name:)":{"name":"setMainInstance(name:)","abstract":"

    Sets the main instance based on the instance name

    ","parent_name":"Mixpanel"},"Classes/Mixpanel.html#/removeInstance(name:)":{"name":"removeInstance(name:)","abstract":"

    Removes an unneeded Mixpanel instance based on its name

    ","parent_name":"Mixpanel"},"Classes/Group.html#/set(properties:)":{"name":"set(properties:)","abstract":"

    Sets properties on this group.

    ","parent_name":"Group"},"Classes/Group.html#/set(property:to:)":{"name":"set(property:to:)","abstract":"

    Convenience method for setting a single property in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/setOnce(properties:)":{"name":"setOnce(properties:)","abstract":"

    Sets properties on the current Mixpanel Group, but doesn’t overwrite if","parent_name":"Group"},"Classes/Group.html#/unset(property:)":{"name":"unset(property:)","abstract":"

    Remove a property and its value from a group’s profile in Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html#/remove(key:value:)":{"name":"remove(key:value:)","abstract":"

    Removes list properties.

    ","parent_name":"Group"},"Classes/Group.html#/union(key:values:)":{"name":"union(key:values:)","abstract":"

    Union list properties.

    ","parent_name":"Group"},"Classes/Group.html#/deleteGroup()":{"name":"deleteGroup()","abstract":"

    Delete group’s record from Mixpanel Groups.

    ","parent_name":"Group"},"Classes/Group.html":{"name":"Group","abstract":"

    Access to the Mixpanel Groups API, available through the getGroup function from"},"Classes/Mixpanel.html":{"name":"Mixpanel","abstract":"

    The primary class for integrating Mixpanel with your app.

    "},"Classes/MixpanelInstance.html":{"name":"MixpanelInstance","abstract":"

    The class that represents the Mixpanel Instance

    "},"Classes/People.html":{"name":"People","abstract":"

    Access to the Mixpanel People API, available as an accessible variable from"},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 79ef330c7..f6c7d87ec 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -1,145 +1,6 @@ { "warnings": [ - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 38, - "symbol": "Properties", - "symbol_kind": "source.lang.swift.decl.typealias", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 175, - "symbol": "MixpanelInstance.minimumSessionDuration", - "symbol_kind": "source.lang.swift.decl.var.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 830, - "symbol": "MixpanelInstance.archive()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelInstance.swift", - "line": 1082, - "symbol": "MixpanelInstance.getGroup(groupKey:groupID:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 20, - "symbol": "MixpanelType.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 38, - "symbol": "Optional.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 72, - "symbol": "String.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 87, - "symbol": "NSString.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 104, - "symbol": "NSNumber.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 119, - "symbol": "Int.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 134, - "symbol": "UInt.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 150, - "symbol": "Double.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 166, - "symbol": "Float.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 180, - "symbol": "Bool.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 195, - "symbol": "Date.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 210, - "symbol": "URL.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 225, - "symbol": "NSNull.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 246, - "symbol": "Array.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 283, - "symbol": "NSArray.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - }, - { - "file": "/Users/jaredmcfarland/Developer/mixpanel-swift/Sources/MixpanelType.swift", - "line": 320, - "symbol": "Dictionary.equals(rhs:)", - "symbol_kind": "source.lang.swift.decl.function.method.instance", - "warning": "undocumented" - } + ], - "source_directory": "/Users/jaredmcfarland/Developer/mixpanel-swift" + "source_directory": "/Users/zihejia/Documents/Projects/Develop/mixpanel-swift" } \ No newline at end of file