Site for: https://ringcentral.github.io
ringcentral / engage-digital-messaging-ios Goto Github PK
View Code? Open in Web Editor NEWEngage Digital Messaging IOS SDK
License: Other
Engage Digital Messaging IOS SDK
License: Other
Site for: https://ringcentral.github.io
Bonjour,
Y a une anomalie, c'est que le clavier de Dimelo ne se cache pas lorsque j'ouvre un Menu. Je vous communique ci-joint 2 screen shot afin de comprendre la problématique. Cette anomalie est trés genante surtout lorsque le clavier est ouvert.
Je compte sur votre réactivité habituelle.
When the app is running in foreground and I open the Dimelo view, the UI of the Dimelo view is correct:
Dimelo.sharedInstance().displayChatView()
func dimeloDisplayChatViewController(_ dimelo: Dimelo!) {
if let dimeloVC = dimelo.chatViewController() {
dimeloVC.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(closeChat))
dimeloVC.navigationItem.rightBarButtonItem?.tintColor = UIColor.black
AppDelegate.shared.window?.rootViewController?.present(dimeloVC, animated: true, completion: nil)
}
}
However when I display the Dimelo view from the didReceiveNotification
callback, the background of the view is black, as in the attached screenshot
SI je désactive l'utilisation d'AzME dans mon application, les notifications de Dimelo fonctionnent convenablement. En revanche, si je laisse AzME activé, les notifications d'AzME fonctionnement convenablement et j'ai des dysfonctionnements avec les notifications de Dimelo.
Voilà ce que j'observe :
Hello!
We encountered such unexpected behaviour. If we register to Dimelo from two different devices, push notifications is pushed to only last of them (device which was second registered to Dimelo).
Thanks.
Hi,
I am trying to add the dimelo SDK on my iOS app but I have a problem with the input bar not being completely visible as you can see on this screenshot.
I have this problem on every simulator I tried (from 4s to 6s plus) and with iOS 8 and 9.
I tried the dimelo sample app and it works so I think it may have something to do with the fact that I had to upgrade the deployment target from 6.1 to 8.0 when I added the dimelo SDK.
Although I saw in the DimeloChatInputAccessory.xib that there is a constraint on Toolbar.Bottom set to -32 maybe this has something to do with my problem ?
The rest of my application is working fine.
Thanks
Hello!
The library doesn't support an ARM simulator. When I build my project I got
ld: building for iOS Simulator, but linking in dylib built for iOS, file '<dir>/Pods/Dimelo-iOS/Dimelo.framework/Dimelo' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
You should use XCFramework instead of fat binary distribution, as Apple doesn't support it anymore.
Hello!
Could you please provide support for the ARM Simulator that is available on M1 Macs? Now, as I can see library doesn't support arm64 for a simulator, only i386, x86_64.
https://github.com/ringcentral/engage-digital-messaging-ios/blob/master/Dimelo.xcframework/Info.plist
Hi,
I tried to run the Dimelo-IOS-SampleApp, following the documentation instructions I have updated the apiSecret
value from DimeloConfig.plist.
But when I run the project (both with the simulator or the device) I'm getting an unsent
status upon the bubble message.
I also see logs into xcode, I think I'm missing something about the domain maybe ? because it call https://localhost/api/1.0/status
and https://localhost/api/1.0/register
and fails. I tried to change it with XXX.dimelo.com admin console without success.
2017-01-17 17:32:30.692 Dimelo CocoaPods Sample[36003:1118584] error while updating unreadCount : Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x60800005dfd0 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://localhost/api/1.0/status, NSErrorFailingURLKey=https://localhost/api/1.0/status, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSLocalizedDescription=Could not connect to the server.}
2017-01-17 17:32:35.700 Dimelo CocoaPods Sample[36003:1118584] error while updating unreadCount : Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x60800005b630 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://localhost/api/1.0/register, NSErrorFailingURLKey=https://localhost/api/1.0/register, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSLocalizedDescription=Could not connect to the server.}
2017-01-17 17:32:40.776 Dimelo CocoaPods Sample[36003:1118584] error while updating unreadCount : Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={NSUnderlyingError=0x60000005a9d0 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://localhost/api/1.0/register, NSErrorFailingURLKey=https://localhost/api/1.0/register, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSLocalizedDescription=Could not connect to the server.}
Do you have any suggestions ?
Thanks.
Dimelo ios is installed with CocoaPods
When configuring a DimeloConfig.plist
, some options are not set properly.
userMessageBackgroundColor, userMessageTextColor, agentNameColor, ...
It seems to only concerns colors parameters that are already set in the framework config.
There are not problems with other settings ( Font size
) or colors settings as long as they are empty in the base config.
Ref: https://developers.ringcentral.com/engage/digital/guide/interactions/structured-messages/quick-start
Link about is the web page. I am wondering does iOS support the same feature? If yes, how to enable it from programming perspective?
Bonjour,
J'utilise Dimelo-iOS 1.7.6 et j'ai des remontées de crash de l'App Store qui pointent la méthode [Dimelo consumeReceivedRemoteNotification:]
.
Les crashs se produisent sur iOS 10 et iOS 11. Je n'ai pas réussi à reproduire le crash de mon coté en ouvrant des notifications Dimelo.
Voici les infos sur le crash dont je dispose :
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x1851e2d8c __exceptionPreprocess + 228 (NSException.m:166)
1 libobjc.A.dylib 0x18439c5ec objc_exception_throw + 56 (objc-exception.mm:521)
2 CoreFoundation 0x1851f0098 -[NSObject(NSObject) doesNotRecognizeSelector:] + 140 (NSObject.m:322)
3 CoreFoundation 0x1851e85c8 ___forwarding___ + 1380 (NSForwarding.m:3220)
4 CoreFoundation 0x1850ce41c _CF_forwarding_prep_0 + 92
5 MonApplication 0x1031b447c -[Dimelo consumeReceivedRemoteNotification:] + 612
6 MonApplication 0x1030161b8 AppDelegate.handleClickOnNotification(_:withCompletionHandler:) + 3140 (AppDelegate.swift:795)
Est-ce que c'est un problème dont vous avez connaissance ? Peut-être cela est-il déjà corrigé dans les versions plus récente du SDK ?
Afin de faciliter l'intégration de Dimelo dans plusieurs applications, j'ai placé Dimelo.framework dans un pod à moi, qui est inclus dans mes applications. En faisant ainsi, la fenêtre de chat fonctionne, les assets graphiques sont bien affichés... mais les notifications ne fonctionnent plus. Pour que ça fonctionne, je suis obligé de placer Dimelo.framework directement dans le Bundle.main de chacune de mes applications, ce qui complique sérieusement leur maintenance.
While the Dimelo chat is opened and the user tries to change the trait collection appearance (from light to dark or dark to light mode) the InputBarTintColor and InputBarBackgroundColor won't change. It would be nice to have a feature that enables the developer to change this color when the trait collection is changed.
Presenting chat view using [[Dimelo sharedInstance] displayChatView];
But on tap of Done not dismissing the view.
When I am clicking on attachment icon no action sheet or other option is opening, also after some bottom portion of char screen is black and after closing the view and when I am reopening it the bottom input bar is invisible
Dimelo.sharedInstance().sdkVersion retourne "1.7.6" alors que j'utilise la version 1.7.7 du SDK.
After update to v.1.8.0 linking fails with message:
ld: warning: ignoring file projectpath/Pods/Dimelo-iOS/Dimelo.framework/Dimelo
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Dimelo", referenced from:
l_protocol_conformances in Dimelo+ContactChatServiceProtocol.o
objc-class-ref in DimeloChatService.o
objc-class-ref in ContactChatViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Hello,
When I click on "OK" button to dismiss the chat view controller (from a push notification or by presenting manually) using dimelo.displayChatView()
without setting the dimelo.delegate
(delegate is nil
) my app crashes.
I'm using the last version: 1.9.1
Bonjour Wael,
Au fait, je viens de voir un comportement bizarre de dimelo: C'est que le fait de faire un va et vient entre l'interface dimelo et autre interface de l'application et tout va bien. et par la suite d'un coup, l'inteface de dimelo se bloque (reste bloqué) du coup je ne peux pas revenir vers arriere ni rien faire!
As the title says, but I put the app in the background, and when I go back to the foreground, it's immediately can be obtained in this method : applicationWillEnterForeground, Please help me with this question, thank you !
i send notification i receive it on the phone no problem
now i want to customise image title ...
the problem is this function on delegate was never called didReceiveRemoteNotification
On appDelegate didFinishLaunchingWithOptions :
// Dimelo: Push Notif and Badge
dimelo?.updateAppBadgeNumber = true
dimelo?.developmentAPNS = true
dimelo?.initialize(withApiSecret: BuildConfig.GetInstance().getDimeloApiSecret(), domainName: BuildConfig.GetInstance().getDimeloDomainName(), delegate: self)
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Register the device token.
Dimelo.sharedInstance().deviceToken = deviceToken
}
func dimeloDidBeginNetworkActivity(_ dimelo: Dimelo?) {
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func dimeloDidEndNetworkActivity(_ dimelo: Dimelo?) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
dimelo?.consumeReceivedRemoteNotification(userInfo)
}
I already activate remote notification on baclground mode
but the function didReceiveRemoteNotification was never called :(
Hello!
We have a crash related to using -[UIWindow safeAreaInsets]
method which don't exist on iOS 10 and below. This bug seems appeared in 1.7.6 version of Dimelo.
It is crash repost from Crashlytics:
Fatal Exception: NSInvalidArgumentException
-[UIWindow safeAreaInsets]: unrecognized selector sent to instance 0x155e283d0
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x18784afe0 __exceptionPreprocess
1 libobjc.A.dylib 0x1862ac538 objc_exception_throw
2 CoreFoundation 0x187851ef4 __methodDescriptionForSelector
3 CoreFoundation 0x18784ef54 ___forwarding___
4 CoreFoundation 0x18774ad4c _CF_forwarding_prep_0
5 RechargesProj 0x1005352a8 -[DimeloChatNotificationWindow layoutContainerForOrientation:]
6 RechargesProj 0x100535610 -[DimeloChatNotificationWindow presentView:]
7 RechargesProj 0x100535e0c -[DimeloChatNotificationWindow presentMessage:apiInstance:]
8 RechargesProj 0x1005064dc -[Dimelo consumeReceivedRemoteNotification:]
9 RechargesProj 0x1001e7b24 specialized DimeloChatService.loadRemoteNotificationPayload([AnyHashable : Any]) -> Bool (DimeloChatService.swift:155)
10 RechargesProj 0x1001e20b4 DimeloChatServiceRechargesProjChatService (DimeloChatService.swift)
11 RechargesProj 0x100440ffc specialized specialized AppDelegate.userNotificationCenter(UNUserNotificationCenter, willPresent : UNNotification, withCompletionHandler : (UNNotificationPresentationOptions) -> ()) -> () (AppDelegate.swift:252)
12 RechargesProj 0x10043daa0 @objc AppDelegate.userNotificationCenter(UNUserNotificationCenter, willPresent : UNNotification, withCompletionHandler : (UNNotificationPresentationOptions) -> ()) -> ()
13 UIKit 0x18dc0fa00 -[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion:]
14 UIKit 0x18dbfd90c -[UIApplication workspace:didReceiveActions:]
15 FrontBoardServices 0x1893f4884 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__
16 FrontBoardServices 0x1893f46f0 -[FBSSerialQueue _performNext]
17 FrontBoardServices 0x1893f4aa0 -[FBSSerialQueue _performNextFromRunLoopSource]
18 CoreFoundation 0x1877f942c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
19 CoreFoundation 0x1877f8d9c __CFRunLoopDoSources0
20 CoreFoundation 0x1877f69a8 __CFRunLoopRun
21 CoreFoundation 0x187726da4 CFRunLoopRunSpecific
22 GraphicsServices 0x189191074 GSEventRunModal
23 UIKit 0x18d9e1c9c UIApplicationMain
24 RechargesProj 0x100040340 main (RechargeMapFavouritesListCellViewModel.swift:16)
25 libdyld.dylib 0x18673559c start
Thanks.
When configuring a DimeloConfig.plist
Bonjour,
Je veux changer le button "send" du clavier par "envoyer".
Merci pour votre réactivité surtout pour @waelbenabdallah
I'm developing a flutter plugin for Dimelo SDK for our application, I used to get ViewController from dimelo with bellow code and display the cat without Navigationbar but in my plugin the chat is not displying. If I do not disable the Navigationbar , in the plugin only the NavBar view displays, it's like if the chat view is not loading propertly.
func view() -> UIView {
let dimelo: Dimelo = Dimelo.sharedInstance()
dimelo.enableThreads = false
dimelo.embeddedAsFragment = false
let navController = dimelo.chatViewController()! as! UINavigationController
navController.setNavigationBarHidden(false, animated: false)
let chatView = navController.view!
chatView.backgroundColor = UIColor.cyan
return chatView
}
Note that calling dimelo.displayChatView()
displays well the chat in a modal view.
Hi,
We display the chat view in SwiftUI sheet, we have several issues
1- When we touch the textfield, the keyboard appear and hide the last messages
2- When we scroll in the view with the keyboard open, we have a big padding which seems to be the size of the keyboard
You can visualize the issues in the video.
https://github.com/ringcentral/engage-digital-messaging-ios/assets/13999022/fa19732b-5757-4b00-af38-e2b5d0fd66b1
We reproduced issues on this configuration :
Device: iPhone 15 Pro, iPhone 14 Pro ...
iOS: 17.0 and 16.0
SDK: Dimelo-iOS v2.6.2 and 2.6.3
We appreciate any help
Thanks
Hello,
We have got some crash when the Dimelo Bot answer to the user.
It seems that the error pop from [DimeloChatViewController viewWillDisappear:]
Here is the Crashlytics report:
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000004800000038
OS Version: 10.3.2 (14F89)
# Device: iPad Air
# RAM Free: 3%
# Disk Free: 16.2%
#0. Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x1851ec15c objc_msgSend + 28
1 mgendimelo 0x1000ad028 -[DimeloChatViewController viewWillDisappear:] + 4296085544
2 UIKit 0x18c8b8d34 -[UIViewController _setViewAppearState:isAnimating:] + 952
3 UIKit 0x18c92ba78 -[UIViewController __viewWillDisappear:] + 100
4 UIKit 0x18c91c5e4 -[UIViewController viewWillMoveToWindow:] + 484
5 UIKit 0x18c89babc -[UIView(Hierarchy) _willMoveToWindow:] + 460
6 UIKit 0x18c89c128 __85-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]_block_invoke + 88
7 UIKit 0x18c89c00c -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] + 448
8 UIKit 0x18c89c144 __85-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]_block_invoke + 116
9 UIKit 0x18c89c00c -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] + 448
10 UIKit 0x18c89c144 __85-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]_block_invoke + 116
11 UIKit 0x18c89c00c -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] + 448
12 UIKit 0x18c89c144 __85-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]_block_invoke + 116
13 UIKit 0x18c89c00c -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] + 448
14 UIKit 0x18c89c144 __85-[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]_block_invoke + 116
15 UIKit 0x18c89c00c -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:] + 448
16 UIKit 0x18cb9607c __UIViewWillBeRemovedFromSuperview + 552
17 UIKit 0x18c89b654 -[UIView(Hierarchy) removeFromSuperview] + 100
18 UIKit 0x18c96f3c0 -[UINavigationTransitionView _cleanupTransition] + 708
19 UIKit 0x18c8d941c -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 312
20 UIKit 0x18c8d75c8 +[UIViewAnimationState popAnimationState] + 320
21 UIKit 0x18c962b98 -[UINavigationTransitionView transition:fromView:toView:] + 1860
22 UIKit 0x18c958b20 -[UINavigationController _startTransition:fromViewController:toViewController:] + 2488
23 UIKit 0x18c957c2c -[UINavigationController _startDeferredTransitionIfNeeded:] + 856
24 UIKit 0x18c9577e0 -[UINavigationController __viewWillLayoutSubviews] + 64
25 UIKit 0x18c957744 -[UILayoutContainerView layoutSubviews] + 188
26 UIKit 0x18c89e07c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1200
27 QuartzCore 0x189a8e274 -[CALayer layoutSublayers] + 148
28 QuartzCore 0x189a82de8 CA::Layer::layout_if_needed(CA::Transaction*) + 292
29 QuartzCore 0x189a82ca8 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 32
30 QuartzCore 0x1899fe34c CA::Context::commit_transaction(CA::Transaction*) + 252
31 QuartzCore 0x189a253ac CA::Transaction::commit() + 504
32 QuartzCore 0x189a25e78 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 120
33 CoreFoundation 0x1867249a8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
34 CoreFoundation 0x186722630 __CFRunLoopDoObservers + 372
35 CoreFoundation 0x186722a7c __CFRunLoopRun + 956
36 CoreFoundation 0x186652da4 CFRunLoopRunSpecific + 424
37 GraphicsServices 0x1880bc074 GSEventRunModal + 100
38 UIKit 0x18c906058 UIApplicationMain + 208
39 mgendimelo 0x10004c660 main (AppDelegate.swift:16)
40 libdyld.dylib 0x18566159c start + 4
We use the last version of the SDK.
Can you help us?
Thanks.
Hello, when letting the SDK manage the notification, when user click on a push notification, the app is opened but the user isn't redirected automatically to the dimelo page. Since it's the sdk that manage the push notification how can we set a deeplink (or similar) to open the dimelo chat window ?
I integrate sdk 1.9.5 but when i show viewcontroller Dimelo i don't have back button here is a screen witch show what i m having
to show Dimelo Chat i'm doing something like that :
static func showDimeloChat(containerView: UIView) {
let appDelegate = UIApplication.shared.delegate as? AppDelegate
if let dimelo = appDelegate?.dimelo {
if let vc = dimelo.chatViewController() {
containerView.addSubview(vc.view)
}
}
}
Après l'ouverture de la fenêtre de Chat, si je bascule sur une autre appli comme, par exemple, mon agenda pour vérifier mes dispos, si cela prend un peu de temps (environ 1 min) alors lorsque je reviens sur l'application LCL mes comptes, je n'ai plus le champ de saisie pour discuter avec le Chatbot.
Après plusieurs essais, j'ai vu qu'en appuyant longuement sur une bulle existante, le champ de saisie réapparaît, cela ne me semble pas du tout intuitif.
Est-ce quelque chose qui est paramétrable pour que, par exemple, lorsque l’on ‘’clique’’ n’importe où dans l’écran, le champ de saisie réapparaisse ?
Je suis sur un Iphone 6 IOS11.
Merci pour votre aide.
In Objective-C, we can do the following:
Dimelo* dimelo = [[Dimelo sharedInstance] initWithApiSecret:@"secret api key" hostname:@"api.example.com" delegate:self];
In Swift, I tried
let dimelo = Dimelo.sharedInstance()
dimelo = Dimelo(apiSecret: 'secret api key', domainName: 'api.example.com', delegate: self)
But it didn't work. Because the second statement doesn't update the sharedInstance
at all.
How about we provide a method to explicitly set sharedInstance
? Like this:
let dimelo = Dimelo(apiSecret: 'secret api key', domainName: 'api.example.com', delegate: self)
Dimelo.setSharedInstance(dimelo)
Otherwise I really have no idea how to make sharedInstance
work in Swift. Let me know if there are some Swift syntax tricks that I am not aware of. Thanks.
Hello,
When trying to link with Dimelo.framework 1.7.3, I get the following error:
ld: warning: ignoring file .../Dimelo.framework/Dimelo, file was built for arm64 which is not the architecture being linked (x86_64): .../Dimelo.framework/Dimelo
Undefined symbols for architecture x86_64:a
"_OBJC_CLASS_$_Dimelo", referenced from:
objc-class-ref in DimeloFeature.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
It was OK with 1.7.1 and 1.7.2.
Bonjour,
j'ai fait une mise à ajour a la version 1.9.5 et j'ai changé mon code vers :
dimelo = Dimelo.sharedInstance()
dimelo.initialize(withApiSecret: apiSecret, domainName: "mondomaine", delegate: dimeloDelegate)
et avec la 1.9.2 étais bien marcher :
dimelo = Dimelo(apiSecret: apiSecret, domainName: "mondomaine", delegate: dimeloDelegate)
Pourquoi il affiche dimelo tout le temps meme si une notification hors messagerie ?
Hello,
I have integrated Dimelo 1.5.0 library in a Swift project.
Everything is working fine but when I click on "Add Attachment" button from the Dimelo chat view, the app crashes. I have no information from the debugger that could help me finding the cause.
Regards
Bonjour,
Je viens d'implementer Dimelo mais je ne reçois pas la notification de message. Voici mon code que j'ai implémenté (en swift).
Est ce que ca peut etre a cause de P8 communiqué? est ce qu'il faut fournir un P8 pour PROD et un P8 pour DEV?
// DimeloDelegate
func dimeloDisplayChatViewController(_ dimelo: Dimelo!) {
let vc: UIViewController? = Dimelo.sharedInstance().chatViewController()
vc?.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(self.closeChat))
if UIDevice.current.userInterfaceIdiom == .pad {
vc?.modalPresentationStyle = .formSheet
}
vc?.modalPresentationStyle = .overCurrentContext
self.present(vc!, animated: true, completion: {() -> Void in
})
}
@IBAction func closeChat(_ sender: Any) {
self.dismiss(animated: true, completion: {() -> Void in
})
}
func setupDimelo() {
dimelo = Dimelo.sharedInstance().copy() as? Dimelo
dimelo?.delegate = self
dimelo?.developmentAPNS = true
dimelo?.updateAppBadgeNumber = true
dimelo?.interactiveNotification = true
dimelo?.noteUnreadCountDidChange()
dimelo?.title = " "
let dimeloViewController = dimelo!.chatViewController
dimeloViewController().navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(self.closeChat))
addChildViewController(dimeloViewController())
dimeloViewController().view.frame = CGRect.init(origin: view.frame.origin, size: view.frame.size)
view.addSubview(dimeloViewController().view)
dimeloViewController().didMove(toParentViewController: self)
}
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// Register the device token.
Dimelo.sharedInstance().deviceToken = deviceToken
}
func dimeloDidBeginNetworkActivity(_ dimelo: Dimelo?) {
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func dimeloDidEndNetworkActivity(_ dimelo: Dimelo?) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {
//! If notification is from Dimelo, you don't have to handle anything
if Dimelo.sharedInstance().consumeReceivedRemoteNotification(userInfo) {
return
}
}
func application(_ application: UIApplication, didReceive notification: UILocalNotification) {
//! We simulate remote notification by putting its payload into a local notification.
if Dimelo.sharedInstance().consumeReceivedRemoteNotification(notification.userInfo) {
return
}
//! You app's handling of this notification.
}
func application(_ application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [AnyHashable : Any], withResponseInfo responseInfo: [AnyHashable : Any], completionHandler: @escaping () -> Void) {
Dimelo.sharedInstance().handleRemoteNotification(withIdentifier: identifier, responseInfo: responseInfo)
if completionHandler != nil {
completionHandler()
}
//! Otherwise, here you app's handling of this notification.
}
func updateBadge(withUnreadCount count: Int) {
tabChatVC?.tabBarItem.badgeValue = count > 0 ? "\(count)" : nil
}
func updateUnreadCount() {
unreadUpdateTimer?.invalidate()
Dimelo.sharedInstance().fetchUnreadCount(completionHandler: {(_ unreadCount: Int, _ error: Error?) -> Void in
if unreadCount == NSNotFound {
print("error while updating unreadCount : \(error ?? "" as! Error)")
if (error as NSError?)?.domain == DimeloHTTPErrorDomain && (error as NSError?)?.code == 429 {
// 429 Too many requests. Be nice, add some delay.
self.unreadFetchInterval += self.defaultUnreadFetchInterval
}
} else {
self.updateBadge(withUnreadCount: unreadCount)
}
self.scheduleUnreadCountUpdateTimer()
})
}
func scheduleUnreadCountUpdateTimer() {
unreadUpdateTimer?.invalidate()
unreadUpdateTimer = Timer.scheduledTimer(timeInterval: unreadFetchInterval, target: self, selector: #selector(self.updateUnreadCount), userInfo: nil, repeats: false)
}
func dimeloUnreadCountDidChange(_ notification: Notification?) {
updateBadge(withUnreadCount: Dimelo.sharedInstance().unreadCount)
scheduleUnreadCountUpdateTimer()
}
Dans l'attente d'une réponse de votre part.
Bien cordialement,
When project is compiled I see the warning:
umbrella header for module 'Dimelo' does not include header 'DimeloChatInputAccessoryView.h':
#import "Headers/Dimelo.h"
^
Am I right understand that it is Dimelo-iOS framework problem? Could you fix it?
Lorsque j'essaie de construire une archive de mon application, qui utilise le pod Dimelo, alors que le paramètre ENABLE_BITCODE
est activé, j'obtiens l'erreur suivante :
ld: bitcode bundle could not be generated because '.../Pods/Dimelo-iOS/Dimelo.framework/Dimelo' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '.../Pods/Dimelo-iOS/Dimelo.framework/Dimelo' for architecture arm64.
Si je supprime Dimelo de mon application ou que je désactive le paramètre ENABLE_BITCODE
, cela fonctionne.
Est-ce qu'il serait possible d'obtenir une version du SDK Dimelo compatible bitcode ?
Hello!
We have a problem with error alert localization (see attach).
As temporary solution we use "Error" and "Could not send the message" string keys. But it is not documented.
Could you add documentation for this case and cases like this? It would be good if you make new string keys with prefix like "dimelo...".
Bonjour,
Comme c'est déjà vu avant, le probleme persiste encore et ce n'est pas résolu encore!
A partir du menu, j'appel une interface qui cintient dimelo, lorsque l'utilisateur saisie son message et ouvre encore une fois le menu, le clavier ne se cache pas. Vous m'avez dit d'ajouter view.endEditing(true) mais dans ce cas (c'est que le clavier se cache à l'ouverture de menu) mais je perds l'accés au clavier a mon retour a l'interface de Dimelo.
Hello,
we uploaded our binary to iTunes Connect but we received the following error message:
Dear developer,
We have discovered one or more issues with your recent delivery for "xyz". To process your delivery, the following issues must be corrected:
Invalid Bundle - A nested bundle contains simulator platform listed in CFBundleSupportedPlatforms Info.plist key.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team
We checked our workspace and Dimelo is the only framework which contains "iPhoneSimulator" in its Info.plist file.
By changing the value of this key to "iPhoneOS", I was able to have the binary validated by Apple but it's now a satisfactory solution.
Can you change your Info.plist as I believe we are not the only ones impacted ?
Thanks very much,
Anthony
Hello!
It seems that server doesn't send information about badge in a remote notification.
I see badge: (null)
in a notification description.
Would you describe this moment?
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.