driftt / drift-sdk-ios Goto Github PK
View Code? Open in Web Editor NEWDrift for iOS, for integrating Drift into your iOS application.
Home Page: http://www.drift.com
License: MIT License
Drift for iOS, for integrating Drift into your iOS application.
Home Page: http://www.drift.com
License: MIT License
When building with Drift as a Pod under the latest Xcode, v.1.2.2 complains:
A non-failable initializer cannot delegate to failable initializer 'init(tableViewStyle:)' written with 'init?'
For reference, lines 72-75
convenience init(conversationType: ConversationType) {
self.init(tableViewStyle: UITableViewStyle.grouped)
setConversationType(conversationType)
}
Please update your read me to mention where we can get setup id
Currently the Podspec lists iOS 9 as the minimum SDK. Any chance you can roll that back to iOS 8? We generally support n-2 at this point in the cycle. I can't see any dependencies that would be negatively affected by this change.
We want to prefill some text when user open Conversation dialog. We can easily do that with Intercom before, how can we do with Drift?
When I send a message to any user; they have to close the conversation in order to receive the new messages.
After pod installed, run build, it gives 9 compile error on Drift right away, here is the first one:
/Users/simon/Development/DuPro/dupro_ios/Pods/Drift/Drift/Birdsong/Socket.swift:154:1: Type 'Socket' does not conform to protocol 'WebSocketDelegate'
/Users/simon/Development/DuPro/dupro_ios/Pods/Drift/Drift/Birdsong/Socket.swift:33:23: Value of type 'WebSocket' has no member 'isConnected'
Looks like you have upgraded Starscream from 3.1.0 to 3.1.1 lately, and this brings the error.
Hi,
I want my app users to get help even without gets logged in to the app, so I don't want to ask for email address, is there a way to achieve this i.e start chat without providing email address.
Thanks
Currently, it is not possible to delay the user registration until you want to show a conversation view. With a callback, it would enable you to not spend all your active contacts on users who never messages you, but only those who actually do. Is this something you would consider?
I was testing this SDK and seems it's an alpha software; full of bugs, it doesn't implement CORE (chatbots an realtime chat) features of Drift; useless. 4 Years without a real SDK for Drift. Sad.
Hei,
the view loaded via Drift.showCreateConversation()
has the strings in English. Do you have any way to use the same language as the Javascript widget?
Thanks.
When integrating Driftt via Cocoapods, there are some issues that are mildly frustrating at the current version. Due to the lack of private
declarations in the code base, some of the functions declared in drift bleed into the codebase embedding Drift. This should mostly be no problem, but there are some extensions in Drift named similarly to extensions that can be imagined used in a hosting code base, where functionality is slightly different. If these are functions required to display drift UI, they should be marked as private, and a user embedding the SDK should be forced to implement their own.
Similarly views like AvatarView
which is a generic name possible for hosting applications to be using gets into troubles due to @IBInspectable
and @IBDesignable
being declared on class level and thus gets picked up by Xcode.
I guess a solution is to switch dependency management to Carthage, but it would be nice if the Drift SDK would prevent polluting public namespaces
No chat notifications when drift chat page is dismissed and replies are not appearing on chat view unless navigated back to chat list
In my app I want to use drift to display a single thread rather than multiple - when drifts view is first opened it just displays a loader for ages unless you click to create a new conversation.
Is it possible just to load the same conversation over and over in 1 single thread
Hello, I've read the documentation and issues extensively and implemented the integration with Drift in my iOS app as instructed.
However, I noticed users that contact me through Drift on iOS don't have their real names (for example, I keep seeing "Brian Best" as a name). Is there currently any way to ask the user for his/her real name so we can avoid having fictional names?
Thank you!
Is there any way to use push notifications in the current SDK? If not, it would be a great feature to add to be able to have a conversation with customers
Hello Drift Team,
Can you add FR language to the UI please ?
Thank you in advance
When composing a message, the typed text is white on a white background. There are also other instances of dark mode making the UI look strange.
We're looking to present the conversation list on a tab. We'd like to badge the tab with a count of unread messages/conversations to draw attention to it. There wouldn't be any UI associated with this call...simply a quick call with a block to handle the async response.
Would have been great if I could present a specific conversation.
I am using drift on my app for giving help support to our customers. But once I close the conversation from https://app.drift.com/ or leave the conversation. It's not close from the app automatically. Every time once I open the app popup keeps coming for a long and every time the user has to dismiss that manually. Get so many complaints from customers also update the pod but still issue is there in the app.
Once I tap on the open button from that popup and read the message getting from the drift user and go back to the conversation list the badge number of the message not updated. Once close the app and open it again popup come up with the same state like unread message even I read that previously.
Hello Team,
I have installed your library using pods and compiling the code in Xcode 8.2.1, but it gives me below error:
The following binaries use incompatible versions of Swift:
/Users/webonise/Library/Developer/Xcode/DerivedData/MyAppName-boitjuuxzbvjagccgybzbdwcptue/Build/Products/Debug-iphonesimulator/MyAppName.app/MyAppName
/Users/webonise/Library/Developer/Xcode/DerivedData/MyAppName-boitjuuxzbvjagccgybzbdwcptue/Build/Products/Debug-iphonesimulator/MyAppName.app/Frameworks/Alamofire.framework/Alamofire
MyAppName is the name of my app.
Waiting for your reply.
Thanks.
Hi, even after the fix in 2.0 which says "Removed deprecated NPS Campaigns" There is another thing which is showing all the archived campaigns which are getting displayed to users. Can you please look into the issue , our release is blocked due to your unwanted issue. Hope you guys fix it as soon as possible.
Downloaded your drift-idk-ios folder, ran pod install.
when I build it in Xcode I get the error " linker command failed with exit code 1 (use -v to see invocation"
can you add push notification support for when a new message is received?
I tried installing drift-sdk-ios module with pod version 1.8.4 and xcode 11.3 but it didn't worked. Xcode displayed errors:
Undefined symbols for architecture x86_64:
"Foundation.URLRequest.httpMethod.getter : Swift.String?", referenced from:
Starscream.WebSocket.(createHTTPRequest in _E91840E7069A0D2D302D042308E9D928)() -> () in libStarscream.a(WebSocket.o)
closure #1 (Foundation.URLRequest) -> Swift.String in Alamofire.DataResponse.debugDescription.getter : Swift.String in libAlamofire.a(Response.o)
closure #1 (Foundation.URLRequest) -> Swift.String in Alamofire.DownloadResponse.debugDescription.getter : Swift.String in libAlamofire.a(Response.o)
Alamofire.Request.description.getter : Swift.String in libAlamofire.a(Request.o)
Alamofire.Request.cURLRepresentation() -> Swift.String in libAlamofire.a(Request.o)
Alamofire.URLEncoding.encode(_: Alamofire.URLRequestConvertible, with: [Swift.String : Any]?) throws -> Foundation.URLRequest in libAlamofire.a(ParameterEncoding.o)
"Foundation.URLRequest.httpMethod.setter : Swift.String?", referenced from:
(extension in Alamofire):Foundation.URLRequest.init(url: Alamofire.URLConvertible, method: Alamofire.HTTPMethod, headers: [Swift.String : Swift.String]?) throws -> Foundation.URLRequest in libAlamofire.a(Alamofire.o)
Drift.DriftRouter.asURLRequest() throws -> Foundation.URLRequest in libDrift.a(DriftAPIURLRouter.o)
Drift.DriftCustomerRouter.asURLRequest() throws -> Foundation.URLRequest in libDrift.a(DriftAPIURLRouter.o)
Drift.DriftConversationRouter.asURLRequest() throws -> Foundation.URLRequest in libDrift.a(DriftAPIURLRouter.o)
Drift.DriftConversation2Router.asURLRequest() throws -> Foundation.URLRequest in libDrift.a(DriftAPIURLRouter.o)
Drift.DriftMessagingRouter.asURLRequest() throws -> Foundation.URLRequest in libDrift.a(DriftAPIURLRouter.o)
"Foundation.URLRequest.cachePolicy.getter : __C.NSURLRequestCachePolicy", referenced from:
closure #1 () -> () in AlamofireImage.ImageDownloader.download(_: Alamofire.URLRequestConvertible, receiptID: Swift.String, filter: AlamofireImage.ImageFilter?, progress: (__C.NSProgress) -> ()?, progressQueue: __C.OS_dispatch_queue, completion: (Alamofire.DataResponse<__C.UIImage>) -> ()?) -> AlamofireImage.RequestReceipt? in libAlamofireImage.a(ImageDownloader.o)
"Foundation.URLRequest.timeoutInterval.getter : Swift.Double", referenced from:
Starscream.WebSocket.(initStreamsWithData in _E91840E7069A0D2D302D042308E9D928)(Foundation.Data, Swift.Int) -> () in libStarscream.a(WebSocket.o)
"Foundation.URLRequest.timeoutInterval.setter : Swift.Double", referenced from:
Starscream.WebSocket.__allocating_init(url: Foundation.URL, protocols: [Swift.String]?) -> Starscream.WebSocket in libStarscream.a(WebSocket.o)
Please help me. Thank you!
The Cartfile
is quite out-of-date which means installing this SDK with Carthage causes an error thrown, due to the nested dependencies targeting old versions, not supported in Xcode 11 / Swift 5+.
This Cartfile
below matches the dependency versions from the Podfile
github "tristanhimmelman/ObjectMapper" ~> 3.4
github "alamofire/AlamofireImage" ~> 3.3
github "SVProgressHUD/SVProgressHUD" ~> 2.0
github "daltoniam/Starscream" ~> 3.0.0
I was trying to install pod and I cannot run the app
Looks like it has to be pod 'Drift' instead of pod 'Drift-SDK'
Currently the conversation list can only be brought up in a full screen modal. We're looking to add it to our app as a tab on a tabViewController. Can you allow for support of this type of presentation? It should be a fairly light-weight add. We're looking to make chat be a front-and-center feature :)
Currently if we are building an app in Swift 4, ObjectMapper will fail to build. Can you update to the latest version of ObjectMapper?
Hi,
I want to show to user conversation in my application.
[Drift setup:@""]; is not working, it gives error in log
"The operation couldn’t be completed. (Drift.DriftError error 0.)"
And While calling registerUser function is also gives error:
"No Embed, not registering user - Waiting for Embeds to complete"
Can you help me for this?
Thanks
I'm getting error from the swift convertor saying that the Drift project is not Swift 3.0 compatible out of the box. It looks like it's half upgraded. Can you double check to ensure it's fully updated to avoid this issue?
Hi,
my app crashes sometimes at ObjectValidator.swift with EXC_BREAKPOINT when accessing to pointer.pointee after deallocating the pointer.
fileprivate func dummyObject<T>() -> T{
let pointer = UnsafeMutablePointer<T>.allocate(capacity: 0)
pointer.deallocate(capacity: 0)
return pointer.pointee
}
When you have a conversation with the client and you send a new message the client has to go back to list view or change view to update. Being a live chat you shouldn't have to?
If you try to write and submit a new message to an existing chat, it crashes Drift. This happens in both simulator and device(iPhone 7+, iOS11.01)
Conversation is not updating real time. I have to go back and forth to get the updated conversation. Am I doing something wrong
Can you provide real instructions on where to find the embed id? Currently it links to settings page in web app which isn't helpful
Can you guys please release version 1.0 so we can install with CocoaPods?
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening appxcworkspace
** BUILD FAILED **
The following build commands failed:
CompileC /Users/user/app/ios/build/app/Build/Intermediates.noindex/RNDrift.build/Debug-iphonesimulator/RNDrift.build/Objects-normal/x86_64/RNDrift.o RNDrift.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
. Run CLI with --verbose flag for more details.
2021-03-13 14:11:21.383167+1100 SDKExample[18925:4699547] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </private/var/containers/Bundle/Application/703CCD85-5431-47B8-9A51-E03295348928/SDKExample.app> (loaded)' with name 'ConversationListViewController''
*** First throw call stack:
(0x19f8ea5ac 0x1b39d842c 0x19f7e6a9c 0x1a1e3082c 0x1a1b11128 0x1a1b114d8 0x1a1b11b90 0x1a1a61bf0 0x1a1a03138 0x1a19ff200 0x1a26db138 0x1a221ce30 0x1a220bbec 0x1a223f078 0x19f866444 0x19f860858 0x19f860e08 0x19f8604bc 0x1b6372820 0x1a220d164 0x1a2212840 0x100fa77f8 0x19f527e40)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </private/var/containers/Bundle/Application/703CCD85-5431-47B8-9A51-E03295348928/SDKExample.app> (loaded)' with name 'ConversationListViewController''
terminating with uncaught exception of type NSException
(lldb)
Hi!
I recently updated Drift pod to 2.4.0 version, and got the following error with UserDTO decoding (caught by breakpoint).
Function: DriftManager.75 class func registerUser
Request: URL: https://event.api.drift.com/identify
Response: {\"id\":\"404cba19856ce46a9f7b1f5ef4409215\",\"userId\":\"1000059\",\"anonymousId\":null,\"companyId\":null,\"internal\":false,\"attributes\":{\"email\":\"[email protected]\"},\"context\":{},\"createdAt\":1585788857338,\"orgId\":1167954,\"signedIdentity\":null,\"isDebug\":false}"
In model I found that user's identifier is: var userId: Int64?
It makes url request, and tries to decode UserDTO from response. But as you see, there is a string 'id'
in response JSON.
The result of decoding UserDTO is not used, so the next function (auth) works fine. But maybe you can fix user decoding to prevent Swift Error Breakpoint
activation
Is the team think about adding a push notification feature in SDK when the user received message?
Competitors such as livechatinc., freshchat, help scout, help crunch and etc.. have this feature available.
Hello,
Can we get Carthage support?
Drift does not have push notification like Intercom.
Is there any way that we can catch the message and send push notification by our server? (our application setup notification already)
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.