uniapp ios app以framwork形式接入sentry
一、下载Sentry
- mac终端输入:
vim Podfile
- 修改Podfile:
platform :ios, '11.0'
target 'YourApp' do
use_frameworks! # This is important
pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.40.1'
end
- 执行:
pod install
下载sentry依赖
二、配置sentry
- 把开发教程的东西配置完:https://nativesupport.dcloud.net.cn/NativePlugin/course/ios.html
- 新建SentryModule.h文件,内容如下:
#import <Foundation/Foundation.h>
// 引入 DCUniModule.h 头文件
#import "DCUniModule.h"
@interface SentryModule: DCUniModule
@end
- 新建SentryModule.m文件,内容如下:
#import "SentryModule.h"
#import <Sentry/Sentry.h>
@implementation SentryModule
UNI_EXPORT_METHOD_SYNC(@selector(init:))
- (void)init:(NSDictionary *)appOpt
{
[SentrySDK startWithConfigureOptions:^(SentryOptions *options) {
options.dsn = appOpt[@"dsn"];
options.debug = YES; // Enabled debug when first installing is always helpful
// Enable tracing to capture 100% of transactions for tracing.
// Use 'options.tracesSampleRate' to set the sampling rate.
// 想要什么配置自己加
}];
}
- 使用插件参考:https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios.html
ps: 其他报错
报错’Sentry/Sentry.h’ file not found 解决方法:
- pod install 会生成一个 .xcworkspace 文件,如果没有就是安装失败了;
- 在 Xcode 中打开项目时,应该打开这个 .xcworkspace 文件,而不是原始的 .xcodeproj 文件。否则,Xcode 将无法找到通过 CocoaPods 安装的依赖框架,包括 Sentry。
打包时报错 No type named “terminate_handler" in namespace ‘std’ 总结解决方法:参考此贴
- 升级xcode到
16.0
或以上 - sentry安装
8.32.0
以上,我安装的是8.40.1