서버에 요청한 값을 사용하기위해 JSON으로 변환된 값을 사용할려고하니 에러가 발생. iOS는 무얼 하던 무조껀 막히는 문제 발생. "resultList": ( { badge = 0; } 어렵게 찾아서 아래와 같이 해당값을 추출하니 사용은 할 수 있었으니 리스트로 된것들은 어떻게 해야하나 또 하나의 숙제가 생겼다. 이 숙제는 나중에 해결하기로 하고 일단 개발일정으로 여기에서 만족하며 개발해야겠다. guard let resultList = responseJSON[self.ResultList] as? [AnyObject] , let firstResult = resultList.first , let badgeStr = firstResult["badge"] as? String else { print("resul..
Swift로 Alert을 만드는건 복사해서 사용을 많이 했는데 Alert이 dismiss 될때 현재 ViewController를 dismiss가 필요했다. let ok = UIAlertAction(title: "확인", style: .default) { (_) in self.dismiss(animated: true, completion: nil) } 왜 이렇게 되었는지는 공부를 해야겠다. 출처: https://blog.naver.com/go4693/221364647135
광고 정보보다는 단말기 고유정보를 이용하기 위해 adID를 사용해야 했다. import AdSupport ... var adid:String = "" if (ASIdentifierManager.shared().isAdvertisingTrackingEnabled) { adid = ASIdentifierManager.shared().advertisingIdentifier.uuidString } // 이후 adid 사용 가능 ... 출처: https://docs.recopick.com/pages/viewpage.action?pageId=6553731
서버 전송을 위한 Base64 변환이 필요한데 이것 또한 아는 부분이 없어 검색을 해야만 했다. 그나마 검색이 빨리 되서 서버 전송 부분은 오늘 마무리가 될 수 있어 천만다행이다. Swift 4.0.3 import UIKit extension String { func fromBase64() -> String? { guard let data = Data(base64Encoded: self, options: Data.Base64DecodingOptions(rawValue: 0)) else { return nil } return String(data: data as Data, encoding: String.Encoding.utf8) } func toBase64() -> String? { guard let da..
서버로 원하는 값들을 JSON 데이타로 만들어서 보내야하는데 안드로이드랑은 또 다른 세계가 여기있었네요. 하루정도 검색해서 원하는 JSON 데이타로 변환했어요. class로는 방법을 몰라 struct로 변환했네요. struct 선언 struct Coordinate: Codable { var latitude: Double var longitude: Double } 예제 let coordinate: Coordinate = Coordinate(latitude: 0.1, longitude: 0.1) let encoder = JSONEncoder() let jsonData = try? encoder.encode(coordinate) if let jsonData = jsonData, let jsonString = ..
swift에서 한글이 깨지는 문제가 발생했다. c언어로 변환이 안되서 swift에서 할 수밖에 없었다. encoding 방법을 0x0422로 하는 방법을 검색해서 찾을 수 있었다. let encoding = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding(0x0422)) 이렇게 하니 깨지던 한글이 보인다. 다행이다. 내일부턴 다음 업무 진행할 수 있다. 출처 : https://kka7.tistory.com/64
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_updates_to_your_app_silently Pushing Updates to Your App Silently | Apple Developer Documentation Article Pushing Updates to Your App Silently Deliver silent notifications and wake up your app in the background on the user's device. OverviewIf your app’s server-based content changes infreq..
A Controller -> B Controller로 데이터 전달 1. 프레젠테이션 방식으로 화면 전환하면서 값을 전달 - Button의 Action에 코드 추가 guard let vc = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID") as? "값을 전달받을 Controller 이름" else { return } vc.저장할 변수 = 전달할 값 self.present(vc, animated: true) 2. 내비게이션 컨트롤러를 통해 화면 전환하면서 값을 전달 - Navigation Item Button의 Action에 코드 추가 guard let vc = self.storyboard?.instantiateViewC..
전역변수를 사용하기 위해 AppDelegate를 이용하기. AppDelegate에 전역변수를 추가하고 사용하는 곳에는 다음과 같이 사용을 한다. let appDelegate = UIApplication.shared.delegate as! AppDelegate 사용은 "appDelegate.변수이름" 으로... UIApplication.shared는 UIApplication 객체의 인스턴스를 참조하기 위해 제공되는 타입 프로퍼티.UIApplication 객체는 우리가 직접 인스턴스를 생성할 수 없으며,시스템에 의해 생성된 객체를 참조하는 것만 허용.
프로젝트를 진행해야 하는데 iOS에 대한 개념이 없어 예제를 따라하는데 문제가 발생했다.그대로 따라했는데 에러가 난다..인터넷을 뒤져서 해결할 수가 있었다.(출처는 문서 아래에) ㅠㅠ 책 쓸때와 현재 버전과는 차이가 있어 에러가 발생한다. 솔직히 아직은 봐도 이해가 잘 되지 않는다.차근차근 만들어보면서 감을 익혀야할꺼같다. 얼마나 지나야 안드로이드처럼 잘 할 수 있을려나.. func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { self.preview.image = info[UIImagePickerControllerEditedImage] as? UIIma..
- Total
- Today
- Yesterday
- VolleyFileUploadRequest
- base64
- areNotificationsEnabled
- 작업은했는데
- 알림허용
- #buildconofig
- 이미지파일공유
- 인앱 업데이트
- 음원파일재생
- height변경
- webview
- Activity 크기 변경
- 이미지파일보기
- 난왜테스트가안될까
- 새로올린테스트앱이안보이네
- #gradle.properties
- FileDataPart
- 알림소리묵음처리
- Android
- 웹뷰
- app restart
- 알림소리끄기
- nodejs
- SWIFT
- 한글깨짐
- Kotlin
- px -> dp
- px to dp
- 안드로이드
- onShowCustomView
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |