SSL certificate pinning in iOS applications

In this day and age more and more user data is stored electronically. Users are expecting end-to-end security from every application they are installing on their devices. Application developers too, are seeking to secure all communications between their apps and backends in order to prevents hackers from reverse engineering their protocols and getting access to their databases.

The most basic form of security when transferring data between the application and the service backend is SSL/TLS encryption, and it is very common for developers today to switch their traffic to https and declare their communications as secure. In fact mobile platforms today make it really hard for developers not to use https. That by itself, however, is not enough. Encryption is useless when communicating parties can not validate the identity of their piers.

Read more

Listening to scroll events on Android views

While the need to listen to scroll events of arbitrary views in Android has always existed, no such mechanisms were provided by Google until Android API level 23. That is when View.OnScrollChangeListener made its appearance. Until then, some views (e.g ListView) had custom mechanisms to listen to scroll events, but there was no common way. We, at Bugsee, have faced this problem while working on automatic concealment of protected web page elements (see Bugsee Privacy). We had to know when elements change their position, and no such mechanism exists for WebView for earlier Android versions.

Read more

The advanced guide for using breakpoints in XCode

Debugging is an important process to understand the unexpected behaviour of your application. For this reason, we must know well how to use the breakpoints to reduce the time needed to fix the bugs. Sometimes, a simple breakpoint is not enough.

In this article, I’ll explain the main advanced options and generic breakpoints available in Xcode—version 8.3.2 at the time of writing.

Read more

Secure uploading of files from an iOS or Android app to S3

Most of the mobile applications these days require some form of a backend. Usually it is used for something trivial, like maintaining user profiles, settings and scores etc. However, most often than not, the application needs to upload some files to your server. The following tutorial will show how to do it securely and efficiently using AWS S3. Why spawn powerful servers that can handle huge amounts of traffic when all they do is get the files and store them on S3 anyway? Files can be uploaded to S3 directly, and S3 infrastructure can scale with our application and adjust to the amounts of traffic required. All we need to do is implement a simple lightweight API endpoint that will instruct the client where to upload the heavy things and let S3 do the heavy lifting.

Read more

iOS Crash Symbolication for dummies Part 2

In the previous post, we’ve learned what is symbolication process and why it is needed. In this post we will dive deeper and learn how to make sure a dSYM file is generated and see how we can manually use it to symbolicate crash reports.

How do I make sure dSYM is actually being generated?

XCode has several settings that may affect dSYM generation, let’s review them one by one.

First of all, let’s make sure that debug information is being generated:

Read more

iOS Crash Symbolication for dummies Part 1

Many developers use Bugsee for its great crash reporting capabilities. In fact, Bugsee crash reporting has recently been ranked the highest among all iOS crash reporting services when it comes to accuracy and the amount of details in the report. Bugsee doesn’t stop there, however, it also presents video of user actions, console logs and network traffic that preceded the crash.

In the following series of posts we are actually going to focus on the crash log itself, explain the magic behind it and show how to properly set it up.

Read more

Bugsee is on Product Hunt Today

I’m thrilled to announce that Bugsee is on Product Hunt today. Can’t wait for the Product Hunt community’s feedback and thoughts.

Why Today?

Last year we won the #1 crash reporter award by CrashProbe — the ultimate benchmark for mobile crash reporters. And that’s before our video, network and logs leading up to the crashes. And therefore, we’ve decided — it’s time!

Read more

Best iOS crash reporting tool. Yes, we are!

Bugsee can officially be called The Best Crash Reporting tool for iOS. Bugsee marks higher than the competition in Crashprobe, the ultimate crash reporter benchmark.

Crashprobe benchmark was developed and is maintained by HockeyApp (now owned by Microsoft), it is open source and available on Github. The test suite consists of 44 tests (22 different crash types that have to be tested both on armv7 and arm64 platforms). The results of each test are judged by completeness and accuracy of the produced report. Crashprobe also has a straightforward submission process for other reporters to submit their results. That we did. And after a quick validation of our results by the Crashprobe team, we made it to the first place!

Read more

How we settled on Bugsee paid plans

We’ve achieved an important milestone last month — Bugsee joined the One Comma Club, as more than 1,000 companies had signed up for Bugsee since our start just this April. Coincidentally, we believe we’re ready to graduate from a free product to a paid service.

When we’ve started, our goal was always to make the service as frictionless as possible. It manifests itself in the vast feature set Bugsee delivers to our customers by adding just one line of code. You don’t need to think ahead of time what info you might need when you debug the next bug or crash.

Read more

What happened after Bugsee sponsored Core Intuition Podcast

Back a few months ago, we’ve sponsored a couple of Core Intuition podcasts to both support the fine work Manton Reece and Daniel Jalkut do for the developer community and to get the Bugsee word out.

Since we’re new to the sponsorship game, we didn’t really know what to expect.

At first, both Manton and Daniel signed up to Bugsee to try out the product before the first sponsorship aired. So we got two super cool customers right on the spot (that was before we announced our pricing, so both of them got special early adopter deals).

Then the episode aired with a super positive conversational narrative about our service. This is unique, as most other sponsorships will just read your message as is, which usually doesn’t sound as nearly as appealing as what Manton and Daniel do.

Read more