본문 바로가기

2017/05

[iOS][Swift] Swift에서 DeviceToken 얻기 func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { var token: String = "" for i in 0.. 더보기
[iOS][Animation] 혹시 CAKeyframeAnimation이 동작하지 않을때 CAKeyframeAnimation을 사용하여 잘 동작을 하다가,백그라운드에서 포그라운드로 이동할 경우Animation이 멈춰버리는 현상이 발생 animation.isRemovedOnCompletion = false 위와 같이 Animation에 isRemovedOnCompletions에 false를 줘보세요~ DiscussionWhen true, the animation is removed from the target layer’s animations once its active duration has passed. Defaults to true.https://developer.apple.com/reference/quartzcore/caanimation/1412458-isremovedoncompleti.. 더보기
[iOS][Animation] UIView resume, pause 애니메이션을 정지 했다가 다시 돌리는 함수를 공유 하고자 합니다. 1234567891011121314func pauseLayer(layer: CALayer) { let pausedTime = layer.convertTime(CACurrentMediaTime(), from: nil) layer.speed = 0.0 layer.timeOffset = pausedTime } func resumeLayer(layer: CALayer) { let pausedTime = layer.timeOffset layer.speed = 1.0 layer.timeOffset = 0.0 layer.beginTime = 0.0 let timeSincePause = layer.convertTime(CACurrentMediaTime(.. 더보기
[iOS] 백그라운드, 포그라운드 확인 iOS는 전혀 App이 Background 인지 Foreground 인지 지원 알려주는 함수가 있다. AppDelegate.swift를 보시면 func applicationDidEnterBackground(_ application: UIApplication) {}func applicationWillEnterForeground(_ application: UIApplication) { } 위 두 함수를 통해서 파악을 할 수 있다! 하지만 이건 AppDelegate 인데, ViewController에서 어떻게 콜백을 받냐??구글링 해보면 여러가지가 있는데요. 그중에서 전 NotificationCenter를 이용하면 아주 쉽게 콜백을 받을 수 있습니다. 12345678910111213141516171819ove.. 더보기
[Android] android:launchMode="singleTask" 사용 시 발생하는 문제점 앱 실행 시 첫 화면을 위와 같이 설정하시는 분들이 많을 꺼라 생각 됩니다.머 다들 이해하시겠지만, android:launchMode="singleTask" 요놈이 제법 골치꺼리 더라구요. 아마 singleTask를 화면이 Activity를 유일한 Task에 하나만 띄우기 위해서 많이 사용하시는 듯 합니다만,위와 같이 설정 할 경우 아래와 같은 문제가 생기네요. 1. Task 목록이 아닌 App 아이콘으로 실행 시, 무조건 Main 화면이 실행 된다. -> 즉, 기존에 Task Stack에 쌓여 있는 화면들은 무시가 되는 거죠. 2. onActivityResult가 호출이 안된다고 합니다. -> startActivityForResult를 이용하여 결과를 받을 수 없다는 의미죠. 참고 : http://jw.. 더보기
[Android] 특정 화면 잠금 해제 특정 화면이 동작하고 있을 때나 어떤 이벤트를 진행 했을 때,화면을 자동 잠금 모드로 바뀌는 것을 막을 수 있는 방법을 공유 하고자 한다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); ... } 위와 같이 FLAG_KEEP_SCREEN_ON 을 넣어주면 된다. 혹시나 FLAG_KEEP_SCREEN_ON만 넣었는데 안되시는 분들은 위 소스 같이FLAG_TRUN.. 더보기
[Android] Error:Failed to resolve: com.google.android.gms:play-services-measurement Error:Failed to resolve: com.google.android.gms:play-services-measurement: Version google play service를 업데이트 할 때 위와 같은 오류가 나오고 빌드가 되지 않을 때가 있다. 이럴 경우는 'com.google.gms:google-services' 버전이 맞지 않아서 발생 한다. 예를 들어 아래와 10.2.6 버전(현재 최신 버전)으로 업데이트를 하고자 할경우, compile 'com.google.android.gms:play-services-base:10.2.6' compile 'com.google.android.gms:play-services-ads:10.2.6' compile 'com.google.android.gms:.. 더보기
[iOS][Swift] Navigation bar 숨기기 ## Storyboard 파일에서 http://stackoverflow.com/a/27616077 ## Programmatically navigationController?.isNavigationBarHidden = truenavigationController?.isNavigationBarHidden = false 더보기