2015년 11월 5일 목요일

Swift 2.0을 사용해서 외부 라이브러리 형태로 만들어서 xCode 7.1에서 사용하는 경우 - 워크 스페이스 사용에 대한 데모

비주얼스튜디오에는 솔루션이란 개념이 있고 xCode에도 비슷한 개념으로 Workspace가 있습니다. 
아래와 같이 데모를 통해 살펴볼 수 있습니다. 


1. Workspace 먼저 생성한다. DemoWorkspace 생성한다.

2. 네비게이터 영역에서 화면 하단에 있는 + 아이콘을 클릭해서 New Project  선택한다.

3. iOS Cocoa Framework 선택한다.
                

4. MyComp라고 이름을 입력한다. 프로젝트에 새로운 스위프트 파일을 추가한다. DemoTime이라는 이름을 부여한다.
//
//  DemoTime.swift
//  Demo
//
//  Created by Jong duk Kim on 2015. 8. 11..
//  Copyright (c) 2015 multicampus. All rights reserved.
//
import Foundation

public class DemoTime {
    private var hour = 0, min = 0
    var Hour: Int {
        get { return hour }
        set { hour = newValue }
    }
    var Min: Int {
        get { return min }
        set { min = newValue }
    }
   
    public init(hour:Int, min:Int) {   //전항목 생성자는 사용할 없다.
        self.hour = hour; self.min = min
    }
    public func add(min:Int) {         //mutating 기술하지 않는다.
        let m = self.min + min
        if m >= 60 {
        self.min = m % 60
        let t = self.hour + m / 60
        self.hour = t % 24
    } else {
        self.min = m
        }
    }
    public func inc() {
        self.add(1)
    }
    public func description() -> String {
        let h = hour < 10 ? "0\(hour)" : "\(hour)"
        let m = min < 10 ? "0\(min)" : "\(min)"
        return h + ":" + m
    }
}

5. 네비게이터 영역에서 화면 하단의 + 버튼을 클릭하고 New Project 클릭한다. iOS 싱글뷰를 선택한다. 경우 위치를 주의해서 지정해야 한다. Add to MyWorkspace 하고 Group MyWorkspace 변경해야 한다. 이름은 MyClient 한다.
 


그러면 아래와 같은 모양으로 들어간다.

            

6. MyComp.framework 추가한다. MyClient에서 Linked Framework & Libraries에서 + 클릭하고 워크스페이스 안에 있는 MyComp.framework 선택한다.

7. MyComp 임포트하고 아래와 같이 코딩한다. ViewController.swift 추가한다.

import UIKit
import MyComp

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        var t1 = DemoTime(hour: 11, min: 12)
        print(t1.description())
    }

7. 실행하기 전에 상단의 스킴을 변경해서 MyClient 실행되도록 조정해야 한다.
 
















마이크로소프트(MS)의 홀로렌즈 발전 영상입니다.

홀로렌즈 영상

게임 시연 영상

2015년 11월 4일 수요일

xCode 7.1에서 간단한 애플와치용 앱 만들기 - TipCalc

(TipCalc)
1.   iOS 아래의 Application옵션을 선택하고 싱글뷰를 선택한다. 이름은 TipCalcApp으로 입력한다.
2.   File -> New -> Target에서 watchOS아래의 Application에서 WatchKit App아이콘을 선택한다. Product NameTipCalcApp WatchKit App이라고 입력한다.

3.   새로운 스킴이 활성화된다는 메세지가 뜨면 Activate버튼을 클릭한다.


4.   TipCalcApp WatchKit App에서 Interface.storyboard파일을 선택하고 레이블을 추가해서 텍스트는 $0.00으로 수정하고 Alignment는 중앙으로 한다. Font설정은 SystemStyleBold, Size 28로 수정한다.


5.   슬라이더를 올려놓고 아래와 같이 Minimum, Maximum 0, 100으로 설정하고 Continuous체크박스를 체크한다. Steps 100으로 수정한다. Value 0으로 설정한다.

6.   두번째 레이블을 올려놓고 같은 셋팅에 색깔만 초록색으로 변경한다.
7.   버튼을 올려놓고 텍스트트 팁 계산기로 변경한다. AlignmentVertical속성을 Bottom으로 셋팅한다.

 
8.   InterfaceController.swift에서 보조창을 클릭하고 첫번째 라벨과 두번째 라벨을 아웃렛으로 연결한다. 이름은 amountLabel, tipLabel이라고 부여한다. 앱 익스텐션에 있는 InterfaceController.swift파일과 자동으로 연결된다.

9.   슬라이더와 버튼을 액션으로 연결한다. sliderChange메서드와 calculateTip이라는 액션 이름을 부여한다.


 




10.   아래와 같이 코드를 추가한다.
//
//  InterfaceController.swift
//  TipCalcApp WatchKit App Extension
//
//  Created by papasmf1 on 2015. 11. 4..
//  Copyright © 2015 com.mulcam70. All rights reserved.
//

import WatchKit
import Foundation


class InterfaceController: WKInterfaceController {

    @IBOutlet var amoutLabel: WKInterfaceLabel!
    @IBOutlet var tipLabel: WKInterfaceLabel!
   
    var currentAmount : Float = 0.00
   
    @IBAction func sliderChange(value: Float) {
        let amountString = String(format: "%0.2f", value)
        amoutLabel.setText("$\(amountString)")
        currentAmount = value
    }
   
    @IBAction func calculateTip() {
        let tipAmount = currentAmount * 0.20
        let tipString = String(format: "%0.2f", tipAmount)
        tipLabel.setText("$\(tipString)")
        tipLabel.setHidden(false)
    }
   
    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
       
        // Configure interface objects here.
    }

    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()
        tipLabel.setHidden(true)
    }

    override func didDeactivate() {
        // This method is called when watch view controller is no longer visible
        super.didDeactivate()
    }


}

맥북의 터미널에서 xCode 7.1 실행하기

간단하게 스위프트 2.0을 연습하는 경우에 맥북에서 터미널을 오픈해서 실행해도 된다.

sudo xcode-select –s /Applications/Xcode.app
(암호를 물어보면 입력한다.)
swift 입력하면 실행된다.

var name = “aaa”
print(name)

:quit 입력하면 된다.


2015년 11월 3일 화요일

xCode 7.1에서 애플와치용 HelloWorld 앱 배포하기

 아래와 같은 순서로 작업을 하면 됩니다. 맥북에 xCode 7.0  이나 xCode 7.1 이 설치되어 있어야 합니다. 

1.   watchOS아래에 있는 템플릿을 사용한다. WatchKitSample이라고 입력한다.

2.   MainStory에 있는 뷰에 라벨을 올려서 문자를 아래와 같이 수정한다. 라벨을 선택하고 Resolve Auto Layout Issues메뉴에서 Reset to Suggested Constraints를 클릭한다.


3.   WatchKitSample WatchKit AppAssets.xcassetswatch_image@2x.png를 끌어다 넣는다.

4.   이미지뷰를 클릭해서 watch_image를 선택하고 레이블은 중앙정렬을 클릭한다. Horizontal에서도 Center를 클릭한다.

5.   스킴을 수정해야 실행이된다. 아래와 같이 상단의 스킴에서 WatchKitSample WatchKit App => iPhone 6 + Applie Watch – 38mm를 선택해야 한다.

6.   실행하면 아이폰 시뮬과 애플와치 시뮬이 같이 실행된다.



7.   장비에 배포할때는 위에서 선택한다.



제 AI는 스스로 생각하고 학습한다.. 난리난 AI 에이전트 직접 확인해보니 - 영상정리해 봅니다.

  ChatGPT가 나온지 3년이 넘었습니다. ㅎㅎ 처음에는 생성형AI에서 LLM으로 시장이 변화되었습니다. 작년말부터는 에이전트의 시대라고 하고 있습니다. 저도 관련 강의를 하고 일을 하고 있지만 따라가기가 벅찰정도로 매주 새로운 소식들이 올라옵니다...