将 Newrelic 与 Nativescript 集成(仅限 ios)

Integrate Newrelic with Nativescript (ios only)

我正在尝试将 NewRelic 集成到我的 Nativescript(6.5) 应用程序中(使用 Angular), Android 部分非常简单,我卡在了 ios 部分, 教程的一部分(我做的 pod 部分): 创建桥接头:

  1. In your [app_name]-Bridging-Header.h , add the New Relic header: import "NewRelicAgent/NewRelic.h"
  2. In your AppDelegate.swift file add this call as the first line of application:didFinishLaunchingWithOptions:

代理必须在 didFinishLaunchingWithOptions 的第一行并且 运行 在主线程上以确保正确的检测。稍后在后台线程上或异步启动调用可能会导致意外或不稳定的行为。

NewRelic.start(withApplicationToken:"XXXX-NRMA")

自动上传您的dSYM 在XCode、select您的项目导航器中,然后单击应用程序目标。 Select 构建阶段,然后添加一个新的 运行 脚本构建阶段 在脚本文本区域(Shell 行下方)输入此脚本:

SCRIPT=/usr/bin/find "${SRCROOT}" -name newrelic_postbuild.sh | head -n 1
/bin/sh "${SCRIPT}" "XXXX-NRMA"

我没有使用 xcode 来开发这个应用程序, 所以我不明白我需要把 [app_name]-Bridging-Header.h 部分放在哪里 也不会自动上传您的 dSYM

任何帮助将不胜感激, 谢谢

让它在 ios 中工作需要一些工作。我实际上接触过新遗物,几天或几周后他们找到了解决方案。这是我们从联系人那里收到的电子邮件。希望这有帮助。

• 首先,我遵循了此 GitHub 存储库中的说明:https://github.com/NativeScript/nativescript-plugin-seed

• 初始化插件… git 克隆 https://github.com/NativeScript/nativescript-plugin-seed nativescript-newrelicagent

cd nativescript-newrelicagent/src

npm 运行 后克隆

一些提示的答案:

提示:您的插件名称是什么?仅使用小写字符和破折号。示例: yourplugin / google-maps / bluetooth: newrelicagent

提示:是否要包含一个“TypeScript NativeScript”应用程序link与您的插件一起使用以使开发更容易 (y/n)?: (y) y

提示:是否要包含一个“Angular NativeScript”应用程序link与您的插件一起使用以使开发更容易 (y/n)?: (n) y

npm 运行 demo.ios

Add/configure 新遗迹 iOS 移动特工…

cd nativescript-newrelicagent/src/平台/ios

编辑 build.xcconfig 文件并将内容设置为:

OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "SystemConfiguration" -l "c++" -l "z"

从以下位置下载最新的 iOS 代理:https://download.newrelic.com/ios_agent/

解压内容

复制NewRelicAgent.framerwork到nativescript-newrelicagent/src/platforms/io文件夹

在 NewRelicAgent.framework(打开文件夹,或显示包内容)中,执行以下操作:

使用 Xcode,创建一个 Info.plist 并将内容设置为: New Relic Plist

创建一个 Modules 文件夹,并在该文件夹中:

创建一个名为 module.modulemap 的文件并将其内容设置为:

框架模块NewRelicAgent { 伞头“NewRelic.h” 出口 * 模块 * { 导出 * } link“C++” link“z” link 框架“CoreTelephony” link 框架“系统配置” }

为 iOS 生成类型:

cd nativescript-recreate-newrelicagent/demo-angular

TNS_TYPESCRIPT_DECLARATIONS_PATH="$(pwd)/typings" tns 构建 ios

在 nativescript-newrelicagent/src/platforms/ios

中创建一个名为 typings 的文件夹

复制文件objc!NewRelicAgent.d.ts 来自:nativescript-recreate-newrelicagent/demo-angular/打字 至:nativescript-newrelicagent/src/platforms/ios/typings

现在可以通过以下 tns 命令将插件添加到应用程序中:

tns 添加插件

New Relic的移动应用token需要添加到应用的启动事件中,方法如下:Bootstrap Setup