카카오 링크 오류 unrecognized selector sent to instance _BSMachError: port 1dd23; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND, KCMErrorDomain Code=1

카카오링크 구현시 아래 코드(1)는 정상작동 되는데, (2)는 컴파일 및 앱 실행은 정상적으로 되지만 해당 코드가 실행되는 시점에 오류 KCMErrorDomain Code=1 unrecognized selector sent to instance ( _BSMachError: port 1dd23; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND ) 가 발생하는데, 왜그런지 이유를 모르겠네요ㅠ 확인 부탁드리겠습니다!

(1) 정상작동 코드

KMTTemplate *template = [KMTFeedTemplate feedTemplateWithBuilderBlock:^(KMTFeedTemplateBuilder * _Nonnull feedTemplateBuilder) {
    
    // 콘텐츠        
    feedTemplateBuilder.content = [KMTContentObject contentObjectWithBuilderBlock:^(KMTContentBuilder * _Nonnull contentBuilder) {
        contentBuilder.title = FUNC_ChkAndRtrnStr(self.lbOrg.text);
        contentBuilder.desc = FUNC_ChkAndRtrnStr(self.lbContents.text);;
        contentBuilder.imageURL = [NSURL URLWithString: strImgURL];
        contentBuilder.link = [KMTLinkObject linkObjectWithBuilderBlock:^(KMTLinkBuilder * _Nonnull linkBuilder) {
            linkBuilder.iosExecutionParams = strLinkURL_iOS;
            linkBuilder.androidExecutionParams = strLinkURL_Android;
        }];
    }];
    
    [feedTemplateBuilder addButton:[KMTButtonObject buttonObjectWithBuilderBlock:^(KMTButtonBuilder * _Nonnull buttonBuilder) {
        buttonBuilder.title = @"앱에서 확인";
        buttonBuilder.link = [KMTLinkObject linkObjectWithBuilderBlock:^(KMTLinkBuilder * _Nonnull linkBuilder) {
            linkBuilder.iosExecutionParams = strLinkURL_iOS;
            linkBuilder.androidExecutionParams = strLinkURL_Android;
        }];
    }]];
}];


[[KLKTalkLinkCenter sharedCenter] sendDefaultWithTemplate:template success:^(NSDictionary<NSString *,NSString *> * _Nullable warningMsg, NSDictionary<NSString *,NSString *> * _Nullable argumentMsg) {
    // 성공
    NSLog(@"success : %@", argumentMsg);
} failure:^(NSError * _Nonnull error) {
    // 에러
    NSLog(@"failure : %@", error.description);
}];

(2) 런타임 오류가 나는 코드

KMTTemplate *template = [KMTTextTemplate textTemplateWithBuilderBlock:^(KMTTextTemplateBuilder * _Nonnull textTemplateBuilder) {
    textTemplateBuilder.text = [NSString stringWithFormat:@"%@\n%@", self.lbTitle.text, self.lbPostAddr.text];
    textTemplateBuilder.link = [KMTLinkObject linkObjectWithBuilderBlock:^(KMTLinkBuilder * _Nonnull linkBuilder) {
        linkBuilder.mobileWebURL = strLinkURL;
    }];
    textTemplateBuilder.buttonTitle = @"앱에서 확인";
}];


[[KLKTalkLinkCenter sharedCenter] sendDefaultWithTemplate:template success:^(NSDictionary<NSString *,NSString *> * _Nullable warningMsg, NSDictionary<NSString *,NSString *> * _Nullable argumentMsg) {
    // 성공
    NSLog(@"success : %@", argumentMsg);
} failure:^(NSError * _Nonnull error) {
    // 에러
    NSLog(@"failure : %@", error.description);
}];

해결 : 링크 URL에 String 객체가 할당되었을때 나오는 오류메세지. URL 객체를 할당하면 해결됩니다!

1개의 좋아요