❗️ Xcode가 설치되어 있다는 조건 하에 진행됩니다.
Google의 iOS mediapipe 빌드 관련 문서에서
최신 버전을 얻기 위해 Homebrew 사용을 권장하고 있어, Homebrew를 이용해 설치했습니다.
brew install bazelisk
✔️ Bazellisk ?
Go로 작성 된 Bazel(Make, Maven, Gradle과 같은 오픈소스 빌드 및 테스트 툴) wrapper.
TensorFlow에 필요합니다.
✔️ TensorFlow ?
구글이 만든 파이썬과 C++ 기반의, 기계 학습 및 인공 지능을 위한 무료 오픈 소스 소프트웨어 라이브러리입니다.
다양한 작업에 사용 가능하며, 심층 신경망 훈련 및 추론에 특화되어 있습니다.
pip3 install --user six
원하는 위치에 파일 생성 후, MediaPipe 리포지토리를 복제합니다.
git clone https://github.com/google/mediapipe.git
Custom provisioning도 가능하지만, 저는 명령어를 사용해 생성했습니다만!
문서에 나와 있는 명령어 입력시 파일을 찾을 수 없다는 오류가 발생했습니다.
경로 설정을 제대로 해주니, 정상 생성!
// Bundle ID Prefix 생성 명령어
python3 mediapipe/examples/ios/link_local_profiles.py
위 명령어를 작성하고 나면, bundle_id.bzl
파일에서 아래와 같이 확인 가능!
Bazel 빌드 구성에서 Xcode 프로젝트를 생성하기 위해 Tulsi 라는 도구를 사용 합니다.
아래 명령어를 순서대로 실행해줍니다.
# cd out of the mediapipe directory, then:
git clone https://github.com/bazelbuild/tulsi.git
cd tulsi
# remove Xcode version from Tulsi's .bazelrc (see http://github.com/bazelbuild/tulsi#building-and-installing):
sed -i .orig '/xcode_version/d' .bazelrc
아래와 같이 뜨면, 설치 완료!
tulsi
라는 폴더가 생성되어있습니다.mediapipe/Mediapipe.tulsiproj
이라는 파일을 Tulsi를 통해 열어줍니다.해당 경로로 이동 후, 아래 명령어를 통해 Tulsi를 열어줍니다.
sh build_and_run.sh
위 명령어를 입력하면, 아래와 같이 Tulsi가 열립니다.
open existing project -> mediapipe/Mediapipe.tulsiproj 선택 후, 우측 하단 Bazel
버튼을 누릅니다.
아래 이미지와 같이 bazel
을 선택 후, Select
버튼을 눌러줍니다.
Configs 탭으로 이동 후, 우측 하단의 Generate
를 눌러줍니다.
이제 생성 될 Xcode 파일을 어디에 저장할 지, 경로를 선택해주면 끝!
이어야 하는데..^^ 오류가 발생했읍니다.
numpy
가 없다고 다운 받으라는 메세지입니다.
✔️ Numpy ? (넘파이)
TensorFlow 에 사용하기 위해 Python과 Python six 를 사용하지 않습니까?
Numpy는 다차원 배열을 쉽게 처리하고, 효율적으로 사용할 수 있도록 도와주는 Python 패키지 입니다.
수치 계산을 보다 용이하게 할 수 있습니다.
그래서 간단히 명령어 pip3 install numpy
를 통해 넘파이를 설치해주었습니다.
(Python3가 아닌 경우, pip install numpy
)
이제 됐다~~~ 싶었으나, 오류 발생222 😶
위와 같이 무섭도록 빨간 코드가 떴지만, 마지막 두 문장만 봤습니다.
numpy 빌드에 실패했다!
PEP 517 오류가 발생했다.
그냥 아래 두 명령어를 차례대로 실행시켜주면 됩니다.
pip3 install --upgrade pip setuptools wheel
pip3 install opencv-python
이제 6번의 시작으로 돌아가, tulsi의 오픈부터 다시 반복하면 ~!~!
이렇게 정상 실행 창이 뜨고, 아래와 같이 Xcode 파일이 자동으로 열립니다.
이제 앱 빌드가 안된다...... ^^
-> Provisioning Profile 때문이었고, 무료로 Provisioning 하는 방법을 찾아 해결했으나..
중간에도 여러 에러들이 존재해, 결과적으로 왜 해결됐는지를 파악하지 못했읍니다.
어서 찾아 Free Provisioning을 포스팅하겠읍니다..
안녕하세요 마지막에 xcode 빌드에서 저도 문제를 겪었는데
혹시 Provisioning Profile 문제인지는 어떻게 아셨고
무료로 Provisioning 하는 방법을 찾아 해결하셨다고 했는데 어떻게하셨는지 질문드려도 될까요?