Coder Social home page Coder Social logo

meiqiasdk-ios's Issues

iOS SDK导致所有tableview section header 无法释放问题。

美洽iOS 3.4.2复写了tablview 的 viewForHeaderInSection 方法吗?
如今使用sdk,所有tableview中有使用viewForHeaderInSection的会出现内存泄漏,sectionHeaderView无法释放。删除sdk就不会报。
内存泄漏测试工具:MLeaksFinder

iOS 8.1 系统 美洽3.4.2, 崩溃MQRefresh deallloc方法

特别是当我由一个VC push进入一个含有tableVie 列表, 刷新完数据, pop 退出, 直接崩溃, 我并没有引用MQRefresh这个类, 为什么会影响到这个.
2017-09-27 5 19 01

我仔细看了, 发现你的MQRefresh 对系统tableview 的 预测高度的代理方法, 造成了影响, 凡是使用了, 预测高度的代理方法的, 无论有没有用使用你的MQRefresh , 只要导入你这个库, 都会造成崩溃.

另外这个影响只有在低于9.0 的系统才会出现

美洽引用的第三方扩展UIColor+Hex会替换掉TSMessage的导致其背景全部变黑

这个扩展的这段代码不接受#字符作为颜色字符串的首字符,使得TSMessage加载缺省配置文件TSMessageDefaulDesign.json中的颜色值为0x000000,从而使其背景全部变黑。

+ (UIColor *)colorWithHexString:(NSString *)hexString {
    NSScanner *scanner = [NSScanner scannerWithString:hexString];
    unsigned result = 0;
    [scanner scanHexInt:&result];
    return [self.class colorWithHex:result];
}

TSMessage引用的三方的实现是这样的:

+ (HXColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha
{
    // Check for hash and add the missing hash
    if('#' != [hexString characterAtIndex:0])
    {
        hexString = [NSString stringWithFormat:@"#%@", hexString];
    }

    // check for string length
    assert(7 == hexString.length || 4 == hexString.length);

    // check for 3 character HexStrings
    hexString = [[self class] hexStringTransformFromThreeCharacters:hexString];

    NSString *redHex    = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(1, 2)]];
    unsigned redInt = [[self class] hexValueToUnsigned:redHex];

    NSString *greenHex  = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(3, 2)]];
    unsigned greenInt = [[self class] hexValueToUnsigned:greenHex];

    NSString *blueHex   = [NSString stringWithFormat:@"0x%@", [hexString substringWithRange:NSMakeRange(5, 2)]];
    unsigned blueInt = [[self class] hexValueToUnsigned:blueHex];

    HXColor *color = [HXColor colorWith8BitRed:redInt green:greenInt blue:blueInt alpha:alpha];

    return color;
}

请看看吧。

升级sdk 提示 "MQMessageFactoryHelper.h" not found

在 MQServiceToViewInterface 中 :有如下引用#import "MQMessageFactoryHelper.h" ,MQVisialMessageFactory.h
我们之前引用方式是手动引用的,没有这个文件,直接覆盖sdk目录后,发现上述一些文件存在目录中但没加入xcode 索引目录需要手动拉进来,解决方法是把xcode中之前的MessageModels文件引用清空在把文件全部从新拖进去

3.6.5版本卡顿

堆栈如下:
-[MEIQIA_SRWebSocket _updateSecureStreamOptions] (in ) (SRWebSocket.m:0)
-[MEIQIA_SRWebSocket openConnection] (in ) (SRWebSocket.m:0)
-[MEIQIA_SRWebSocket open] (in ) (SRWebSocket.m:404)
-[MQSocketManager connectSocket] (in ) (MQSocketManager.m:0)
__30+[MQManager openMeiqiaService]_block_invoke (in ) (MQManager.m:1056)

xcode14.2 Uninitialized (-2009)

meiqia
版本3.7.9升级3.8.8后,接入sdk代码不变,xcode13.3运行正常,14.2进入聊天界面提示Uninitialized (-2009)。
下载demo运行同样报错。

image

image

image

QOS_CLASS_USER_INTERACTIVE 在iOS16 后报这个危险警告!能否处理一下。

Thread Performance Checker: Thread running at QOS_CLASS_USER_INTERACTIVE waiting on a lower QoS thread running at QOS_CLASS_DEFAULT. Investigate ways to avoid priority inversions
PID: 15388, TID: 950428
Backtrace

3 Meiqia 0x0000000106588c08 -[MEIQIA__SRRunLoopThread runLoop] + 44
4 Meiqia 0x0000000106588948 __50+[NSRunLoop(MEIQIA_SRWebSocket) SR_networkRunLoop]_block_invoke + 140
5 libdispatch.dylib 0x000000010693e04c _dispatch_client_callout + 20
6 libdispatch.dylib 0x000000010693fbbc _dispatch_once_callout + 136
7 Meiqia 0x0000000106588894 +[NSRunLoop(MEIQIA_SRWebSocket) SR_networkRunLoop] + 84

pod方式编译不过,找不到头文件

pod方式,在mac mini盒子上编译一直不过,在笔记本上编译都过,找了半天,发现有两个问题,并找到原因

  1. 有些地方是meiQia.h,有些地方是meiqia.h
  2. framework里面.h文件引用混乱,互相引用

mac mini的磁盘工具默认设置是区分大小写,而mac book默认是不区分大小写,所以这个错误在mac book上被掩盖了,请修复一下,统一是meiQia.h或者meiqia.h

美洽接起来真**糟心,没入坑的千万别买

  1. carthage:
*** Building scheme "Meiqia" in Meiqia-SDK-Demo.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project xxx/Carthage/Checkouts/MeiqiaSDK-iOS/Meiqia-SDK-Demo/Meiqia-SDK-Demo.xcodeproj -scheme Meiqia -configuration Release -derivedDataPath ~/Library/Caches/org.carthage.CarthageKit/DerivedData/10.0_10A255/MeiqiaSDK-iOS/v3.4.7 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/33/16l0lj_94zd89wjd17qmr95m0000gn/T/MeiqiaSDK-iOS SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in xxx/Carthage/Checkouts/MeiqiaSDK-iOS)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/33/16l0lj_94zd89wjd17qmr95m0000gn/T/carthage-xcodebuild.DC9U97.log
  1. pods:

objc[44343]: Class MQModel is implemented in both ~/Library/Developer/CoreSimulator/Devices/290ABA71-A5AA-4474-8658-4277905A3818/data/Containers/Bundle/Application/10AEC2FA-FACD-47BA-8AAF-93F92F9042EF/demo.app/Frameworks/Meiqia.framework/Meiqia (0x1130eca68) and ~/Library/Developer/CoreSimulator/Devices/290ABA71-A5AA-4474-8658-4277905A3818/data/Containers/Bundle/Application/10AEC2FA-FACD-47BA-8AAF-93F92F9042EF/demo.app/target (0x10c510770). One of the two will be used. Which one is undefined.

  1. 自行导入:
    警告有400+

总结下来就是,心累

使用Carthage安装SDK是报错

Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -project /Users/qincheng/Desktop/MyGit/IndustrialMatrix-Swift/QCSwiftProject/Carthage/Checkouts/MeiqiaSDK-iOS/Meiqia-SDK-Demo/Meiqia-SDK-Demo.xcodeproj -scheme Meiqia -configuration Release -derivedDataPath /Users/qincheng/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/MeiqiaSDK-iOS/v3.4.3 -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath ./ SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO (launched in /Users/qincheng/Desktop/MyGit/IndustrialMatrix-Swift/QCSwiftProject/Carthage/Checkouts/MeiqiaSDK-iOS)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/9z/fj42hrcx4g92xf32mzbyrgjw0000gn/T/carthage-xcodebuild.qHqtvb.log

控制台日志输出是:
Undefined symbols for architecture arm64:
"OBJC_CLASS$_MQInputToolView", referenced from:
objc-class-ref in MQChatViewController.o
"OBJC_CLASS$_MQBotMenuWebViewBubbleAnswerCellModel", referenced from:
objc-class-ref in MQChatViewService.o
"OBJC_CLASS$_MQToolUtil", referenced from:
objc-class-ref in MQChatViewController.o
objc-class-ref in MQAGEmojiKeyBoardView.o
objc-class-ref in MQChatTableView.o
objc-class-ref in MQMessageFormViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** ARCHIVE FAILED **

The following build commands failed:
Ld /Users/qincheng/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/MeiqiaSDK-iOS/v3.4.3/Build/Intermediates.noindex/ArchiveIntermediates/Meiqia/IntermediateBuildFilesPath/Meiqia-SDK-Demo.build/Release-iphoneos/Meiqia.build/Objects-normal/armv7/Meiqia normal armv7
Ld /Users/qincheng/Library/Caches/org.carthage.CarthageKit/DerivedData/9.1_9B55/MeiqiaSDK-iOS/v3.4.3/Build/Intermediates.noindex/ArchiveIntermediates/Meiqia/IntermediateBuildFilesPath/Meiqia-SDK-Demo.build/Release-iphoneos/Meiqia.build/Objects-normal/arm64/Meiqia normal arm64
(2 failures)

关于用户资料的更新问题

你好,我尝试每次打开客服界面时都传最新的用户资料,但后台没有更新,难道用户资料只有第一次传递有效,之后的不会覆盖之前的信息么?

MEIQIA_MKAnnotationView

MQChatViewManager文件包含了MQNamespacedDependencies.h, 而这个头文件中用宏定义替换了MapKit中的MKAnnotationView,但是美洽SDK并没有包含MEIQIA_MKAnnotationView.h,导致只要用到了MKAnnotationView就无法编译

聊天界面问题

聊天界面出现cell的隐式动画,是由于弹出键盘时候修改table.frame的动画导致的

TTTAttributedLabel

建议不要用别人的,自己封装一下。。尽量避免冲突

3.7.6 内部报错

Property 'sectionHeaderTopPadding' not found on object of type 'MQChatTableView *'

iPad分屏适配

UI上太多bug了,iPad分屏应用接入之后体验特别差,UI错位,聊天过程中抖动也特别厉害。
下面是两张截图,使用iOS SDK版本是3.5.0。
目前我们暂时跳网页了。希望开发者尽快修复。

Jietu20200320-154540
Jietu20200320-154624

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.