<스트리머 키우기:방치형 크리에이터 키우기>

 

 

*** 게임 소개 ***

제목 : 스트리머 키우기:방치형 크리에이터

장르 : 클릭&방치형 게임

플랫폼 : 안드로이드 / iOS

스트리머 키우기 게임은 방망이깎는 노인의 마음으로 처음부터 끝까지 직접 만들면서 분위기를 만들기 위해 노력했습니다

밤을 새우며 픽셀을 찍고 UI 를 디자인하고 개발하면서 방송을 하면서 할수있는 경험을 게임을 통해 겪을수있도 설계하였죠

 

 

 

 

방송을 처음 시작할때의 첫 시청자, 첫 댓글 하나하나에 의미가 생깁니다.

누군가가 내 방송을 보는 것 만으로도 너무 기쁘죠.

하지만,

시청자가 늘어난다는 의미는 다양한 문제 상황이 발생할수있습니다.

 

 

위험상황을 어떻게 해결해야 할것인가가 스트리머의 필수 덕목 위험 대처 능력 입니다.

그리고 위험한 상황 혹은 좋은 상황들이 지나다 보면 사람들이 폭발적으로 모이는

"피버타임" 을 가질수있습니다.

피버타임을 통해 채널이 폭팔적인 성장을 할수있죠.

 

 

 

채널이 성장하면 반드시 "편집자"가 필요하겠죠?

다양한 편집자를 통해 더 많은 돈을 벌어보세요.

 

 

 

편집자 친구들과 함께 채널을 성장시키는 재미를 느껴보세요!

 

안드로이드

https://play.google.com/store/apps/details?id=com.pionestudio.stremer

 

스트리머 키우기 : 방치형 크리에이터 키우기 - Google Play 앱

클릭 한 번으로 시작하는 하이퍼 성장 스트리머 시뮬레이션!

play.google.com

 

 

아이폰

https://apps.apple.com/us/app/%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%A8%B8-%ED%82%A4%EC%9A%B0%EA%B8%B0/id6756912213

 

스트리머 키우기 App - App Store

Download 스트리머 키우기 by MyoungBo Seo on the App Store. See screenshots, ratings and reviews, user tips, and more apps like 스트리머 키우기.

apps.apple.com

 

import os
from PIL import Image

# 사용자 입력 받기
image_folder = input("📁 이미지 폴더 경로를 입력하세요: ").strip()
columns_input = input("🔢 가로에 배치할 이미지 개수를 입력하세요: ").strip()

# 입력값 확인 및 변환
if not os.path.isdir(image_folder):
    print("❌ 유효한 폴더 경로가 아닙니다.")
    exit(1)

if not columns_input.isdigit():
    print("❌ 숫자를 입력하세요.")
    exit(1)

columns = int(columns_input)
output_file = "spritesheet.png"

# 이미지 불러오기
images = [Image.open(os.path.join(image_folder, img)) for img in sorted(os.listdir(image_folder)) if img.lower().endswith(('.png', '.jpg', '.jpeg'))]

if not images:
    print("❌ 이미지가 없습니다.")
    exit(1)

# 이미지 크기
img_width, img_height = images[0].size
rows = (len(images) + columns - 1) // columns

# 스프라이트 시트 생성
spritesheet = Image.new('RGBA', (columns * img_width, rows * img_height))

# 이미지 배치
for idx, img in enumerate(images):
    x = (idx % columns) * img_width
    y = (idx // columns) * img_height
    spritesheet.paste(img, (x, y))

# 저장
spritesheet.save(output_file)
print(f"✅ 스프라이트 시트를 저장했습니다: {output_file}")

 

 

 

실행 방법

python3 sprite_gen.py​

 

'개발' 카테고리의 다른 글

Flutter 에서 안드로이드, 아이폰 빌드하기  (0) 2024.09.29
DUNS 넘버 무료로 발급하기  (0) 2023.12.12
화면 비율계산기  (0) 2022.11.18
C++ boost 컴파일  (0) 2022.05.27
XCode에서 Boost 사용시 오류  (0) 2022.05.05

 

Flutter 앱을 개발하고 iOS 앱스토어에 배포하거나 TestFlight에 올리려고 할 때, Failed to codesign 오류는 개발자들의 가장 큰 골칫거리 중 하나입니다. 특히 Warning: unable to build chain to self-signed root 또는 errSecInternalComponent와 같은 메시지가 함께 나타난다면, 단순한 설정 문제를 넘어선 복합적인 원인일 가능성이 큽니다.

저 역시 이 문제로 며칠 밤낮을 고생하며 Xcode, Flutter SDK 재설치는 물론, 키체인 초기화까지 시도했습니다. 이 글은 그 모든 과정을 거쳐 마침내 문제를 해결한 경험과 노하우를 담고 있습니다. 같은 문제로 고통받는 분들에게 이 글이 도움이 되기를 바랍니다.


🧐 문제의 증상

flutter build ipa 또는 Xcode에서 아카이브(Archive) 시도 시 다음과 유사한 오류 메시지가 나타납니다.

error: Target release_unpack_ios failed: Exception: Failed to codesign /Users/yourusername/Library/Developer/Xcode/DerivedData/.../Flutter.framework/Flutter with identity [인증서 ID].
/Users/yourusername/Library/Developer/Xcode/DerivedData/.../Flutter.framework/Flutter: replacing existing signature
Warning: unable to build chain to self-signed root for signer "Apple Distribution: Your Name (Team ID)"
/Users/yourusername/Library/Developer/Xcode/DerivedData/.../Flutter.framework/Flutter: errSecInternalComponent
Failed to package /Users/yourusername/project/your_flutter_app.

특히 주목해야 할 부분은 다음과 같습니다.

  • Failed to codesign ... Flutter.framework/Flutter: Flutter.framework 파일에 대한 코드 서명 실패.
  • Warning: unable to build chain to self-signed root: Apple의 인증서 체인이 제대로 신뢰되지 않음.
  • errSecInternalComponent: macOS 보안 서비스 내부 구성 요소 오류.

💡 문제의 원인 분석

이러한 복합적인 오류 메시지는 주로 다음 세 가지 문제의 조합으로 발생합니다.

  1. 키체인 내 인증서 중복 및 혼란: 로그인 키체인에 동일한 이름의 인증서가 여러 개 존재하거나, 만료된 인증서, 또는 Apple의 중간/루트 인증서가 잘못된 키체인에 설치되어 있을 때 발생합니다.
  2. Apple 인증서 체인 신뢰 문제: Apple Worldwide Developer Relations Certification Authority와 같은 Apple의 중간 인증서나 Apple Root CA - G3 같은 루트 인증서가 시스템에서 신뢰할 수 없는 상태로 설정되어 있을 때 unable to build chain 오류가 발생합니다.
  3. Xcode 및 Flutter 빌드 캐시 손상: 이전 빌드 과정에서 생성된 캐시 파일이나 임시 파일들이 꼬여서 올바른 코드 서명 과정을 방해합니다.

✅ 해결 과정: 단계별 완벽 가이드

문제를 해결하기 위해 다음 단계를 반드시 순서대로, 꼼꼼하게 따라야 합니다.

1. 🔑 키체인 접근(Keychain Access) 완벽 정리

가장 중요한 단계입니다. Mac에 설치된 모든 개발 관련 인증서와 Apple 루트/중간 인증서를 깨끗하게 정리하고 올바르게 설정해야 합니다.

  1. 키체인 접근 열기: Command + Space로 Spotlight 검색을 열고 "키체인 접근" 검색 후 실행.
  2. 로그인 키체인 > 나의 인증서 정리:
    • 좌측 사이드바에서 로그인 키체인을 선택하고, 카테고리에서 **나의 인증서**를 클릭합니다.
    • Apple Distribution: [내 이름 (팀 ID)] 인증서가 여러 개 있다면, 가장 최신이고 아래에 개인 키가 연결된 유효한 인증서 하나만 남기고 나머지는 모두 삭제합니다.
    • Apple Development: [내 이름 (팀 ID)] 인증서도 동일하게 유효한 하나만 남기고 모두 삭제합니다.
    • iPhone Distribution: [내 이름] 또는 iPhone Developer: [내 이름] 등 오래된 또는 중복된 인증서는 모두 삭제합니다.
  3. 로그인 키체인 > 인증서 정리:
    • 좌측 사이드바에서 로그인 키체인을 선택하고, 카테고리에서 인증서 (나의 인증서 아님)를 클릭합니다.
    • Apple Root CA - G3 인증서가 있다면 삭제합니다. 이 인증서는 시스템 루트 키체인에만 있어야 합니다.
    • Apple Worldwide Developer Relations Certification Authority 인증서 중 만료일이 2030년 2월 20일인 구버전은 삭제합니다. 2036년 3월 19일 만료인 G6 버전만 남깁니다.
  4. 시스템 루트 키체인 확인 및 신뢰 설정:
    • 좌측 사이드바에서 시스템 루트 키체인을 선택하고 인증서 카테고리를 클릭합니다.
    • Apple Root CA - G3 인증서가 있는지 확인하고, 더블클릭하여 상세 정보를 엽니다. 신뢰 섹션에서 **"이 인증서 사용 시:"**를 항상 신뢰 (Always Trust) 로 설정합니다. (대부분의 경우 이미 설정되어 있을 것입니다.)
    • Apple Worldwide Developer Relations Certification Authority (2036년 3월 19일 만료 G6 버전) 인증서를 찾습니다.
    • 이 인증서를 더블클릭하여 상세 정보를 엽니다. 신뢰 섹션에서 "이 인증서 사용 시:" 옵션이 시스템 기본 설정 사용으로 되어 있을 것입니다. 이를 클릭하여 항상 신뢰 (Always Trust) 로 변경합니다. Mac 비밀번호를 입력하여 저장합니다.
    • 두 인증서 모두 녹색 체크 표시와 함께 "이 인증서가 유효함"으로 표시되어야 합니다.
  5. 사용자 개발/배포 인증서의 접근 제어 설정:
    • 로그인 키체인 > 나의 인증서 카테고리로 돌아갑니다.
    • 남겨둔 Apple Distribution: MyoungBo Seo 인증서와 Apple Development: MyoungBo Seo 인증서를 각각 더블클릭합니다.
    • 접근 제어 탭으로 이동하여 "모든 응용 프로그램이 이 항목에 접근하도록 허용" 옵션이 선택되어 있는지 최종적으로 확인합니다. (만약 이 옵션이 선택 불가하면, 아래 "이 응용 프로그램들이 이 항목에 접근하도록 허용"을 선택하고 반드시 /usr/bin/codesign과 /Applications/Xcode.app이 목록에 추가되어 있는지 확인 후 저장).

2. 🌐 Apple Developer 웹사이트 정리 및 프로파일 재생성

Mac의 키체인을 정리했으므로, Apple Developer 웹사이트의 정보도 일치시켜야 합니다.

  1. Apple Developer 웹사이트 로그인: developer.apple.com
  2. Certificates, IDs & Profiles > Certificates:
    • 현재 키체인에 남겨둔 유효한 Apple Distribution (Type: Distribution, Platform: All) 및 Apple Development (Type: Development, Platform: All) 인증서를 제외한 모든 오래된/중복된 인증서 (특히 iOS Distribution, iOS Development 등 구형 타입)를 선택하여 Revoke (폐기) 합니다.
  3. Certificates, IDs & Profiles > Profiles:
    • 기존의 모든 Provisioning Profile을 Revoke (폐기) 합니다.
    • 새로운 App Store 배포용 Provisioning Profile을 생성합니다. (Distribution > App Store 선택).
    • 이때 새로 정리해서 남겨둔 Apple Distribution: MyoungBo Seo (9NYRJZL6SS) 인증서를 선택하여 프로파일과 연결합니다.
    • 생성된 프로파일을 다운로드하여 Mac에 설치합니다 (더블클릭).

3. 🧹 Xcode 및 Flutter 빌드 환경 철저한 클린 빌드

이제 Mac과 Apple Developer 계정의 인증서 설정이 깨끗해졌으므로, 빌드 환경을 완벽하게 초기화합니다.

  1. Xcode 완전히 종료: Command + Q
  2. Flutter 클린: 터미널에서 Flutter 프로젝트 루트 폴더로 이동하여 실행합니다.
  3. Bash
     
    flutter clean
    
  4. Xcode Derived Data 완전 삭제:
    • Finder를 열고 Command + Shift + G를 누릅니다.
    • ~/Library/Developer/Xcode/DerivedData/ 경로를 입력하고 이동합니다.
    • 이 폴더 안에 있는 모든 폴더를 과감하게 삭제합니다.
  5. CocoaPods 완전 정리 및 재설치:
    • Flutter 프로젝트의 ios 폴더로 이동합니다:
    • Bash
       
      cd /Users/myeongboseo/project/flutter/doongdoong_talk/ios
      
    • 기존 Pods 구성을 완전히 제거하고 캐시를 정리합니다:
    • Bash
       
      pod deintegrate
      rm -rf Pods Podfile.lock # Pods 폴더와 Podfile.lock 파일까지 완전히 삭제
      rm -rf ~/Library/Caches/CocoaPods # CocoaPods 캐시 자체도 삭제
      
    • Pods를 다시 설치합니다:
    • Bash
       
      pod install
      
    • 다시 Flutter 프로젝트 루트로 돌아옵니다:
    • Bash
       
      cd ..
      
  6. Xcode 프로젝트 다시 열기: /Users/myeongboseo/project/flutter/doongdoong_talk/ios/Runner.xcworkspace 파일을 Xcode로 엽니다.
  7. Xcode 내에서 Product > Clean Build Folder 수행.
  8. Xcode Signing & Capabilities 탭 설정 재확인:
    • Runner 프로젝트 선택 > General 탭 > Signing 섹션.
    • Automatically manage signing이 체크되어 있다면, 체크 해제 후 다시 체크하여 Xcode가 설정을 새로고침하도록 합니다.
    • 올바른 팀(Team)이 선택되었는지 확인합니다.
    • Signing Certificate가 올바른 인증서 (예: Apple Distribution: MyoungBo Seo (9NYRJZL6SS))로 녹색 체크 표시와 함께 유효하게 나타나는지 확인합니다.

🚀 마지막 시도! 빌드 실행

이제 모든 준비가 완료되었습니다. 터미널에서 다시 빌드를 시도합니다.

Bash
 
flutter build ipa

이 모든 단계를 꼼꼼히 거치셨다면, Failed to codesign, unable to build chain to self-signed root, errSecInternalComponent 오류로부터 해방되어 성공적으로 앱을 빌드하실 수 있을 겁니다.

이 과정이 매우 복잡하고 시간이 많이 소요되었지만, 한 번 제대로 설정해두면 다음부터는 훨씬 수월하게 개발 및 배포를 진행할 수 있을 것입니다.

Happy Coding! 🎉

화려한 무대 뒤, 그들이 겪은 건 단순한 일이 아니었습니다.

아이돌 윈터, 이미주, 배우 박건형이 직접 경험한 소름 돋는 실화 괴담을 전해드립니다.

 

촬영장, 숙소, 대기실…

연예계의 어두운 그림자와 실제로 겪은 무서운 이야기.

누군가는 조용히 덮고 지나갔고, 누군가는 아직도 잊지 못하고 있습니다.

 

이 이야기는 단순한 루머가 아닌, 실화를 바탕으로 한 공포썰입니다.

지금부터, 무대 뒤편의 진짜 이야기를 들어보세요.

 

https://youtu.be/mRjaen4aalo

 

 

'유튜브' 카테고리의 다른 글

유튜브 부분 다운로드 방법  (1) 2025.06.23
한눈에 보는 모든 음모론  (0) 2025.04.16
만우절 장난 레전드는 어떤게 있을까?  (0) 2025.04.01
테토남 특징이 뭐야?  (0) 2025.04.01
폭싹 속았수다 밈 총정리  (0) 2025.03.26

 

PDO(PHP Data Objects)는 PHP에서 DB에 안전하고 일관되게 접속할 수 있도록 도와주는 객체 지향 방식의 DB 연결 인터페이스입니다.
MySQL, PostgreSQL, SQLite 등 여러 DB를 동일한 방식으로 다룰 수 있습니다.

 

✅ 기본 사용 예

$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass", [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);

$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(['id' => 1]);
$user = $stmt->fetch();

 

 

✅ 리스트 가져오기

$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass", [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);

$stmt = $pdo->prepare("SELECT * FROM users LIMIT 10");
$stmt->execute();
$users = $stmt->fetchAll();

 

 

✅ 아이템 넣기

    $sql  = 'INSERT INTO users (name, email) VALUES (:name, :email)';
    $stmt = $pdo->prepare($sql);

    // 2) 실행
    $stmt->execute([
        ':name'  => $name,   // ex) "Alice"
        ':email' => $email,  // ex) "alice@example.com"
    ]);

    // 3) 결과
    $newId = $pdo->lastInsertId();

 

 

✅ 업데이트

$sql  = 'UPDATE users SET name = :name, email = :email WHERE id = :id';
    $stmt = $pdo->prepare($sql);

    // 2) 실행
    $stmt->execute([
        ':name'  => $name,   // 예: "Bob"
        ':email' => $email,  // 예: "bob@example.com"
        ':id'    => $id      // 예: 1
    ]);

    // 3) 결과
    $affected = $stmt->rowCount(); // 영향을 받은 행 수

 

사이트에서 다운로드 하는 방법도 있지만 개인적으로는 제일 추천하는 방법입니다.

yt-dlp 를 설치해서 직접 다운로드 할수있습니다.

 

✅ Mac 또는 Linux 기준 설치 방법

1. 가장 간단한 설치 (권장)

 
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
chmod a+rx /usr/local/bin/yt-dlp
yt-dlp --version

※ Permission denied 에러가 나면 앞에 sudo 붙여서 실행하세요.


2. Python이 설치되어 있다면 pip로 설치

pip install -U yt-dlp
✅ 설치 후에도 yt-dlp 명령어가 안 된다면 아래처럼 실행해보세요:

python3 -m yt_dlp [옵션]
python3 -m yt_dlp https://www.youtube.com/watch?v=abc123

⚠️ pip install로 설치한 경우, ~/.local/bin 또는 venv/bin에 설치될 수 있어 경로 설정이 필요할 수 있습니다.

 

 

 

✅ Windows 사용자라면

  1. yt-dlp 공식 페이지에서 yt-dlp.exe 다운로드
  2. 다운로드한 .exe 파일을 C:\Windows 또는 C:\Users\사용자명\AppData\Local\Microsoft\WindowsApps 등에 넣으면 전역 실행 가능
  3. 이후 명령 프롬프트에서 아래처럼 실행
yt-dlp https://www.youtube.com/watch?v=abc123

 

 

 

✅ 사용방법

 

yt-dlp -F <URL>

 

우선 내가 다운받을 유튜브의 ID 확인을 합니다.

확인하시면 아래와 같이 id  가 보여집니다.

 

 

 

HTTPS 직접 방식의 avc1.640028 코덱을 사용한 파일인 137과 가장 대중적인 m4a 오디오인 140을 설정하겠습니다.

 

yt-dlp -f "137+140" \
  --download-sections "*00:31:34-00:33:13" \
  --merge-output-format mp4 \
  -o "%(title)s_21m20s-22m30s.%(ext)s" \
  "https://www.youtube.com/watch?v=4m3NhwXpZnI"

 

영상파일은 아이디 137과 음성파일 140을 병합하고 31분 34초 영역부터 33분 13초 영역까지 다운로드 받을수있습니다.

 

 증상

  • phpMyAdmin 로그인 후 아무 메시지 없이 다시 로그인 화면으로 돌아감
  • Safari 등 여러 브라우저에서도 동일 증상
  • MySQL은 SSH에서는 정상 접속됨

 

해결방법

 

phpMyAdmin 폴더로 이동.

config.inc.php 파일을 열고 아래 내용 수정.

$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowNoPassword'] = false; //true 로 되어있는경우 이 조합은 때때로 인증 충돌을 일으켜 로그인 세션을 유지하지 못하고 → 다시 로그인 화면으로 돌아가는 루프 현상이 발생합니다.

 

 

apache2 재시작

 

sudo systemctl restart apache2

'개발 > PHP' 카테고리의 다른 글

PHP PDO 사용 방법  (0) 2025.07.01
PHP 에러 출력  (0) 2022.04.14
php include php 외부 php 파일 불러오기  (0) 2015.04.30
[PHP] 자주 사용하는 서버 변수.  (0) 2011.09.20
[PHP]file_get_contents() 함수 대체하기.  (9) 2011.07.11

 

가끔 카톡하시다보면 회사의 상사거나 어려운 어르신 분들과 카톡하실때 뭐라고 답장해야할지 모르는 경험 한번쯤 해보셨겠죠?
저는 엄청 내성적이다 보니 이런경우가 많이 있었는데요,

이럴때 필요할것 같아 만들었습니다.

만약 뭐라고 답장해야할지 모를때는 보낸 답장을 어플에 붙여 넣으시면 톡비서가 알아서 답장을 써줍니다.
그리고 회사 늦었을때 뭐라고 해야할지 모르겠다면 "저 오늘 늦어요" 라고 써주시면 톡비서가 알아서 업무적인 말투로 바꿔줍니다.

저 처럼 내성적이신 분들에게 추천드려요!!

 

 

 

 

메신저 답장이 너무 어려울 땐, 톡비서로 메신저 고민 완벽 해결!

톡비서는 당신의 일상 메시지를 한층 더 스마트하게 만들어주는 인공지능 메시지 비서입니다.

평범한 문장을 귀엽고 전문적인 업무 스타일로 변환해주는 혁신적인 메시지 도우미로,

여러분의 소통을 더욱 효율적으로 만들어 드립니다.

 

 

 

 

메시지 작성에 고민이 많으신가요? 톡비서의 AI가 상황에 맞는 완벽한 답장을 제안해 드립니다. 급한 업무 대화부터 친구와의 일상 대화까지, 모든 상황에 적합한 메시지를 자동으로 생성해 소중한 시간을 절약해 드립니다.

복잡한 설정이나 사용법 없이 간편하게 사용할 수 있어 누구나 쉽게 시작할 수 있습니다. 스마트 응답 기능으로 빠르게 대화를 이어나가고, 자동 메시지 변환으로 당신만의 메시징 스타일을 완성하세요.

톡비서는 단순한 챗봇이 아닌, 당신의 진정한 메시지 파트너입니다. 인공지능 기술을 활용한 스마트 메시징으로 소통의 질을 높이고, 더 효과적인 대화를 경험해보세요.

 

https://play.google.com/store/apps/details?id=com.pionestudio.talkmate_ai&hl=ko

 

톡비서 : 센스있는 답장, 문장 교정까지 - Google Play 앱

메신저 답장이 너무 어려울 땐, 톡비서로 메신저 고민 완벽 해결!

play.google.com

 

https://apps.apple.com/us/app/talkmate-ai/id6745929733

 

‎Talkmate.ai

‎Make your chats smarter and easier with Talkmate.ai! Talkmate.ai helps you reply to messages quickly, easily, and in your own style. Whether you want to sound more professional, friendly, cute, or casual, just pick a tone and let Talkmate.ai create or r

apps.apple.com

 

 

 Flutter 에서 ios 생성하여 빌드시 위와 같은 오류가 발생할때가 있습니다.

 

-- LLDB integration loaded --
2025-05-17 13:17:13.446983+0900 Runner[77915:2349497] [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Invalid argument(s): Failed to lookup symbol 'RSABridgeCall': dlsym(RTLD_DEFAULT, RSABridgeCall): symbol not found
#0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:33)
#1      new Binding._internal (package:fast_rsa/bridge/binding.dart)
#2      Binding._instance (package:fast_rsa/bridge/binding.dart:18)
#3      RSABridge.bindingEnabled (package:fast_rsa/fast_rsa_bridge.dart)
#4      RSABridge.call (package:fast_rsa/fast_rsa_bridge.dart)
#5      RSA.encryptOAEP (package:fast_rsa/fast_rsa.dart:233)
#6      LoginController.dataToRsaData (package:talkmate_ai/login_controller.dart:44)
#7      LoginController.getLoginDataRsa (package:talkmate_ai/login_controller.dart:40)
#8      _HomePageState.test (package:talkmate_ai/page/home_page.dart:79)
#9      _HomePageState.initSharedPreferences (package:talkmate_ai/page/home_page.dart:54)
#10     BaseState.initState.<anonymous closure> (package:talkmate_ai/page/base_state.dart:11)
#11     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:951)
#12     Future._propagateToListeners (dart:async/future_impl.dart:980)
#13     Future._prependListeners.<anonymous closure> (dart:async/future_impl.dart:580)
#14     _microtaskLoop (dart:async/schedule_microtask.dart:42)
#15     _startMicrotaskLoop (dart:async/schedule_microtask.dart:60)

 

 

이 오류 메시지는 iOS에서 패키지를 사용할 때 네이티브 라이브러리의 심볼(RSABridgeCall)을 찾을 수 없어서 발생하는 문제입니다.

 

한마디로 Xcode 설정에서 네이티브 코드가 제대로 링크되지 않았음을 의미합니다.

 

 

해결방법

 

 

 

프로 젝트로 이동 > build settings

 

Dead Code Stripping : NO

Strip Debug Symbols During Copy : NO

Strip Style : Non-Global Symbols

 

 

 

 

'개발 > Futter' 카테고리의 다른 글

[Flutter] Thread? 플러터 멀티 쓰레드 사용하기  (0) 2023.12.14

한눈에 보는 모든 음모론
https://youtu.be/BgF9btae2lo?si=zqryJo3VmktYgfJy


+ Recent posts