GithubHelp home page GithubHelp logo

rollbar / rollbar-apple Goto Github PK

View Code? Open in Web Editor NEW
26.0 26.0 12.0 215.21 MB

Objective-C & Swift library for remote crash, exception, error reporting, and logging with Rollbar. It works on all Apple *OS platforms (macOS, iOS, tvOS, watchOS, etc).

Home Page: https://docs.rollbar.com/docs/apple

License: MIT License

Swift 10.15% Ruby 0.72% Objective-C 49.92% Python 0.09% Shell 0.06% C 38.60% C++ 0.48%
rollbar remote monitoring crash exception error logging apple error-handling error-monitoring

rollbar-apple's Introduction

rollbar-logo

Rollbar Apple MonoRepo

Proactively discover, predict, and resolve errors in real-time with Rollbar’s error monitoring platform. Start tracking errors today!


Objective-C & Swift SDK for remote crash, exception, error reporting, and logging with Rollbar.

It works on all Apple *OS platforms (macOS, iOS, tvOS, watchOS, etc).

NOTE: This SDK is essentially a reincarnation of our Rollbar-iOS SDK that will be available for awhile in its current v1 version and will only maintained with fixes to bug or security issues if any. All the active development will be done within this SDK repository.

Key benefits of using Rollbar for Apple software platforms are:

The Apple SDK is GA. Learn more: https://docs.rollbar.com/docs/apple

Codebase status (code quality and CI build)

CI Build Status

CI Build with Unit Tests

Security Rating Reliability Rating Maintainability Rating Vulnerabilities Coverage Lines of Code Bugs

Package Distribution Systems Status

GitHub all releases downloads total

SwiftPM compatible Carthage compatible CocoaPods compatible

Platform Platform Platform Platform Platform

CocoaPods CocoaPods CocoaPods CocoaPods CocoaPods

Setup Instructions

  1. Sign up for a Rollbar account
  2. Follow the Installation instructions in our Rollbar-Apple SDK docs to install the SDK modules.

Usage and Reference

For complete usage instructions and configuration reference, see our Rollbar-Apple SDK docs.

Release History & Changelog

See our Releases page for a list of all releases, including changes.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Help / Support

rollbar-apple's People

Contributors

00fa9a avatar ajcantu avatar akornich avatar benwong0 avatar brianr avatar bxsx avatar chrisbarmonde avatar coryvirok avatar crisfole avatar ezarowny avatar janten avatar jontsai avatar kshep avatar lchenay avatar matux avatar mpurland avatar mrap avatar mrunalk avatar newyorkpizza avatar ninjz avatar nooges avatar paulserraino avatar rivkahstandig3636 avatar rokob avatar sbezboro avatar waltjones avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rollbar-apple's Issues

Excessive logging of »Processing saved items«

Describe the bug
After initializing the library I am getting a console log roughly every 0.5 seconds: »[Rollbar] Processing saved items: no queued items in the file!« which is kind of polluting my other logging.
I assume this is normal, even though I'm wondering why these checks are performed so often?
Setting config.developerOptions.suppressSdkInfoLogging allowed my to suppress this.

To Reproduce
Steps to reproduce the behavior:

  1. Initialize the SDK with access token
  2. Look into Xcode console

Expected behavior
I personally would expected that this kind of logging only occurs if explicitly being enabled.
If logging occurs by default it should be less obstrusive.

Screenshots
rollbar-logging

Rollbar-Apple SDK version: v2.0.0-beta8

Calling the SDK from (x-mark all suitable):
[] Objective-C
[X] Swift
[] Other:

Smartphone (please complete the following information):

  • Device: iPhone 12 Pro
  • OS: iOS 14.4.1

Xcode autocomplete for Swift expects person.id, but codebase expects person.ID

Describe the bug
Xcode autocomplete for Swift expects person.id, but codebase expects person.ID. This caused one of our devs to set the Person id with config.person.id =, but rollbar-apple will never send it. It checks for config.person.ID in buildRollbarPerson when preparing to send a message.

This means the .ID getters and setters are basically unusable in Swift. The other initializers and convenience methods still work, and internally set the correct value -- which I think is why this isn't caught in the tests. The docs only list a couple ways to set the Person properties, although I see in the codebase there are many ways to set the Person properties.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Xcode

  2. Install rollbar-apple as a dependency

  3. Create a RollbarConfig(), and attempt to autocomplete config.person.ID

  4. See autocomplete suggest the wrong property:
    image

  5. Fails to compile with error:

    'ID' has been renamed to 'id'

    image

Expected behavior
I expected .id to be the correct property, since that's what's listed as the data field key. I also expected the case to be consistent -- setting .ID externally to set .id internally was not obvious when debugging.

Screenshots
See above.

Rollbar-Apple SDK version: Tested with at least v2.0.0-alpha33 through 2.0.0-beta.23. (This mistake was made a while ago and we have had no Persons appear in Rollbar for iOS, while Android + backend have been working as expected.)

Calling the SDK from (x-mark all suitable):
[ ] Objective-C
[x] Swift
[ ] Other:

Runtime environment (please complete the following information as applicable):

  • Device: Several simulators and devices
  • OS: iOS
  • OS version: 14.x, 15.x

Additional context
The convenience method on the config object is not that convenient, since I can't set any of the fields to nil. However, creating and setting a Person using the Person initializers works well, e.g.:

config.person = RollbarPerson(id: id, email: email)

It would be great to see more details about initializing and setting a Person in the docs. Also, if for some reason the ID/id field is not set (or has been unset), but the email and/or username field is set, then the Person will be ignored. This should be documented as well.

Overall, thanks for a very useful service!!

No API to send a message and error at the same time

We currently use + (void)log:(RollbarLevel)level message:(NSString*)message exception:(NSException*)exception data:(NSDictionary*)data to send both a message and an exception to rollbar at the same time, but in the new API there doesn't seem to be an equivalent method.

Ideally, we'd like to be able to send a message along with a swift Error and optional data dictionary.

RollbarConfig re-created when creating RollbarLogger, instead of using user-provided options

Describe the bug
I want to quieten down the NSLogs that Rollbar-Apple is making. Currently it produces one log per second, every time the SDK checks the list of items to send.

So I tried providing some RollbarLoggingOptions with a maximumReportsPerMinute of 2 like so:

let config = RollbarConfig()
config.destination.environment = environment
config.destination.accessToken = "token hidden"
config.loggingOptions = RollbarLoggingOptions(logLevel: .info, crash: .error, maximumReportsPerMinute: 2)
Rollbar.initWithConfiguration(config)

This has not fixed the problem, because the SDK is not using these logging options. See here: https://github.com/rollbar/rollbar-apple/blob/master/RollbarNotifier/Sources/RollbarNotifier/RollbarLogger.m#L125

It is re-creating the logging options which has a maximumReportsPerMinute of 60.

To Reproduce
Steps to reproduce the behavior:

  1. Create a RollbarConfig with some custom RollbarLoggingOptions, with a maximumReportsPerMinute of 2
  2. Initialise Rollbar with this config.
  3. Launch the app

Expected behavior
NSLogs like this one should only appear once every 30 seconds:

[Rollbar] Checking items...
[Rollbar] Processing saved items: no queued items in the file!

Actual behaviour
The above NSLog appears once every second.

Rollbar-Apple SDK version: v.2.0.0-alpha26

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: Macbook Pro 13"
  • OS: macOS
  • OS version: Catalina 10.15.7

Smartphone (please complete the following information):

  • Device: iPhone 8 simulator
  • OS: iOS 14.2

RollbarAUL Tests Fail to Build for iOS

Describe the bug
The RollbarAUL package tests fail to build for other platforms than macOS.

This is due to two issues:

  1. The use of OSLogEntryLogLevel... in RollbarAulOSLogEntryLogLevelConverterTests.m
  2. The use of OSLogStore in RollbarAulTests.m

In both case these items are only available on macOS 10.15 and higher.

Currently the tests are guarded against compiling on watchOS. This can be change to run only on macOS 10.15+.

To Reproduce
Steps to reproduce the behavior:

  1. Open the project
  2. Select the RollbarAUL scheme and select an iOS simulator as the target
  3. Try to run the tests
  4. Tests will not build with errors point at the above description

Expected behavior
The test build and run

Rollbar-Apple SDK version: v...

Calling the SDK from (x-mark all suitable):
[x] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • OS: [iOS, macOS]
  • OS version: Big Sur 11.3

Ability to Disable RollbarSDK Logs

I get logs about processing items every second.

… [Rollbar] Checking items...
… [Rollbar] Processing saved items: no queued items in the file!

I did check the code and found two things.

First there is no option to disables the logs via RollbarConfig.

#ifdef DEBUG
va_list args;
va_start(args, format);
NSLog(@"[Rollbar] %@", [[NSString alloc] initWithFormat:format arguments:args]);
va_end(args);
#endif

Second I may lower the rate of these logs like by setting maximumReportsPerMinute. However, this does not turn the logs off. It only makes them less annoying.

let config = RollbarConfig()
config.destination.accessToken = MyConfig.rollbarToken
config.destination.environment = MyConfig.isDebug ? "development" : "production"
config.loggingOptions.maximumReportsPerMinute = 1
Rollbar.initWithConfiguration(config)

Also, you may actually don't want to lower the rate to check for items.

Best, Martin

RollbarPLCrashReporter.init() no longer available

Describe the bug
After upgrading to the latest RollbarSwift/Notifier/PLCrashReporter 2.0.3, I received the following error upon building:

.../AppDelegate.swift:52:37: 'init()' has been explicitly marked unavailable here (RollbarPLCrashReporter.RollbarPLCrashCollector)

This is evident in the macro annotations in the RollbarCrashCollectorBase.h:

@interface RollbarCrashCollectorBase : NSObject<RollbarCrashCollector> {
    @private
    id<RollbarCrashCollectorObserver> _observer;
}

/// Designated initializer.
/// @param observer a crash collector observer.
- (instancetype)initWithObserver:(nullable id<RollbarCrashCollectorObserver>)observer
NS_DESIGNATED_INITIALIZER;

/// Hides parametrless initializer.
- (instancetype)init
NS_UNAVAILABLE;

@end

Is the expected usage now to initialize with a null observer as follows? If so, then the documentation must be updated.

        ...
        let rollbarCrashCollector = RollbarPLCrashCollector(observer: nil)
        Rollbar.initWithConfiguration(rollbarConfig, crashCollector: rollbarCrashCollector)

Rollbar-Apple SDK version: v2.0.3

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Excessive Console Debug Printing

Describe the bug
The following is printed every second:

2021-04-15 14:23:39.459637-0700 My Project[24197:8393522] [Rollbar] Checking items...
2021-04-15 14:23:39.461118-0700 My Project24197:8393522] [Rollbar] Processing saved items: no queued items in the file!

To Reproduce
Steps to reproduce the behavior:

  1. Initialize Rollbar:
        rollbarConfig = RollbarConfig()
        rollbarConfig.destination.accessToken = accessToken
        Rollbar.initWithConfiguration(rollbarConfig, crashCollector: nil)

Expected behavior
The above mentioned logs should not be printed

Rollbar-Apple SDK version: v...
Latest master (commit 6fa0b1d)

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: iPhone 11 Pro
  • OS: iOS
  • OS version: 14.4.1

Add the ability to silence/suppress rollbar logs.

Is your feature request related to a problem? Please describe.
Related to #14

Describe the solution you'd like
To be able to suppress NSLogs created by Rollbar-Apple (this may be possible already but I cannot find a way).

Describe alternatives you've considered
As described in #14 I tried to reduce the number of calls made to Rollbar which is making the NSLogs, but as described in the issue, this didn't work either.

Additional context
Here is an example of an irritating log that keeps coming up:

[Rollbar] Checking items...
[Rollbar] Processing saved items: no queued items in the file!

App terminated due to signal 5 instantiating RollbarPLCrashCollector

Describe the bug
App will terminate with the following message:

Message from debugger: Terminated due to signal 5

This occurs on the line that instantiates a RollbarPLCrashCollector:

let crashCollector = RollbarPLCrashCollector()

To Reproduce
Steps to reproduce the behavior:

  1. Add RollbarNotifier, RollbarPLCrashReporter, RollbarSwift cocopods v2.0.0-beta9 to Podfile, install
  2. Add sample Swift code from docs into AppDelegate:
import RollbarNotifier
import RollbarPLCrashReporter
...
func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    let config = RollbarConfig()
    config.destination.accessToken = "..."
    config.destination.environment = "..."
    let crashCollector = RollbarPLCrashCollector()
    Rollbar.initWithConfiguration(config, crashCollector: crashCollector)
    ....
}

Expected behavior
App will launch successfully.

Screenshots
N/A

Rollbar-Apple SDK version: v2.0.0-beta9

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: MacBook Pro 16"/iOS Simulator iPhone 12
  • OS: iOS
  • OS version: 14.3

SPM - Resolving Package Graph Failed

Describe the bug
Screen Shot 2021-04-26 at 7 34 05 PM

To Reproduce
Steps to reproduce the behavior:

  1. Add rollbar-apple as a dependency

Rollbar-Apple SDK version: v...
2.0.0-beta.14

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: iPhone 11 Pro
  • OS: iOS
  • OS version: 14.5

Additional context
Xcode 12.5
Note that version 2.0.0-beta.13 works fine

It is impossible to import the SPM package into the project.

Describe the bug
It is impossible to install the package for a new project with SwiftUI, using Swift Package Manager.

To Reproduce

  1. Choose package repository: https://github.com/rollbar/rollbar-apple.git

  2. Select Rules -> Branch -> master

  3. See Screenshot 1. "
    Showing All Messages
    Source files for target RollbarSwift should be located under 'Sources/RollbarSwift', or a custom sources path can be set with the 'path' property in Package.swift"

  4. Can't install.

  5. Choose package repository: https://github.com/rollbar/rollbar-apple.git

  6. Select Rules -> Up to mayor -> 1.12.9

  7. Installation completed successfully.

  8. This error appears: "Could not build Objective-C module 'Rollbar'.

  9. Annexed:
    5.1 Change branch to master.
    5.2 Correct installation.
    5.3 Directories missing.

Expected behavior
Successfully import the package into the project.

Screenshots
Screenshot1:
Captura de pantalla 2021-04-06 a las 20 23 29

Calling the SDK from (x-mark all suitable):
[] Objective-C
[X] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: MacBook Pro
  • OS: macOS
  • OS version: 10.15.4 Catalina

Smartphone (please complete the following information):

  • Device: iPhone XR
  • OS: iOS14.4

Additional context
Thanks in advance.

Rollbar* pods 2.0.0-beta.10 not all published

Describe the bug
The latest published version of the Rollbar* pods are inconsistent:

RollbarSwift 2.0.0-beta9
RollbarPLCrashReporter 2.0.0-beta9
RollbarNotifier 2.0.0-beta9
RollbarDeploys 2.0.0-beta.10
RollbarCommon 2.0.0-beta.10

As a result, it is not possible to reference the latest release across all the dependencies

Screenshots

Screen Shot 2021-04-16 at 5 08 12 PM

*Rollbar-Apple SDK version: v2.0.0-beta.10

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

DataTransferObject.h file not found // Lexical or Preprocessor Issue

Describe the bug
The latest version does not build.

To Reproduce
Steps to reproduce the behavior:

  1. New XCode Project iOS App with Storyboard
  2. Add with SwiftPM by URL https://github.com/rollbar/rollbar-apple.git& verision 1.12.9
  3. CMD + B to Build

Screenshots
image

Rollbar-Apple SDK version: v1.12.9

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • Device: MacBook Pro (15-inch, 2016)
  • OS: macOS Big Sur 11.1 (20C69)
  • XCode: Version 12.4 (12D4e)

RollbarCommon Tests Fail to build on iOS

Describe the bug
The RollbarCommon package tests fail to build for iOS.

This is due to two issues:

  1. The use of self.className in NSDictionaryRollbarTests.swift which is only available on macOS
  2. The use of the .sortedKeys options in JSONSerialization in NSJSONSerializationRollbarTests#testNSJSONSerializationRollbar_safeDataFromJSONObject which is only available on macOs and iOS 11+

To Reproduce
Steps to reproduce the behavior:

  1. Open the project
  2. Select the RollbarCommon scheme and select an iOS simulator as the target
  3. Try to run the tests
  4. Tests will not build with errors point at the above description

Expected behavior
The test build and run

Rollbar-Apple SDK version: v...

Calling the SDK from (x-mark all suitable):
[x] Objective-C
[x] Swift
[] Other:

Runtime environment (please complete the following information as applicable):

  • OS: [iOS, macOS]
  • OS version: Big Sur 11.3

Error with Swift Package Manager (1.12.9)

If I create a new project (Xcode 12.5.1) and add Rollbar Apple as a Swift Package (currently v 1.12.9), I get the following error:

/Users/knguyen/Library/Developer/Xcode/DerivedData/Test-fabppkklxiqdukdjcjddwdpzrtxu/SourcePackages/checkouts/rollbar-apple/Rollbar/Notifier_DTOs/RollbarTrace.h:9:9: 'DataTransferObject.h' file not found

Can someone have a look?

image

RollbarNotifier build fails in Release mode

Describe the bug
When archiving a Release build of my app with the RollbarNotifier included, the build fails.

To Reproduce
Steps to reproduce the behavior:

  1. Create an app with RollbarNotifier, RollbarSwift, RollbarPLCrashReporter integrated using Cocoapods
  2. Choose Product -> Archive to build a Release version
  3. Observe ~20 errors reported from the build in the RollbarNotifier project

Screenshots
A couple of the errors:

❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:14:1: unknown type name 'NS_ASSUME_NONNULL_BEGIN'

NS_ASSUME_NONNULL_BEGIN
               ^~



❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:32: declaration of 'NSArray' must be imported from module 'Foundation.NSUserActivity' before it is required

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;
^



❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:39: expected member name or ';' after declaration specifiers

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;
                ^



❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:1: property requires fields to be named

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;
                               ~~~~~~~^



❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:39: expected ';' at end of declaration list

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;
^                              ~~~~~~~



❌  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:62: expected '>'

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;
                                      ^



⚠️  /Users/francisli/Library/Developer/Xcode/DerivedData/Triage-aygvbqiqsqurtoehmxzzfjdwzaqi/Build/Intermediates.noindex/ArchiveIntermediates/Triage/BuildProductsPath/Release-iphoneos/RollbarNotifier/RollbarNotifier.framework/./Headers/RollbarTrace.h:22:39: protocol has no object type specified; defaults to qualified 'id'

@property (nonatomic, nonnull) NSArray<RollbarCallStackFrame *> *frames;

*Rollbar-Apple SDK version: v2.0.0-beta.14

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Additional context

Might be related to somehow not properly importing Foundation in the Release...?

https://stackoverflow.com/questions/54999099/unknown-type-name-ns-assume-nonnull-begin

RollbarKSCrash pod publishing issue

validating podspec
-> RollbarKSCrash (2.0.0-alpha27)
- ERROR | xcodebuild: Returned an unsuccessful exit code. You can use --verbose for more information.
- NOTE | xcodebuild: note: Using new build system
- NOTE | xcodebuild: note: Building targets in parallel
- NOTE | xcodebuild: note: Using codesigning identity override: -
- NOTE | xcodebuild: note: Planning build
- NOTE | xcodebuild: note: Constructing build description
- NOTE | [iOS] xcodebuild: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.2.99. (in target 'KSCrash' from project 'Pods')
- NOTE | xcodebuild: RollbarKSCrash/RollbarKSCrash/Sources/RollbarKSCrash/RollbarKSCrashReportSink.h:9:9: fatal error: module 'KSCrash_Reporting_Sinks' not found
- NOTE | xcodebuild: RollbarKSCrash/RollbarKSCrash/Sources/RollbarKSCrash/RollbarKSCrashInstallation.h:8:9: fatal error: module 'KSCrash_Installations' not found
- NOTE | xcodebuild: warning: Capabilities for Signing & Capabilities may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the App editor. (in target 'App' from project 'App')
- NOTE | xcodebuild: warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
- NOTE | xcodebuild: note: Using codesigning identity override:
- ERROR | [OSX] xcodebuild: KSCrash/Source/KSCrash/Recording/Tools/KSObjC.c:198:54: error: use of undeclared identifier 'kCFCoreFoundationVersionNumber_iOS_8_x_Max'
- NOTE | [OSX] xcodebuild: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.8, but the range of supported deployment target versions is 10.9 to 11.0.99. (in target 'KSCrash' from project 'Pods')

Short Documentation about the Sub-Libraries

I understand that version 2.0 is still in progress, so you may simply take this ticket as a reminder. 🙂

As off now I was not able to find any documentation explaining the purpose of each of the Library that this projects comes with. I personally find it hard to pick which Products/Libraries I need for my project. For example, I was wondering about RollbarKSCrash vs. RollbarPLCrashReporter. Or do I always need RollbarCommon as a base library for all others. For now I simply went with my gut feeling.

image

Again since 2.0 appears not officially done yet, I understand that such docs may not yet exist on Rollbar's own hosted docs over here: https://docs.rollbar.com/docs/apple
However, I think a simple table with a short description for each of the Libraries could be included in the README of this repo sooner than later. Especially as the README is versioned in branches as well, it's easy to provide sth. ahead of time.

FYI: I also compared the Pod Specs and could not find any distinction other than technical ones.
image

Bests,
Martin

Facing issue for rollbar in penetrating test

I have run the penetrating security test on the iOS app found issue with Rollbar library.
pen test error : The binary may contain the following insecure API(s).

Following are the classes which used insecure api methods-
vsnprintf

  1. KSFileUtil : Line number 368
  2. KSLogger : Line number 132
  3. KSObjC : Line number 421

stat

  1. KSFileUtil : Line number 159

following is the list of other insecure method usage in rollbar -
_memcpy , _vsnprintf , _stat , _strncat , _strcpy , _printf , _strlen , _sscanf , _sprintf , _fopen , _strcat , _chmod , _strncpy

Could you provide alternate solution for it?

ARM64 slice excluded from cocoapods spec?

Hi! Looks like this library is still stripping the arm64 slice when building for the simulator, which causes issues when building for the simulator on an M1* mac.

Wondering if it would be possible to update the pod to include the required slice?

following podspec lines would need to be removed:

    s.pod_target_xcconfig  = { "ONLY_ACTIVE_ARCH" => "YES", "EXCLUDED_ARCHS[sdk=iphonesimulator*]" => "arm64" }
    s.user_target_xcconfig = { "ONLY_ACTIVE_ARCH" => "YES", "EXCLUDED_ARCHS[sdk=iphonesimulator*]" => "arm64" }

    s.tvos.pod_target_xcconfig  = { "ONLY_ACTIVE_ARCH" => "YES", "EXCLUDED_ARCHS[sdk=appletvsimulator*]" => "arm64" }
    s.tvos.user_target_xcconfig = { "ONLY_ACTIVE_ARCH" => "YES", "EXCLUDED_ARCHS[sdk=appletvsimulator*]" => "arm64" }

Background is here:

CocoaPods/CocoaPods#10978 (comment)
and
https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-an-object-file-built-for-io/66233165#66233165

Doc and examples out of date

I attempted to follow the docs to install.

1.12 did not compile when added as a swift package manager dependency.

2.0.0-alpha27 only defines RollbarCommon and RollbarDeploys, both docs and examples reference Rollbar and RollbarConfig not defined in those packages.

Rollbar floods the console logs

Describe the bug
Rollbar starts flooding the output logs with:

2021-04-14 15:58:58.674999-0700 ...[5238:5642956] [Rollbar] Checking items...
2021-04-14 15:58:58.676231-0700 ...[5238:5642956] [Rollbar] Processing saved items: no queued items in the file!

Would be great to have some options to turn down/off these messages...

Rollbar-Apple SDK version: v2.0.0-beta9

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

SPM - Please tag versions using correct Semantic Versioning

Describe the bug
Unable to add Rollbar-Apple as a dependency using Swift Package Manager due to the version numbers not being in the correct format. From what I gathered from this Ray Wenderlich article, beta versioning should have the following format: 1.1.3-beta.4. The existing tags have the following format: v2.0.0-beta9.

To Reproduce
Steps to reproduce the behavior:

  1. Add the following to your Package.swift's list of dependencies:
.package(name: "RollbarSDK", url: "https://github.com/rollbar/rollbar-apple.git", from: "v2.0.0-beta9")

Expected behavior
SPM should not fail

Rollbar-Apple SDK version: v...
v2.0.0-beta9

Calling the SDK from (x-mark all suitable):
[] Objective-C
[x] Swift
[] Other:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.