设置代理编辑

要求编辑

此项目需要 Swift 5.7,并且适用于基于 Swift 的移动应用。

其他平台要求

平台 版本

iOS

11

macOS

10.13

tvOS

v11

watchOS

3

添加代理依赖项编辑

将 Elastic APM iOS 代理添加到您的 Xcode 项目或 Package.swift

以下是将 包依赖项 添加到标准 Xcode 项目的说明。

有关将依赖项添加到 Package.swift 的详细信息,请参阅 添加对另一个 Swift 包的依赖项。下面是一个有用的代码片段

package.swift:

Package(
    dependencies:[
         .package(name: "apm-agent-ios", url: "https://github.com/elastic/apm-agent-ios.git", from: "1.0.0"),
    ],
  targets:[
    .target(
        name: "MyApp",
        dependencies: [
            .product(name: "ElasticApm", package: "apm-agent-ios")
        ]
    ),
])

初始化代理编辑

将代理添加为依赖项后,必须对其进行初始化。

如果您使用 SwiftUI 构建应用程序,请将以下内容添加到您的 App.swift

import SwiftUI
import ElasticApm

class AppDelegate : NSObject, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        var config = AgentConfigBuilder()
            .withServerUrl(URL(string:"http://127.0.0.1:8200")) 
            .withSecretToken("<SecretToken>") 
            .build()

        ElasticApmAgent.start(with: config)
        return true
    }
}

@main
struct MyApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    init() {
    }
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

APM 服务器 URL

设置 APM 服务器连接的密钥

如果您没有使用 SwiftUI,则可以将相同的内容添加到您的 AppDelegate 文件中

AppDelegate.swift

import UIKit
import ElasticApm
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
var config = AgentConfigBuilder()
                       .withServerUrl(URL(string:"http://127.0.0.1:8200")) 
                       .withSecretToken("<SecretToken>") 
                       .build()
        ElasticApmAgent.start(with: config)
        return true
    }
}

APM 服务器 URL

设置 APM 服务器连接的密钥