본문 바로가기

Programming/기타

[Cordova] 2. 플러그인 생성

 이번에는 Cordova Plugin 생성 및 iOS Framework 추가하는 부분을 정리하려고 합니다. 생성되는 코드는 건들이지 않고 추가만 하는 방향으로 진행하였습니다.

 

1. Cordova 설치(미설치인 경우에만)

sudo npm install -g cordova

 

2. Plugman 설치

npm install -g plugman

 

3. Plugin 생성

plugman create --name CordovaPlugin --plugin_id com.example.cordovaPlugin --plugin_version 0.0.1

 -> 위의 명령어는 따로 플러그 인을 생성할때 사용하는 명령어 입니다.

 -> 기존에 있는 플러그인을 가져오려고 하는 경우 도큐먼트 참고 하시면 될것 같습니다.

  (https://cordova.apache.org/docs/en/11.x/guide/hybrid/plugins/index.html)

 

4. 생성한 디렉터리로 이동

cd CordovaPlugin/

 

5. iOS 플랫폼 추가

plugman platform add --platform_name ios

 

6. 생성된 파일 확인

 -> 위의 명령어까지 진행 후, 아래와 같이 파일이 생성되었는지 확인

 

7. 프레임워크 추가

  1) CordovaPlugin/src/ios 경로에 Framework 파일 추가

  2) CordovaPlugin/plugin.xml 파일 수정

    -> </platform> 하단에 <framework src=”프레임워크 경로” custom=”true”/> 추가

<?xml version='1.0' encoding='utf-8'?>
<plugin id="com.example.cordovaPlugin" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>CordovaPlugin</name>
    <js-module name="CordovaPlugin" src="www/CordovaPlugin.js">
        <clobbers target="cordova.plugins.CordovaPlugin" />
    </js-module>
    <platform name="ios">
        <config-file parent="/*" target="config.xml">
            <feature name="CordovaPlugin">
                <param name="ios-package" value="CordovaPlugin" />
            </feature>
        </config-file>
        <source-file src="src/ios/CordovaPlugin.m" />
    </platform>
    <framework src="src/ios/XCSiOS.framework" custom="true"/>
</plugin>

 

8. Package.json 생성

sudo plugman createpackagejson .

 

9. 플러그인 설치

  1) 플러그인을 설치할 프로젝트 디렉터리로 이동

../corproject

  2) 프로젝트 디렉터리에서 명령어 입력

cordova plugin add --link ../CordovaPlugin/ --verbose

  3) 설치 확인

    => node_modules 디렉터리 내부에 com.example.cordovaPlugin 디렉터리가 생성되었는지 확인

 

여기까지 진행하셨으면 xcode로 프로젝트 열어서 Plugin 디렉터리에서 Framework 접근 가능합니다. 도움이 되셨길 바랍니다.

'Programming > 기타' 카테고리의 다른 글

[Cordova] 1. Cordova Project 생성  (0) 2023.02.06