2017-10-05 4 views
0

이온 앱 페이지 컨트롤러에는 전화 번호, 이메일 또는 기타 연락처 정보가있는 버튼을 클릭 할 때 트리거되는 코드가 있습니다. 버튼을 클릭하면 텍스트의 값이 토스트로 이동하고 확인이 렌더링됩니다. 하지만 텍스트를 붙여 넣기 위해 iOS의 다른 앱으로 이동하면 아무 것도 붙여 넣지 않습니다.코르도바 클립 보드 붙여 넣기에 실패했습니다

async copyToClipboard(text : string){ 
    try{ 
    await this.clipboard.copy(text); 

    let toast = this.toastCtrl.create({ 
     message: 'Copied ' + text, 
     duration: 2000, 
     position: 'bottom', 
     dismissOnPageChange : true 
    }); 

    toast.present(); 
    } 
    catch(e){ 
    console.error(e); 
    } 
} 
+0

동일한 문제가 있습니다. 다른 앱에는 붙여 넣을 수 없지만 텍스트 상자가있는 Chrome에서 일부 웹 페이지를 열면 거기에 붙여 넣을 수 있으므로 복사 된 정보는 클립 보드에 있지만 일부 이상한 제한이 있습니다. – NullIsNot0

+0

클립 보드 코드바 플러그인이 설치되어 있는지 확인 했습니까? 일반적으로 네이티브 플러그인이 브라우저에서는 작동하지만 앱에서는 작동하지 않는 경우는 npm ionic/native 모듈이 설치되었지만 cordova 플러그인이 설치되지 않았기 때문입니다. 다음을 실행하여이를 수행 할 수 있습니다. ionic cordova plugin –

+0

@ NullIsNot0 솔루션을 찾은 것 같습니다. 아래를 확인하십시오. –

답변

1

iOS 9, 10, 11에 영향을 미치는 문제인 것처럼 보이므로 버그가 그대로 남아 있다는 것은 놀라운 일입니다. 플러그인의 github repo 문제를 살펴보면 해결책을 찾을 수 있습니다.

플러그인의 src/ios/CDVClipboard.m 파일에서 다음과 같이 변경하십시오. 트릭을 할해야

pasteboard.string = text; 

:

이 라인이 라인으로

[pasteboard setValue:text forPasteboardType:@"public.text"]; 

를 교체!

+0

다음은 github repo 문제입니다. https://github.com/XPanniX/CordovaClipboard/pull/1/commits/dac4c0e5eb29fbccbc9c6f9c0e8c45971b5deea7 –

+0

당신은 내 영웅입니다! 이제 붙여 넣기가 매력처럼 작동합니다. – NullIsNot0

+0

주저하지 마세요. –