2016년 10월 24일 월요일

[IOS][SWIFT] Swift3 빌드시간이 겁내 길어짐!!

정말 한때는 미치는줄...
아래 해결법을 참조하니 겁내 빨라짐..
뭐 클린 빌드 느린건 여전히 어쩔수 없나 보다.

http://stackoverflow.com/questions/39737374/swift-3-compile-time-incredibly-slow

2016년 9월 18일 일요일

[Server] AWS로 앱 서버 호스팅 하기

먼저 AWS 계정을 생성 한다.

AWS 가 너무 복잡하고 이것 저것 서비스를 많이 하다 보니 대체 뭘해야 할지 모르겠다.

그와중에 적절한 문서 발견..
이걸 따라 한다...
http://docs.aws.amazon.com/ko_kr/gettingstarted/latest/wah-linux/web-app-hosting-intro.html

겁내 복잡해서 아래 블로그 참조
http://egloos.zum.com/isduck/v/3382096

톰켓을 설치했는데 서비스 실행이 안됨
/usr/share/tomcat7/bin
요기서
sudo ./startup.sh

했지만 안됨..
(이래서 서버 개발이 개짜증!! 버전 틀리면 뭐가 틀리고 저쩌고 걍 버튼 하나로 설치 되면 얼마나 좋아?? 다른 것들은 잘들 만들어 주던데 이건 여전하네 10년전이나 지금이나..)

여튼 에러 메시지
touch: cannot touch ‘/usr/share/tomcat7/logs/catalina.out’: No such file or directory
./catalina.sh: 385: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

검색해보니 이딴식으로 실행해야 한다네.. 뭐 예전에 이딴식으로 했던 것도 같음;; 
sudo /etc/init.d/tomcat7 start
여튼 접속 해보니 잘됨

이번엔 망할 mysql이 이상함
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
이딴 에러가 나오는데 서버 버전이라 그렇단다...
mysql -h 127.0.0.1 -P 3306 -u root -p
이렇게 접속 하니 잘됨

서버에 앱 배포를 위해 톰켓 메니져 설치
sudo apt-get install tomcat7-docs tomcat7-admin tomcat7-examples

/etc/tomcat7/tomcat-users.xml 파일을 수정해 관리자 계정 추가
이딴식으로 하면 됨
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

뭐 변경 할때 마다 귀찮은 재시작..
sudo /etc/init.d/tomcat7 restart

반갑다..
많이 바꼈겠지만.. 어쨌든 이화면 11년 만이다..










2016년 6월 30일 목요일

.plist 파일을 json으로 변환

엄청 편함!!
http://json2plist.sinaapp.com/

근데 한글이 인코딩 되는데 그럴 경우 여기서 한글로 다시 변환
http://coderstoolbox.net/string/#!encoding=js&action=decode&charset=us_ascii

2016년 3월 29일 화요일

[ios][swift] UIActivityViewController에서 자신의 ShareExtension이 표시 되지 않게 하고 싶다...

앱 내부에서 외부로 공유를 위해 UIActivityViewController를 써 보았다.
사용은 뭐 쉽다.
배열로 공유할 오브젝트들을 나열하면 알아서 공유를 해준다.
문제는 앱에서 ShareExtension을 제공하는데,
앱내에서 공유를 하려면 이 ShareExtension도 표시가 되서 보기가 않좋다.
뭐 경우에 따라서는 같은 앱으로 공유 하는것이니 쓸모가 있을 수도 있겠지만..
아무튼, SDK에 따르면 원하지 않는 Activity타입은 제외 할 수 있다고 하는데,
이것이 동작 하지 않는데.
근데 페이스북의 경우는 잘된다...
왠지 커스텀의 경우만 잘 안되던가 내가 잘못했던가 인 듯 한데.
도통 이유를 모르겠다.
StackOverFlow에도 질의를 해둔 상태인데 답이 올런지...
http://stackoverflow.com/q/36281743/2575254

아래는 나의 테스트 코드 :

let activityItems = [shareUrl]
    let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
    activityViewController.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
    activityViewController.excludedActivityTypes = ["com.mytest.ShareExtension"];

    activityViewController.completionHandler = { (activityType: String?, completed: Bool) -> Void in
        print(activityType) // printed "com.mytest.ShareExtension"
    }

    vc.presentViewController(activityViewController, animated: true, completion: nil);


[Swift] Objective-C와의 차이 정리중...

뭐 일단 문법부터 다르지만 ㅋ

- 스위프트에서 만든 모듈을 OBJC에서 사용
#import "[header-name]-Swift.h"

- 반대로 스위프트에서 OBJC 모듈 사용
"[header-name]-Bridging-Header.h" 파일에 추가 해주면 됨

- 변수선언
var a : String

- 상수선언
let b : String = "String"

- 정적 배열선언
var cityRow = ["string1", "string2", "string3", "string4"]

- 상수값 사용
UIModalTransitionStyleCoverVertical
UIModalTransitionStyle.CoverVertical

- 블록 -> 클로저
{ (매개변수) -> 반환타입 in
    실행구문
}
Ex)
{ (arg1: Int, arg2: Int) -> Bool in
    print("Test")
    return true
}

- CGFloat값을 Float으로 변환
let someFloat = Float(cgFloat)

- String 길이
aString.characters.count

- @NSManaged ??
@dynamic 과 비슷하나 런타임에서 Core Data로 처리됨을 의미





2015년 6월 29일 월요일

MAC>안드로이드 스튜디오>깃 오류로 팝업이 자꾸 뜰때

MAC에서 PC를 새로 설치 하고 안드로이드 스튜디오로 작업중에 아래와 같은 팝업이 자꾸 떠서 귀찮게 한다. TOWER GIT을 쓰기 때문에 별로 불편한건 없었는데 그냥 귀찮아서 없애 보기로 했다.


시키는 대로 Fix it 을 클릭하면설정화면이 뜬다.


우측에 테스트를 눌러보니 뭐 권한이 없다고 나오며 XCODE어쩌구 메시지가 뜬다.
헐 왠 XCODE;;;
Error Runing Git
Errors while executing git --version, exitCode=69
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.


뭐 메시지는 귀찮게 터미널 열어서 뭔가 해줘야 할 것 같지만,
XCODE를 실행해서 동의만 해주면 끝이다~


XCODE를 설치만 해놓고 실행을 안했더니 이런 문제도 생기나 보다..
XCODE 설치 할때 깃도 설치 되는듯?

2015년 5월 27일 수요일

[Android] Android Studio NDK 빌드하기

취미로 만드는 앱에 OCR 기능이 필요해서 tesstwo라는 라이브러리를 사용하기로 했다.
근데 이녀석이 NDK로 빌드를 해줘야 한단다.
이클립스 쓸때는 한번 했던것 같은데 안드로이드 스튜디오는 어떻게 해야 할지 막막하다.
그래서 정리 해보기로 했다.

안드로이드 스튜디오에서 빌드를 하려 하니 다음과 같은 오류가 뜬다.

적혀 있는데로 여기서 NDK를 다운로드 한다.
http://developer.android.com/tools/sdk/ndk/
MAC사용중이라 MAC용 링크를 받았는데 설치도 귀찮다.
bin파일로 되어 있는데 실행 권한을 줘서 실행시키면 파일들이 튀어 나온다.
아무튼 튀어나온 폴더를 적절한 위치로 옮겨 놓고..
local.properties 파일에 값을 설정해 준다.
     ndk.dir=<튀어나온디렉토리경로>
뭐 이런건 한번 알아두면 다음번은 아무것도 아닌건데...
처음엔 매우 귀찮다 ㅋ