satismeter / satismeter-ios Goto Github PK
View Code? Open in Web Editor NEWSatisMeter iOS SDK
Home Page: https://satismeter.com
License: MIT License
SatisMeter iOS SDK
Home Page: https://satismeter.com
License: MIT License
The identifyUserWithUserId
and identifyUserWithUserId andServerUrl
contain almost same code. Please extract common code so that we don't have to touch two places when changing code.
My application shows an initial loading screen whilst data is downloaded before transitioning to the first screen of my app. When I don't call identify in didFinishLaunching Satismeter never shows and I can't clearly see a way to launch it at another point on the customer journey
I get a 400 bad request anytime I fill in a survey. See below for sample response in the log.
Error: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)" UserInfo={NSLocalizedDescription=Request failed: bad request (400), NSErrorFailingURLKey=https://app.satismeter.com/api/responses, com.alamofire.serialization.response.error.data={length = 47, bytes = 0x7b226572 726f7273 223a5b7b 22746974 ... 66696564 227d5d7d }, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x282085b00> { URL: https://app.satismeter.com/api/responses } { Status Code: 400, Headers {
"Access-Control-Allow-Headers" = (
"Content-Type,Auth-Token"
);
"Access-Control-Allow-Methods" = (
"PUT,POST"
);
"Access-Control-Allow-Origin" = (
"*"
);
"Access-Control-Expose-Headers" = (
"Location,Auth-Token"
);
Connection = (
"keep-alive"
);
"Content-Length" = (
47
);
"Content-Type" = (
"application/json; charset=utf-8"
);
Date = (
"Thu, 20 Feb 2020 21:53:15 GMT"
);
Etag = (
"W/\"2f-j2bd44CrSw0K37KdSWGeWzQmJcc\""
);
Server = (
Cowboy
);
"Strict-Transport-Security" = (
"max-age=15552000; includeSubDomains"
);
Vary = (
"Accept-Encoding"
);
Via = (
"1.1 vegur"
);
"X-Powered-By" = (
Express
);
"X-Request-Id" = (
"1f30905a-64e6-4262-8380-30fed0c7e6b0"
);
} }}, <NSHTTPURLResponse: 0x282085b00> { URL: https://app.satismeter.com/api/responses } { Status Code: 400, Headers {
"Access-Control-Allow-Headers" = (
"Content-Type,Auth-Token"
);
"Access-Control-Allow-Methods" = (
"PUT,POST"
);
"Access-Control-Allow-Origin" = (
"*"
);
"Access-Control-Expose-Headers" = (
"Location,Auth-Token"
);
Connection = (
"keep-alive"
);
"Content-Length" = (
47
);
"Content-Type" = (
"application/json; charset=utf-8"
);
Date = (
"Thu, 20 Feb 2020 21:53:15 GMT"
);
Etag = (
"W/\"2f-j2bd44CrSw0K37KdSWGeWzQmJcc\""
);
Server = (
Cowboy
);
"Strict-Transport-Security" = (
"max-age=15552000; includeSubDomains"
);
Vary = (
"Accept-Encoding"
);
Via = (
"1.1 vegur"
);
"X-Powered-By" = (
Express
);
"X-Request-Id" = (
"1f30905a-64e6-4262-8380-30fed0c7e6b0"
);
} }, {
errors = (
{
title = "Campaign not specified";
}
);
}
When user dismisses survey before selecting rating, please send a response with dismissed: true
.
Submit rating only when user already selected rating and dismissed after that.
Please always use NSJSONSerialization to prevent unexpected issues with invalid characters.
Is there a way to do this?
There doesn't seem to be a teardown method or something similar.
If you install this lib as a pod
and open it in a new Xcode (starting from 14), you'll see an error message saying that Signing for SatisMeter requires a development team. Select a development team in the Signing & Capabilities editor
.
The only workaround is to add this as a framework to an existing project as described here. (The manual also uses a very old Xcode version ๐)
P.S. workarounds mentioned here do not work.
When i'm in dark mode and start typing, then text is invisible.
I integrate Satismeter via manual installation and got this error when try to build on m1 simulator
In ../SatisMeter/libSatisMeter.a(SatisMeter.o), building for iOS Simulator, but linking in object file built for iOS, file '../SatisMeter/libSatisMeter.a' for architecture arm64
Is there anyway I can solve this?
the alias Framework/SatisMeter.framework/SatisMeter link to Versions/Current/SatisMeter, but this file doesn't even exists.
Hi guys - been using Satismeter on my website for a while and would like to integrate it onto iOS. I'm getting an error when trying to archive the project with the Satismeter cocooapods installed saying it can't be exported because it isn't bitcode enabled - see this SO post for reference: http://stackoverflow.com/questions/34666247/bitcode-bundle-could-not-be-generated-because-ios-charts
I think just building a new version of the framework in XCode 7 should solve the issue
Report from our customer:
we are getting warnings w/r/t external libraries that come from libSatisMeter.o:
GenerateDSYMFile /Users/mbabin/Library/Developer/Xcode/DerivedData/WhenIWork-awgxyilzflaxlzgbdwokzvmqcvap/Build/Products/Debug-iphonesimulator/WhenIWork.app.dSYM /Users/mbabin/Library/Developer/Xcode/DerivedData/WhenIWork-awgxyilzflaxlzgbdwokzvmqcvap/Build/Products/Debug-iphonesimulator/WhenIWork.app/WhenIWork cd "/Users/mbabin/Projects/When I Work/wheniwork-ios" export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Users/mbabin/Library/Developer/Xcode/DerivedData/WhenIWork-awgxyilzflaxlzgbdwokzvmqcvap/Build/Products/Debug-iphonesimulator/WhenIWork.app/WhenIWork -o /Users/mbabin/Library/Developer/Xcode/DerivedData/WhenIWork-awgxyilzflaxlzgbdwokzvmqcvap/Build/Products/Debug-iphonesimulator/WhenIWork.app.dSYM while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/Foundation-3DFYNEBRQSXST.pcm: No such file or directory note: Module debugging should be disabled when shipping static libraries. while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/UIKit-1V5UHAPTOD24G.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/SystemConfiguration-354UAJE49HRJF.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/Darwin-38I6DLZ5IH61J.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/MobileCoreServices-N94D31PLFESQ.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/CoreGraphics-N94D31PLFESQ.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/Security-T0W5HZGV3ZZ1.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SatisMeter.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/ObjectiveC-1RQA2RIXJIE19.pcm: No such file or directory while processing /Users/mbabin/Projects/When I Work/wheniwork-ios/StatisMeter/libSatisMeter.a(SMAFURLRequestSerialization.o): warning: /Users/mac/Library/Developer/Xcode/DerivedData/ModuleCache/CZ5J6EE9YZDK/CoreFoundation-J9ZOXGK4ZTRR.pcm: No such file or directory
I'm not sure if by using static libraries that we MUST turn off Modules, but we'd like to not to if we don't have to.
We only add satismeter during user logged in only so that mean we call identifyUser:
after the logged in.
But I can't seem to find a way to clear this identifyUser:
when logged out.
In the source code there is AppSix LLC mentioned in few places. Please change this to SatisMeter.
is there a way to show the survey box on top or in the middle? it works on web but not in sdk. Can anyone help me?
Let's remove them from public API.
After manual installation, I can build my app, but when I call identifyUser
, I have this exception
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSBundle initWithURL:]: nil URL argument'
from here, https://stackoverflow.com/questions/707429/can-you-reference-xib-files-from-static-libraries-on-the-iphone, you can see that bundle doesn't work with static library.
Am I missing something?
Create a script that will build and update our cocoa pod.
On few places there are comments like fawfasdfas
or dasdas
.
Can we remove them/replace with something understandable?
Note from customer:
Please don't support only Cocoapods (we don't use it). Include Carthage too or explain how to make a manual install
Reported by customer:
We had another test error I forgot to mention: uploading to iTunes Connect failed because of the CFBundleExecutable value being set in SatisMeter's resource bundle.
Steps to reproduce:
Expected result:
Screen contents do or do not rotate, based on device size.
Actual result:
Crash
Here's the relevant part of the error:
"Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSMethodSignature deviceDidRotate:]: unrecognized selector sent to instance 0x7ffe3cee0fd0'"
iOS 9 devices do not demonstrate the problem.
Hey team!
Is SPM support on the roadmap? I think users will benefit from that. Since Xcode 12 it is possible to distribute binaries through SPM, and the integration process seems much easier this way.
Kind regards.
Hi, I'm getting "SatisMeter is already shown" from our app when I trying to force show a Survey after a user closed it sometime in the past.
I can't find any SatisMeter related views in views hierarchy. So I assume it's really closed.
Of course, this happens only when application stays in memory. After the new app start it's ok.
If called second time:
/api/widget
request already in progress, cancel previous request and perform a new request with new dataLet's give users a way to force showing the survey for testing purposes.
From our customer:
Give a way to test the display of the popup. We aren't able to trigger it correctly by adjusting the createdAt date for testing.
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.