본문 바로가기

swift7

스크린샷 캡쳐시 컨텐츠 내용 안보이게 숨기기 (제스쳐 동작 가능 버전) 예~~전부터 스크린샷 캡쳐시 컨텐츠 내용이 보이지 않게 처리해달라는 요구사항이 있었는데, 앱에서 감지할 수 있는 이벤트라고는 찍고 나서!(Did) 밖에 없었다. UIApplication.userDidTakeScreenshotNotification 그래서 현재 개발중인 앱에서는 스크린샷을 하고나서 안내 알럿을 띄워주고 있었는데, 최근에 시간이 남아서(사실은 다른거 미루고..ㅎ) 생각이나서 검색해보니까 야매로 방법이 있었다. iOS 13버전대부터 스크린샷이랑 스크린레코드시 isSecureTextEntry 가 true면 정보가 노출되지 않는데, 그 기능을 약간 야매로 돌려돌려 만들었다. Prevent screen capture in an iOS app I need to prevent screen capture.. 2022. 1. 25.
하이브리드 앱 개선하기..(노력 1) 지금 회사에서 개발하고 있는 앱은 하이브리드 앱입니다. 그리고 굉장히(?) 오래된 앱이라고 생각합니다. 나름 개편을 하고는 있는데 많이 부족해 보입니다. 하이브리드이지만 주요화면들이 거의 웹영역이기 때문이죠. 요즘은 하이브리드앱이지만, 거의 하이브리드라고 생각도 못할만큼 자연스러운 사용성을 제공하는 앱을 보고 놀랐습니다!! (ex - 텐바이텐) 그래서 나름 개선을 해보고자 노력중에 있슴니다 (오늘부터) 1. 일단 링크로 이동이 가능한 부분은 사용자가 눌렀을 경우 회색 오버레이가 깔리는 부분을 개선하고자 했습니다. 웹뷰가 로딩이 완료되는 시점에 추가 css를 입혀주는 것입니다. 스크립트랑 css는 대학생때 해보고 아직까지 쥐뿔도 모르지만 막 검색해서 넣습니다. iOS 만 한정된 것이 아니라 AOS도 동일하.. 2018. 11. 12.
@ attribute, @ symbol @ 코드를 작성하다보면 종종 @ 를 많이 본다. (@objc, @escape, @IBOutlet, @IBAction 등등..) 실제로 개발 소스를 작성하면서 그것이 무슨 뜻인지에 대해 알지는 못했다. 그냥 쓰면 쓰는거지 이생각 이건 실제로 Attributes라고 언급한다. (검색하느냐 힘들었다. Attribute, symbol이라고 한다.) Attribute는 컴파일러에게 특별한 신호라고 생각하면 된다. 자세한 영문 공식 홈페이지는 여기를 확인하자 : https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html swift에서는 @ 심볼을 두가지 이유때문에 사용한다.. 2018. 6. 7.
[iOS/Swift] 스플래시 이미지 길게 보여주기 (LunchScreen Display Long) 앱이 시작되는 과정에서 셋팅해야 되는 부분이 있어서, 스플래시 이미지를 길게 보여줘야 할 때가 있다. 앱이 시작되는 과정에서 셋팅하는 부분은 앱이 동작하고 있어야 하므로 이런식으로 표현하면 앱이 동작하지 않으므로 적절한 방법이 아니다. sleep(5) 일단 AppDelegate내에 splash이미지 뷰를 추가 한후, 윈도우에 띄워주고 없애주면된다. 코드로 보자. class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? private var splash : UIImageView! func application(_ application: UIApplication, didFinishLaunchingWithOptions launc.. 2017. 6. 9.
[iOS/Swift] 파일, 폴더 용량 계산하기 하다보면 앱 내에 캐시이미지 용량같은 것을 표시해야 할 경우가 있다. 일단, 폴더 용량과 파일용량을 계산하는 방법이 다르다. 1. 캐시이미지 용량 func getCacheCapacityAsMB() -> String { /* 캐시 이미지의 용량을 측정합니다. */ /* 해당 이미지 폴더 url 입력 */ let cacheUrl = getDocumentsDirectory().appendingPathComponent("cache") let cacheUrlString = cacheUrl.path var folderSize = 0 let filemgrList = FileManager.default if filemgrList.fileExists(atPath: cacheUrlString) { do { let attr.. 2017. 5. 25.
반응형