ios 사용법 설명에 대한 edit-config : doc.find는 함수가 아닙니다.


82

에서 edit-config태그를 사용할 때 config.xml빌드시 다음 오류가 발생합니다.

Error: doc.find is not a function

어떤 아이디어?



아마도! 감사합니다
Benjamin E.

1
이러한 사용법 설명을 추가하는 대안은 다음과 같습니다. github.com/dpa99c/cordova-custom-config
DaveAlden

감사합니다, 전문가가 대답)
벤자민 E.

답변:


177

platforms/ios/ios.json파일이 .NET Framework와 충돌 할 때 오류가 발생했다고 생각 합니다 config.xml.

이 문제를 해결하려면 *-Info.plist키와 해당 값을 제거 platforms/ios/ios.json하고 cordova prepare ios다시 수행 하십시오.

--- 2020 년 5 월 17 일 추가 ---

일부 플러그인에에 config-file대한 태그가 *-Info.plist있고 config.xml에에 edit-config대한 태그가있는 *-Info.plist경우이 오류가 발생할 수 있습니다. 이 경우, 제거 platforms/*plugins/*다음과 cordova platform add ioscordova prepare다시. ( cordova prepare없이 수행 cordova platform add ios하면이 오류가 발생할 수 있습니다.)


7
이 쓰레기 오류가 얼마나 유익하지 않은지 고려한 좋은 솔루션입니다!
jdixon04

7
이 솔루션이 작동하지 않는 경우 플랫폼> ios> ios.json 파일로 이동하고 * -Info.plist 상위 키 내에서 config.xml 파일에 추가 된 새 값을 추가하십시오. 예를 들어 NSPhotoLibraryUsageDescription edit-config 태그를 추가하는 경우 다음을 추가합니다."NSPhotoLibraryUsageDescription": [ { "xml": "<string>Need photo library access to get pictures from there.</string>", "count": 1, "mode": "merge", "id": "config.xml" } ],
Juan Bernal

7
이것은 도움이되었지만 이것에 대해 읽었습니다 ( stackoverflow.com/a/48558496/1176567 ). cordova ios 플랫폼을 제거하고 다시 추가하면 작동합니다. 이 문제는 iOS 플랫폼이 이미 추가 된 후 <edit-config>로 config.xml을 업데이트 한 경우 발생합니다.
jsr

55

Cordova 7.1.0 부터 파일에이 이미 채워진 경우 와 <edit-config>충돌 하는 기존 문제가 있습니다.platforms/ios/ios.json*-Info.plistjson

<config-file>대신 사용하여 문제를 해결했습니다 .

해결책:

<config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
    <string>need location access to find things nearby</string>
</config-file>

1
Apple은 지금 요청 NSLocationAlwaysUsageDescription하고 있습니다. 이것은 내 문제를 많이 해결합니다!
David Dal Busco

1
이것이 완벽한 답입니다.
Neel

34

나는 이것을 Ionic 3. 이제 잘 작동합니다 :)

해결책:

ionic cordova platform remove ios
ionic cordova platform add ios

iOS 플랫폼을 다시 추가하면 ios.json파일 이 새로 생성 됩니다.


놀랄 만한! 이에 대한 문서를 찾을 수 없습니다.
ken

2
이것은 일종의 핵 옵션입니다 ... 먼저 시도하지 마십시오.
mmmpop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.