作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在为 准备我的应用程序iOS 12 但是每当我点击任何UITextField
或 UITextView
应用程序崩溃,我得到这个无法识别的选择器错误。
我试过的
UIViewController
中引用它但是仍然会收到相同的崩溃和错误消息。 UITextView
/UITextField
但是 - 同样的崩溃错误。 AFAnalytics.h
是
AssistantServices.framework
的一部分我在 Xcode 10 Beta 6 和公共(public) Xcode 9 中都找不到?
Keyboard Type
至
E-mail Address
在界面生成器中,该字段工作得非常好。将其设置为其他任何内容会使应用程序崩溃。
[UIDictationConnection analytics]
?
Class AFAnalytics is implemented in both /Users/ashleyrichards/Library/Developer/CoreSimulator/Devices/C155EF28-3C0B-4AFF-9EF6-0235295A26DC/data/Containers/Bundle/Application/562B100D-F657-424E-8B77-99D0325F6035/Social Dummy.app/Social Dummy (0x10a33d610) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AssistantServices.framework/AssistantServices (0x13654d178). One of the two will be used. Which one is undefined.
AFAnalytics
相关的类(class).
AFAnalytics
.我什至不知道它有什么作用..我该如何摆脱它?
最佳答案
我找到了一种防止崩溃的解决方法。我们可以使用 iOS 运行时来调配类方法。主要思想是从 +[AFAnalytics sharedAnalytics]
重定向消息至+[iOS12AFAnalyticsBug newSharedAnalytics]
.类方法“newSharedAnalytics”有意返回无 和 nil 的消息不会导致崩溃。但请谨慎使用此解决方法,因为您的应用程序中的某些代码出于某些目的使用了 AFAnalytics。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[iOS12AFAnalyticsBug fix];
//your code
}
@interface iOS12AFAnalyticsBug : NSObject
+ (void)fix;
@end
#import "iOS12AFAnalyticsBug.h"
#include <objc/message.h>
void SwizzleClassMethod(Class originClass, SEL originSelector, Class destClass, SEL newSelector) {
Method originMethod = class_getClassMethod(originClass, originSelector);
Method newMethod = class_getClassMethod(destClass, newSelector);
originClass = object_getClass((id)originClass);
if (class_addMethod(originClass, originSelector, method_getImplementation(newMethod), method_getTypeEncoding(newMethod))) {
class_replaceMethod(originClass, newSelector, method_getImplementation(originMethod), method_getTypeEncoding(originMethod));
} else {
method_exchangeImplementations(originMethod, newMethod);
}
}
@implementation iOS12AFAnalyticsBug
+ (instancetype)newSharedAnalytics {
return nil; //All messages to nil won't cause a crash
}
+ (void)fix {
Class originClass = NSClassFromString(@"AFAnalytics");
SEL originSelector = NSSelectorFromString(@"sharedAnalytics");
SwizzleClassMethod(originClass, originSelector, self.class, @selector(newSharedAnalytics));
}
@end
关于xcode - 无法识别的选择器 +[AFAnalytics sharedAnalytics]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52104091/
我目前正在为 准备我的应用程序iOS 12 但是每当我点击任何UITextField或 UITextView应用程序崩溃,我得到这个无法识别的选择器错误。 我试过的 他们的代表与文件所有者相关联(是的
我是一名优秀的程序员,十分优秀!