iOS接入Bugly

最近接手一个项目,测试没有问题,但是到了线上,就出现了闪退等一系列问题,原来的代码中并没有任何线上日志上报,于是带着Android开发的经验,决定为项目接入Bugly。

接入Bugly

首先,打开终端:

cd 项目文件夹

vim podfile

点击i进入可以编辑状态

在工程的Podfile里面添加以下代码:pod  'Bugly'

点击esc : wq 退出编辑。

pod install 

然后用后缀为.xcworkspace的文件打开工程。

导入头文件

在工程的AppDelegate.m文件导入头文件

#import <Bugly/Bugly.h>

如果是Swift工程,请在对应bridging-header.h中导入

初始化Bugly

在工程AppDelegate.mapplication:didFinishLaunchingWithOptions:方法中初始化:

  • Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Bugly startWithAppId:@"此处替换为你的AppId"];
    return YES;
}

如何得到AppId?

百度搜索Bugly,点击进入,然后新建产品:

填写对应信息:

 

 然后在我的产品列表里面就能找到创建的项目,后面操作下有个设置,点击即可看到AppId。

测试Bugly 

我们可以在主页面里加入这样一段代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    
    ······
    
    NSArray *firstNames = @[@"Roy", @"Mike", @"Jordan"];
    NSString *name = firstNames[3];
}

很明显app运行后会崩溃,这就是我们想要的测试效果!

我们在崩溃分析,异常上报里面就能看到效果!

<think>我们正在处理一个Unity项目在iOS平台上接入BuglySDK的问题。根据提供的引用内容,我们可以总结出以下步骤和注意事项。请注意,我们将按照系统指令要求,使用正确的LaTeX格式,并在回答中自然地添加引用标识。###步骤1:获取BuglyiOSSDK首先,你需要从Bugly平台注册并创建应用,获取iOS产品的AppID。同时,下载最新的BuglyUnityPlugin(通常Bugly.framework等文件)[^5]。###步骤2:将BuglySDK导入Unity项目1.将下载的BuglyUnityPlugin解压,将其中的`Plugins`文件夹(iOS子文件夹)复制到你的Unity项目的`Assets`目录下。2.在`Assets/Plugins/iOS`目录下,确保含以下文件:-`Bugly.framework`(从BuglyUnityPlugin中获取)-`BuglyBridge.h`-`libBuglyBridge.a`[^2]###步骤3:在Unity中配置AppID在Unity项目中,创建一个C#脚本(例如`BuglyInit.cs`)用于初始化Bugly。在该脚本中,设置你在Bugly平台申请的AppID。示例代码如下:```csharpusingUnityEngine;usingBugly;publicclassBuglyInit:MonoBehaviour{voidStart(){//配置BuglyAppID(iOS平台)BuglyAgent.ConfigDebugMode(true);//开启调试模式,发布时关闭BuglyAgent.InitWithAppId("你的iOSAppID");//开启异常捕获BuglyAgent.EnableExceptionHandler();}}```将上述脚本挂载到一个在游戏启动时就会存在的GameObject上(如主摄像机或一个空对象)[^1][^5]。###步骤4:导出Xcode工程1.在Unity中,选择`File->BuildSettings`,切换到iOS平台,然后点击`Build`导出Xcode工程。2.打开导出的Xcode工程。###步骤5:配置Xcode工程根据引用内容,需要配置以下内容:1.**添加依赖库**:在Xcode中,点击项目Target->`General`->`Frameworks,Libraries,andEmbeddedContent`,添加以下系统库(如果尚未添加):-`libz.dylib`(或`libz.tbd`,根据Xcode版本)-`libc++.dylib`(或`libc++.tbd`)-`Security.framework`-`SystemConfiguration.framework`-`JavaScriptCore.framework`(设置为Optional)[^3]2.**设置Framework搜索路径**:如果Xcode编译时出现`frameworknotfoundBugly.framework`错误,需要设置Framework搜索路径:-在Xcode中,选择项目Target->`BuildSettings`->`SearchPaths`->`FrameworkSearchPaths`-添加Bugly.framework所在的路径,例如:`$(PROJECT_DIR)/Frameworks`(具体路径根据你的项目结构而定,确保路径指向Bugly.framework的目录)[^2]###步骤6:构建并运行完成上述配置后,构建Xcode工程并运行到设备或模拟器上进行测试。你可以在Bugly平台上查看错误报告和崩溃日志[^1][^5]。###注意事项-在测试阶段,可以在初始化Bugly时开启调试模式(`BuglyAgent.ConfigDebugMode(true)`),以便在控制台查看Bugly的日志,确认SDK是否正常工作。发布时请关闭调试模式。-确保在Xcode中正确配置了系统库和搜索路径,否则可能导致编译失败[^2][^3]。§§相关问题§§1.如何验证BuglySDK在UnityiOS项目中已成功接入并正常工作?2.在UnityiOS项目中接入BuglySDK时,如何处理常见的编译错误(如`ld:frameworknotfoundBugly.framework`)?3.除了错误报告和崩溃日志,BuglySDK还能提供哪些功能?</think>### Unity iOS 接入 Bugly SDK 教程及配置方法 #### 一、前期准备 1. **获取AppID** 在[腾讯Bugly平台](https://bugly.qq.com/v2/)创建应用,获取iOS产品的`AppID`[^1]。 2. **下载SDK** 下载最新版[Unity版Bugly SDK](https://bugly.qq.com/v2/downloads),解压后得到: - `Bugly.framework`(核心库) - `BuglyBridge.h`(桥接文件) - `libBuglyBridge.a`(静态库) #### 二、Unity工程配置 1. **导入SDK文件** 在Unity项目中创建路径: ```plaintext Assets/Plugins/iOS/ ``` 将以下文件放入该目录: - `Bugly.framework` - `BuglyBridge.h` - `libBuglyBridge.a`[^2] 2. **初始化脚本** 创建C#脚本`BuglyManager.cs`: ```csharp using UnityEngine; using Bugly; public class BuglyManager : MonoBehaviour { void Start() { // 替换为你的AppID BuglyAgent.InitWithAppId("YOUR_IOS_APPID"); // 开启异常捕获 BuglyAgent.EnableExceptionHandler(); } } ``` 挂载到初始场景的GameObject上。 #### 三、Xcode工程配置 1. **添加系统依赖库** 在Xcode中打开Unity导出的工程,在`Build Phases > Link Binary With Libraries`添加: - `libz.tbd`(数据压缩) - `libc++.tbd`(C++支持) - `Security.framework`(密钥存储) - `SystemConfiguration.framework`(系统信息获取)[^3] 2. **解决框架引用问题** 如果编译报错`framework not found Bugly`: - 在`Build Settings > Framework Search Paths`添加路径: `$(PROJECT_DIR)/Frameworks`[^2] 3. **关闭Bitcode** 在`Build Settings`中设置: - `Enable Bitcode = NO` #### 四、验证接入 1. **主动触发测试异常** 在代码中添加测试: ```csharp void TestBugly() { try { int[] arr = new int[1]; Debug.Log(arr[2]); // 越界异常 } catch (System.Exception e) { BuglyAgent.ReportException(e, "TestStack"); } } ``` 2. **查看报告** 运行应用后,在Bugly控制台的`崩溃分析`页面查看上报的异常信息[^5]。 #### 五、符号表配置(可选) 1. **上传dSYM文件** 使用Bugly提供的符号表工具解析Xcode生成的`dSYM`文件,上传至平台以便解析堆栈[^4]。 > **注意事项** > - 确保`Bugly.framework`的`Embed & Sign`设置为`Do Not Embed` > - 真机测试需关闭Xcode的`Debug executable`避免干扰崩溃捕获 > - 发布版本需关闭Unity的脚本调试模式
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是宇哥啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值