instabug / instabug-ios Goto Github PK
View Code? Open in Web Editor NEWIn-app feedback and bug reporting tool for apps.
Home Page: https://instabug.com/
License: Other
In-app feedback and bug reporting tool for apps.
Home Page: https://instabug.com/
License: Other
Should Instabug_dsym_upload.sh bail early for sim builds before grep'ing the project for the use of an Instabug API key? grep'ing takes much of the scripts time and the script doesn't seem to do anything with the API key when bailing. See the patch here:
I recently upgraded from Instabug 4.1 to 5.1 and there is now a screenshot embedded in the feedback message. The screenshot is pointless for our use case because, in our app, Instabug's "Suggest an Improvement" dialog is always triggered by an explicit tap of a "Send Feedback" button in our settings screen -- so the screenshot is always the same: our settings screen. I looked in the API for some way to disable the screenshot functionality, but I can't find one.
Hi guys
I got many crash reports from user in my online app.
The stack like follow, do you guys have any idea?
Thread 7 Crashed:
0 libsystem_kernel.dylib 0x38311df0 __pthread_kill + 8
1 libsystem_c.dylib 0x382ad909 abort + 77
2 libsystem_malloc.dylib 0x383423af szone_error + 335
3 libsystem_malloc.dylib 0x3833e0e3 free_large + 171
4 CoreFoundation 0x2932b79f __CFStringDeallocate + 135
5 CoreFoundation 0x29256de3 CFRelease + 495
6 MyApp 0x00991d31 -IBGSession addLog:
7 MyApp 0x0096a245 IBGLog (Instabug.m:56)
Unfortunately after update to 5.0.x appeared crash on receiving push notification:
-[AppDelegate application:didReceiveRemoteNotification:]
-[IBGPushNotificationsManager handleSwizzledRemoteNotificationReceived:notification:completionHandler:originalMethodImplementaion:selector:]
-[IBGPushNotificationsManager didReceiveNotificationSwizzler]_block_invoke
-[IBGMethodSwizzler application:didReceiveRemoteNotification:]
Whats strange, in app delegate self
is IBGPushNotificationsManager
.
Guys could you push new release please?
Receiving the following afte your last merge:
Specs satisfying the
Instabug (from https://github.com/Instabug/Instabug-iOS
, branch no_build_script
)dependency were found, but they required a higher minimum deployment target.
Podfile has this for platform: platform :ios, '8.0'
When there is a keyboard in a view, the actionsheet would appear behind the keybaord (basically doesn't not appear) and the user can't really interact with it.
I had to manually create the script in my pbxproj.
Let me know what you need to debug this.
If we provide permission to share the location info on "Report a bug", app crashes after tapping on Send button. And I can see the below exception on console.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: city)'.
But if we denied the permission of location info(on permission alert or in code), it works perfect.
Number: 3
URL: https://instabug.com/applications/instabug-ios/issues/3
Type: bug
Status: New
Email: [email protected]
Comment:
This is a sample bug. Reported by Instabug.
Location: San Francisco, USA
Device: iPhone 4 / iOS 7.0
Memory: Used: 3084.42 MB, Free: 1000.87 MB
Storage: Used: 25.15 GB, Free: 5.32 GB
Connectivity: Carrier: Verizon, WiFi: Home WiFi
Battery: 80 , Unplugged
App Version: 1.3 (1.3)
Duration: 00:00:08
User Data: You can attach extra data items with each bug reported.
userid = 721899;
username = jack.edward;
Console Log:
This is your app log at the time of reporting the bug.
2014-03-25 16:19:00.111 AppDemo[69166:60b] ViewLoaded
2014-03-25 16:19:00.113 AppDemo[69166:60b] Request completed
2014-03-25 16:19:00.123 AppDemo[69166:60b] User isnt logged in
2014-03-25 16:19:00.213 AppDemo[69166:60b] Login view
Instabug Log:
User Steps:
These are the steps that the user did before sending the bug, all the user touches and interactions are recorded here.
2014-03-25 16:19:00.010 - Application: DidBecomeActive
2014-03-25 16:19:00.213 - Top View: LoginViewController
2014-03-25 16:19:40.817 - Touch: _usernameTextField (UITextField) in LoginViewController
2014-03-25 16:19:42.128 - Touch: (UIKeyboardLayoutStar) in LoginViewController
2014-03-25 16:19:48.828 - Touch: _passwordTextField (UITextField) in LoginViewController
2014-03-25 16:19:49.023 - Touch: (UIKeyboardLayoutStar) in LoginViewController
2014-03-25 16:19:50.011 - Touch: _loginButton (UIButton) in LoginViewController
2014-03-25 16:19:50.111 - Top View: HomeViewController
2014-03-25 16:20:19.322 - Touch: _friendsListButton (UIButton) in HomeViewController
2014-03-25 16:20:20.725 - Top View: FriendsListViewController
2014-03-25 16:21:10.510 - Shake in: FriendsListViewController
Current View: FriendsListViewController
Seem to be having an issue using Instabug through cocoapods where upon shaking the device to open the feedback screen I get.
Could not load NIB in bundle: 'NSBundle <***.app> (loaded)' with name 'IBGActionSheetVC-Landscape-iPad'
-[IBGFeedbackWindow presentViewController:] + 178
-[IBGFeedbackController showPrompt] + 300
iPad 4 (WiFi) / iOS 7.1.2
The enums in IBGEnums.h are not Swift-friendly. They force you to type out the entire enum, like this:
Instabug.invokeWithInvocationMode(IBGInvocationModeFeedbackSender)
while in Swift this is normally reduced to:
Instabug.invokeWithInvocationMode(.FeedbackSender)
You can enable this syntax sugar by adopting the NS_ENUM macro. For example:
typedef NS_ENUM(NSInteger, IBGInvocationMode) {
IBGInvocationModeNA,
IBGInvocationModeBugReporter,
IBGInvocationModeFeedbackSender
};
I'd submit a pull request, but there is no source code to modify. Could you please apply this change to all enums in your upstream code? Thanks!
pod 'Instabug' (updated to 4.1.10)
iOS Base SDK - 9.2
Target iOS 9.2
After launching app after a crash, the app freezes every time we try to launch it. Please see the attached screenshots showing backtrace taken by pausing the debugger when the app was frozen. It seems on the main thread it is waiting in [IBGReachability init] while on the com.IBG.ServerQueue thread it is waiting in [IBGServersQueue init].
This crash is one of the top crashes in our app at the moment, here's the relevant traces.
http://crashes.to/s/af21c41a052
Let me know if there's any information you'd need from us. Thanks!
Hello,
I'm currently using v4.1.6 (https://github.com/Instabug/Instabug-iOS/releases/tag/4.1.6), installed via cocoapods, which says that there's Bitcode support. However when archiving I got this error:
ld: warning: full bitcode bundle could not be generated because '/Users/Est/Documents/Works/cheese/Pods/Instabug/Instabug.framework/Instabug(IBGLineLimitedString.o)' was built only with bitcode marker. The library must be generated from Xcode archive build with bitcode enabled (Xcode setting ENABLE_BITCODE)
Am I doing something wrong? Or is it true that Instabug doesn't have support for Bitcode yet?
To support Carthage you can provide a pre built framework
I assume this was an oversight? I tried to do an archive with the new SDK and got an error that the Instabug framework was not compiled with Bitcode support.
https://github.com/Instabug/Instabug-iOS/blob/master/Instabug.bundle/Instabug_dsym_upload.sh#L63
Need to change this line:
DSYM_UUIDs=$(dwarfdump --uuid ${DSYM_PATH} | cut -d' ' -f2)
to
DSYM_UUIDs=$(dwarfdump --uuid "${DSYM_PATH}" | cut -d' ' -f2)
When the scheme build type has a space in it, such as "Ad Hoc", this line will cause an error.
The Instabug_dsym_upload.sh
script is searching for the first occurrence of either Instabug startWithToken:@\"[0-9a-zA-Z]*\"
or Instabug.startWithToken:@\"[0-9a-zA-Z]*\"
in the source code.
We are switching between a staging and production environment which means we have to have the same line of code twice and it will still only use the first one. It also doesn't allow us to use a constant or variable to switch tokens.
Is there a better way to search for this API token? Or some other place we can store the token that can consistently and reliably select the correct token for the correct environment?
When I want to install Instabug and Realm in the same project, I'm getting the warning:
[!] Can't merge user_target_xcconfig for pod targets: ["Instabug", "Realm", "Headers"]. Singular build setting CLANG_CXX_LANGUAGE_STANDARD has different values.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Containers/Bundle/Application/B405647F-25AF-4CA8-A430-A2FF2EB6448A/Orchestra.app> (loaded)' with name 'IBGActionSheetVC-iPhone''
Installed through cocoapods
Checking the internet connection can take up to 10 seconds, and if we are going to skip the upload anyway (because it's a simulator build), then there is no reason to have the delay.
Just need to move this code:
#Check internet connection
if [ ! "`ping -c 1 instabug.com`" ]; then
exit 0
fi
To be after this code, instead of before it:
# Check for simulator builds
if [ "$EFFECTIVE_PLATFORM_NAME" == "-iphonesimulator" ]; then
if [ "${SKIP_SIMULATOR_BUILDS}" ] && [ "${SKIP_SIMULATOR_BUILDS}" -eq 1 ]; then
echo "Instabug: Skipping simulator build"
exit 0
fi
fi
The SDK currently has + invokeBugReporter
and + invokeFeedbackSender
to bypass the action sheet, but it would be great if we could have an SDK Experience Customization
set of methods along the lines of: + setDefaultToBugReporter
and +setDefaultToSendFeedback
to skip the action sheet.
Hello,
We have updated our apps to new instabug sdk and right now instabug crashes when we shake the phone. I have tried official version as well as the hotfix mentioned here: #27
same results.
Please check the log and screenshot for details.
Regards
Halil
log:
2015-10-06 15:33:36.931 voodle[2290:540925] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Containers/Bundle/Application/862D7E31-A913-4041-9C22-40DBF6C0B6BC/voodle.app/Instabug.bundle> (not yet loaded)' with name 'InstabugActionSheetViewController-iPhone''
*** First throw call stack:
(0x2900d137 0x37497c77 0x2900d07d 0x2ca3e429 0x2c955b47 0x2c7898ad 0x2c66d539 0x2c66d4bd 0x2c6735e7 0x2c6daeab 0x34d883 0x33531d 0x335225 0x334f63 0x3374ad 0x34cb6f 0x34ce79 0x34ca99 0x29d36439 0x29ca10a1 0x29c93b0d 0x29d38d93 0xb6d187 0xb70e9d 0x28fd2889 0x28fd0fa9 0x28f1c9a1 0x28f1c7b3 0x308de1a9 0x2c6cd635 0x1efa59 0x37a65aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
warning: could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available.
when having an aggregate target in xcode, in this case the test
aggregate target, pod install fails with:
-> Installing Instabug (3.23)
> Git download
> Git download
$ /usr/local/bin/git clone https://github.com/Instabug/Instabug-iOS.git /Users/tex/Projects/Expend/workspace/temp/Pods/Instabug --single-branch --depth 1 --branch 3.23
Cloning into '/Users/tex/Projects/Expend/workspace/temp/Pods/Instabug'...
Note: checking out 'da8133102d75aa08fcd6b379c9e5376deb950e23'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
> Running prepare command
$ /bin/bash set -e ruby add_instabug_build_script.rb
add_instabug_build_script.rb:24:in `block in <main>': undefined method `product_type' for <PBXAggregateTarget name=`test` UUID=`CFAAE2081A9B86D1002520B1`>:Xcodeproj::Project::Object::PBXAggregateTarget (NoMethodError)
from add_instabug_build_script.rb:23:in `each'
from add_instabug_build_script.rb:23:in `<main>'
[!] /bin/bash
set -e
ruby add_instabug_build_script.rb
add_instabug_build_script.rb:24:in `block in <main>': undefined method `product_type' for <PBXAggregateTarget name=`test` UUID=`CFAAE2081A9B86D1002520B1`>:Xcodeproj::Project::Object::PBXAggregateTarget (NoMethodError)
from add_instabug_build_script.rb:23:in `each'
from add_instabug_build_script.rb:23:in `<main>'
Hi,
is there a way to programmatically dismiss feedback window ?
i want to add default email to post form
In your upload script you are using ping to determine if the API is available:
https://github.com/Instabug/Instabug-iOS/blob/master/Instabug.bundle/Instabug_dsym_upload.sh#L46
Ping is not supported on all networks, including mine, so I had to fork the code and use a different approach. I submitted a pull request that changes this check to use curl instead of ping:
This approach will also be a better indicator of whether the API service is actually running rather than ping, which is doing a check at a lower level on the network stack.
Hi Guys,
I tried to install your SDK with Cocoapods. We are using Swift 1.2 at the moment.
Just did pod 'Instabug' and it installed it correctly.
When I try to import the framework in the AppDelegate, it says "No such module 'Instabug'"
Digging a bit further, in the Pod project, there is no target Instabug like the other pod I'm using.
Any help greatly appreciated.
Thanks !
It is a crash by integrating Instabug from CocoaPods.
I have these lines in Podfile:
platform :ios, '7.0'
source "https://github.com/CocoaPods/Specs.git"
source "https://github.com/Accengage/CocoaPodsSpecs.git"
pod "Instabug"
After doing $ pod install, I have version 5.1.0
It's in [IBGBaseHUD show] method.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'NSConcreteMutableAttributedString initWithString:: nil value'
*** First throw call stack:
(0x182835900 0x181ea3f80 0x182835848 0x183118da4 0x100470ae0 0x100554e4c 0x100e79bf0 0x100e79bb0 0x100e85e3c 0x100e79bb0 0x100e91f54 0x100e7c154 0x100e7f034 0x1827ecbb0 0x1827eaa18 0x182719680 0x183c28088 0x187590d90 0x1001647f8 0x1822ba8b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
Hi @MSoliman
I have upgraded the Instabug to 4.1.5 via pods.
First I tested on the simulator, I chose Hardware->Shake Gesture to report feedback. But the action sheet appeared ("Report a bug", "Send feedback", "Cancel") after almost 10 seconds.
But it worked fine on the device.
Do you have any idea?
I'd like to collect user-data without showing a feedback-form or making a screenshot. Is this possible? Something like [Instabug sendWithUserData:userData];
For my current app I would like Dutch translation to be available in the SDK. If I can help providing it, just let me know!
I want to be able to use Instabug via Cocoapods, but this munging of my project files with your dSYM upload script is unacceptable. I appreciate the thought, but I can take care of marshaling my own build artifacts. Our continuous-integration server is completely hosed as a result of this change, and one of my colleagues is in the process of setting up a fork as I type this, which would've been completely avoidable if this... feature... had been optional.
https://github.com/TransitApp/SVProgressHUD is a wildly popular HUD solution for iOS.
I love using the Instabug floating button, but when I do, the Instabug floating button overlay causes this sort of thing to happen:
They're probably fighting over the root view controller's view or something.
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1){
[Instabug invoke];
}
}
With this simple code, what happens is that the Instabug menu is displayed above the existing ActionSheet (which doesn't have enough time to dismiss), and whenever I quit instabug (click on cancel or submit a bug for instance), the app crashes. I can use Instabug all I want, but whenever I dismiss it, it crashes.
Any way to prevent this?
Hi
This is what Im getting for iOS9 and Xcode 7
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'BundleEx </var/mobile/Containers/Bundle/Application/01D84B49-EC28-45A2-89C0-2B7F979DC294/Lareb.app> (loaded)' with name 'IBGActionSheetVC-iPhone''
*** First throw call stack:
(0x185db8f5c 0x19a9abf80 0x185db8ea4 0x18b7b99ac 0x18b672cfc 0x18b447ea8 0x18b30f258 0x18b30f1b0 0x18b315f8c 0x18b385c88 0x100116434 0x1000f4450 0x1000f405c 0x1000f3d90 0x1000f7d2c 0x1001150d0 0x100115334 0x100114fc8 0x186cdb82c 0x186c2e6c0 0x186c1e918 0x186cddc20 0x1004fdd30 0x100503780 0x185d70258 0x185d6e0c0 0x185c9cdc0 0x190df0088 0x18b376f60 0x10006c0ac 0x19b1d68b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
After upgrade my iphone to ios 8 and xcode 6, instabug will crash my apps.
Love this tool!
I am using library 3.10 for iOS and having some issues with the invocation....
IBGInvocationEventFloatingButton doesn't show anything -- even if I set the background/font colour of the button to wild ones.
IBGInvocationEventTwoFingersSwipeLeft is only working if I swipe DOWN with two fingers in landscape and RIGHT in portrait.
if (IS_IPHONE) {
[Instabug setInvocationEvent:IBGInvocationEventShake];
} else {
[Instabug setInvocationEvent:IBGInvocationEventTwoFingersSwipeLeft];
}
After i submit feedback for the very first time, the app crashes with
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x1a0c6cea8'
If i restart the app, it instantly crashes.
If i comment out the Instabug startWithToken and restart the app everything is fine.
Heres my initializer at the very bottom of didFinishLaunchingWithOptions
Instabug.startWithToken("TOKEN_GOES_HERE", invocationEvent: IBGInvocationEventFloatingButton) Instabug.setFloatingButtonEdge(CGRectEdge.MinXEdge, withTopOffset: 100)
The feedback i report does show up in the dashboard at instabug.com
XCode 7.2
Hi guys!
Thanks for the work you are doing.
But are you planning on supporting iOS 9?
So far it gives our errors like this:
http://stackoverflow.com/questions/32096130/unexpected-cfbundleexecutable-key
And even after I implemented the new bundle as suggested in the comments, it worked with Xcode beta 5.
But now, after installing Xcode 7 beta 6, it gives a new error that says that the key CFBundleSupportedPlatforms
should be removed because it contains iPhoneSimulator
value.
Hi,
I would like to use Instabug in the same machine with different users, however this raises permission errors in Instabug_dsym_upload.sh which creates temp dsym zip files under /tmp/Instabug/<app_name> directory. When I try to run Instabug from another user, that user does not have write permissions to the given folder.
It would be great if there would be a unique temp directory/file for each dzym zip to avoid any permission errors between concurrent builds from different users
Instabug_dsym_upload.sh looks great, but I was using a constant for the APP_TOKEN and it was failing because of that.
[Instabug startWithToken:kSTEInstabugToken captureSource:IBGCaptureSourceUIKit invocationEvent:IBGInvocationEventShake];
I'd suggest against parsing the project dir source, as it's error prone, and moving this configuration parameters someplace else like a plist, a constants file or maybe even the script file.
Best!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.