Coder Social home page Coder Social logo

drift-sdk-ios's People

Contributors

aahayek avatar adamgammell avatar brianmcdon avatar eliast avatar eoinoconnell avatar fplsv avatar melnyk-taras avatar mrakic avatar rixingw avatar

Stargazers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

drift-sdk-ios's Issues

ConversationViewController fails building in v. 1.2.2

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)
}

iOS 8 compatibility

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.

Pre-filled message

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?

Drift pod 2.3.0 has 9 compile error

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.

Anonymous Chat Just like web

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

Add a callback to register user

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?

What's the state of this SDK?

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.

Support localization

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.

Add private keywords to functions and remove references to IBDesignable in SDK

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

Are real names a possibility?

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!

Push Notifications

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

New Messages Popup on App Keep coming after close or leave the conversation from Drift

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.

Build Issue With Drift

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.

All Archive campaign are visible for most of the User.

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.

Undefined symbols for architecture x86_64

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!

Cartfile needs to be updated for Carthage users

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

Change pod name

Looks like it has to be pod 'Drift' instead of pod 'Drift-SDK'

Ability to present conversation list non-modally

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 :)

Register User Error

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

Swift 3.0 Syntax

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?

Crash

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
    }

Conversation VC on client side not updating

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?

Can someone help me fix this? I installed the drift-sdk-ios module but it didn't work. show error:

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.

AppDelegate Could not load NIB in bundle: 'NSBundle'

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) 

Drift not working properly.

I've added the Drift.setup step with the proper embedID to my AppDelegate, but none of the conversations load and none of the chat messages appear after I send them. All I see is a constant spinning wheel. Are there any other configurations we need to do in order to get the Drift iOS SDK to work?

IMG_42EB30A55657-1

'UserDTO' Decoding error: Expected to decode Int64 but found a string/data instead.

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

Push notification

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.

Push notification

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)

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.