-
CLI 없이 Xcode Workspace에 Cordova Custom Plugin 추가하기iOS 2023. 6. 23. 10:16
보통은 아래와 같은 방법으로 커스텀 플러그인을 추가합니다. 하지만 여의치 않은 경우(Cordova-based project가 없거나 플러그인을 배포하지 않은 상황) Command Line Interface 없이 Xcode Workspace에 파일 복사 및 추가 코드를 작성함으로써 플러그인을 포함해야 할 때도 있습니다.
$ cordova plugin add 커스텀 플러그인 이름 $ cordova plugin add URL $ cordova plugin add ../path/to/my/plugin/relative/to/project --link
config.xml
<!-- 플러그인 이름 --> <feature name="CustomPlugin"> <!-- 클래스 이름 --> <param name="ios-package" value="CDVCustomPlugin"> </feature>
cordova_plugins.js
... // plugin.xml 내용 적용 { "id": "cordova-plugin-custom.CustomPlugin", "file": "plugins/cordova-plugin-custom/www/custom.js", "pluginId": "cordova-plugin-custom", "clobbers": [ "custom" // js에서 사용할 앨리어스 ] } ]; // 버전 설정 module.exports.metadata = { "cordova-plugin-custom": "0.0.1" };
www/js/plugins/cordova-plugin-custom/www/custom.js
cordova.define("cordova-plugin-custom.CustomPlugin", function(require, exports, module) { var exec = require('cordova/exec'); exports.customMethod-1-js = function(successCallback, failureCallback, param1, param2, param3, param4) { exec(successCallback, failureCallback, "CustomPlugin", "customMethod-1-swift", [param1, param2, param3, param4]); }; exports.customMethod-2-js = function(successCallback, failureCallback) { exec(successCallback, failureCallback, "CustomPlugin", "customMethod-2-swift", []); }; });
또는
cordova.define("cordova-plugin-custom.CustomPlugin", function(require, exports, module) { var CustomPlugin = function() {}; CustomPlugin.customMethod-1-js = function(successCallback, failureCallback, param1, param2, param3, param4) { cordova.exec(successCallback, failureCallback, "CustomPlugin", "customMethod-1-swift", [param1, param2, param3, param4]); }; CustomPlugin.customMethod-2-js = function(successCallback, failureCallback) { cordova.exec(successCallback, failureCallback, "CustomPlugin", "customMethod-2-swift", []); }; module.exports = CustomPlugin; });
Note that
iOS Project/Plugins 그룹에 커스텀 플러그인 소스코드 복사
Bridging-Header는 컴파일 타임에 Swift 기반의 코드에서 Objective-C 코드를 참조하고 사용할 수 있게 해주기 때문에, Swift 코드와 함께 사용할 Objective-C 코드가 있다면 Bridging-Header.h에 포함
사용할 리소스는 Resources 그룹 아래에 복사
'iOS' 카테고리의 다른 글
iOS WKWebView 파일 다운로드 (0) 2024.03.15 Apple Certificates (0) 2024.02.14 Swift를 사용해서 Cordova Custom Plugin 만들기 (2) (0) 2023.05.25 Swift를 사용해서 Cordova Custom Plugin 만들기 (1) (0) 2023.05.25 Swift Package에 GitHub Actions 사용하기 (0) 2023.05.05