Catalina부터 Mac OS는 특정 폴더에서 개인정보 보호 컨트롤을 지원합니다. 예를 들어 스크립트가 여러 파일 가져오기 로 데스크톱에서 파일을 읽으려고 하면 JMP Pro 16.app이 데스크톱 폴더의 파일에 액세스하려고 한다는 팝업이 표시됩니다. 확인을 선택하면 모든 것이 정상적으로 작동합니다. 하지만 허용 안 함을 선택하면 MFI 명령어가 런타임 오류 없이 실패하지만 나중에 실패할 수 있습니다(데이터 테이블이 반환되지 않았기 때문). 일부 예제 코드는 다음과 같습니다.
fileList = Pick File( "Choose Insight File(s)", "~/Downloads", {"csvOnly|csv"}, 1, 0, "", "multiple" );
:
Multiple File Import( ... );
dt = Current Data Table();
allCols = dt << Get Column Names( String );이 경우에는 현재 데이터 테이블이 없으므로 dt가 정의되지 않았고, 열 이름 가져오기 명령은 다음 메시지와 함께 실패합니다.
Send Expects Scriptable Object in access or evaluation of 'Send' , dt << /*###*/Get Column Names( String ) /*###*/
질문은 다음과 같습니다. 여러 파일 가져오기 명령이 파일을 열고 읽는 데 실패했는지 확인하는 권장 방법은 무엇입니까?
팝업에서 허용 안 함을 선택하면, 앞으로는 질문이 나오지 않고 MFI는 그냥 조용히 실패합니다. (설정은 시스템 환경 설정, 보안 및 개인 정보 보호, 개인 정보 보호, 파일 및 폴더, JMP Pro 16.app에서 언제든지 변경할 수 있습니다.)
더 광범위하게, Pick File 명령이 처음에 Navigation 창에서 Desktop의 파일에 액세스할 수 있도록 허용한 이유는 무엇입니까? 개인 폴더는 Navigation 창에서 제외되어야 하는 것 같습니다.
JMP 15에서는 이 문제가 없다는 것도 알 수 있습니다. 따라서 폴더 개인 정보 보호는 JMP 16에서 추가된 것 같습니다. (저는 16.2.0을 실행 중입니다.)
안녕,
기술 지원( support@jmp.com ) 이 쿼리를 사용합니다.
문안 인사,
필
이 문제를 자세히 조사한 후 이 문제를 Development에 보고했습니다. macOS가 필요한 프롬프트를 표시하지 않는 것 같습니다( JMP Pro 16.app이 <> 폴더의 파일에 액세스하려고 합니다. ) 각 디렉토리에 대해.다운로드 디렉토리에 대해서만 그렇게하는 것 같습니다. 다른 디렉토리는 완전히 무시됩니다. 우리 개발 팀은 이 문제를 계속 조사할 것입니다.
폴더 액세스 권한이 부여되지 않은 경우 MFI 가져오기가 실패할 수 있는 경우를 확인하려면 다음을 사용하는 것이 좋습니다.
mfi = Multiple File Import(
<<SET folder=""></SET>
Dahlia, 이를 특성화하는 데 도움을 주신 인내심과 결단력에 감사드립니다. 향후 JMP 업데이트를 기대합니다.
귀하가 제공한 논리를 구현했으며 이제 스크립트가 매우 잘 작동하고 예측 가능합니다.