将 Newrelic 与 Nativescript 集成(仅限 ios)
Integrate Newrelic with Nativescript (ios only)
我正在尝试将 NewRelic 集成到我的 Nativescript(6.5) 应用程序中(使用 Angular),
Android 部分非常简单,我卡在了 ios 部分,
教程的一部分(我做的 pod 部分):
创建桥接头:
- In your [app_name]-Bridging-Header.h , add the New Relic header: import "NewRelicAgent/NewRelic.h"
- 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
我正在尝试将 NewRelic 集成到我的 Nativescript(6.5) 应用程序中(使用 Angular), Android 部分非常简单,我卡在了 ios 部分, 教程的一部分(我做的 pod 部分): 创建桥接头:
- In your [app_name]-Bridging-Header.h , add the New Relic header: import "NewRelicAgent/NewRelic.h"
- 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