창의적 문제 해결 과정 - 43분간의 SMS 자동화 프로토타입 구축
실험 일시: 2025년 10월 22일 16:08-16:51 (43분간)
기존 사고: 상용 SMS 서비스만 고려
↓
창의적 사고: macOS + AppleScript + Messages.app 활용
↓
실험 결과: 부분 자동화 달성 (제약사항 존재)
tell application "Messages"
set targetService to 1st service whose service type = iMessage
set targetBuddy to buddy "010-****-****" of targetService
send "🎁 GiftCall iMessage 자동화 테스트입니다!" to targetBuddy
end tell
import subprocess
def send_imessage(phone_number, message):
result = subprocess.run([
'osascript', 'test_imessage.applescript',
phone_number, message
], capture_output=True, text=True)
return result.returncode == 0
📱 최은봉 (010-****-*609): iPhone 사용자
→ ✅ iMessage 수신 성공
📱 이준석 (010-****-*920): 팀원
→ ❌ "전송 안됨" 표시 (Apple 생태계 제약)
-- iMessage 실패 시 SMS로 자동 전환 시도
try
-- iMessage 시도
set iMessageService to 1st service whose service type = iMessage
send messageText to targetBuddy
on error
-- SMS fallback
set smsService to 1st service whose service type = SMS
send messageText to targetBuddy
end try
-- 직접 SMS 서비스 사용
tell application "Messages"
set smsService to 1st service whose service type = SMS
set targetBuddy to buddy "010-****-*920" of smsService
send "📱 SMS 강제 발송 테스트!" to targetBuddy
end tell
# Messages.app SQLite DB 접근
DB_PATH = "~/Library/Messages/chat.db"
def get_new_messages(self):
conn = sqlite3.connect(str(self.db_path))
query = """
SELECT
handle.id as phone_number,
message.text as content,
message.date,
message.is_from_me
FROM message
JOIN handle ON message.handle_id = handle.ROWID
WHERE message.date > ? AND message.is_from_me = 0
"""
✅ CSV 파일 기반 대량 발송
✅ iMessage/SMS 자동 fallback
✅ 실시간 답변 모니터링
✅ 배송 정보 자동 추출
✅ 엑셀 파일 자동 업데이트
🎯 창의적 문제 해결
→ 상용 SMS 서비스 제약을 기존 macOS 자원으로 우회
🔄 하이브리드 접근
→ iMessage + SMS 자동 fallback으로 사용자 구분 없이 처리
⚡ 빠른 프로토타이핑
→ 43분만에 SMS 자동화 프로토타입 구축 및 검증
🔍 실시간 처리
→ Messages.app DB 모니터링으로 실시간 답변 감지
이 실험은 단순한 기술 실험을 넘어서 다음을 보여주었습니다:
"상용 서비스가 안 되면 직접 만들어보자!"
이것이 바로 아이디어 뱅크의 정신이며, 43분만에 SMS 자동화 프로토타입을 구축한 흥미로운 여정의 핵심입니다.
개인 번호 발신, 단일 사용자 제한 등으로 인해 법인용 서비스로는 부적합하며, 실제 업무 적용을 위해서는 상용 SMS 서비스 검토가 필요합니다.
💰 비용 절감: 상용 SMS 대비 개인 요금제 활용
⚡ 효율성 향상: 발송 시간 대폭 단축 및 자동 수집
🎯 정확성 향상: 텍스트 기반 정보 수집으로 오류 감소