- Today
- 3
- Total
- 229,838
목록iOS-Develop(Swift) (42)
개발은 너무해

ituncesconnect 에 빌드된 파일을 업로드 할 때 수출규정 관련 문서가 누락되었다고 느낌표가 뜨는 경우가 있다. 이것은 어플에 암호화 기능이 있으면 반드시 추가를 해줘야하는 문서 인것같다. 필자는 암호화 기능을 써본적이 없다. 그래서 항상 무시를 했었다. 무시를 해도 암호화 기능만 없다면 정상적으로 처리가 되었다. 느낌표가 나오는 게 찝찝하다면, 아래와 같이 해도 될 것 같다. xcode에서 info.plist에서 추가한다. ITSAppUsesNonExemptEncryption
https://github.com/ADVTOOLS/ADVTrustStore ADVTOOLS/ADVTrustStore ADVTrustStore is a simple management script to import/list/remove CA certificates to the iOS simulator. It is working for iOS 5 and iOS 6. - ADVTOOLS/ADVTrustStore github.com 보안 관련하여 인증서를 회사에서 받았다. 이후 Xcode 시뮬레이터에서 인터넷이 되지 않았다. 결론은 시뮬레이터에도 동일한 인증서를 넣어주어야 한다. 위 사이트를 들어가보면 해결 방안이 잘 나와있다. 참고로 필자도 위 사이트를 보고 해결하였다. 항상 그랬듯 찾는 시간이 오래 걸리지 ..
사실 이게 무엇인지 모른다.다만 추측하건데, 이미지의 색상을 지원하는 포맷이랄까?RGB 또는 256 컬러 이런게 업그레이드 되어 색상을 얼마나 지원줄 수있는지의 설정값 같다. 1. 어떻게 알았는가? collectinView 에 저장된 이미지를 보여주기 위해 구현 하였다.ipad 시뮬레이터에서만 이미지가 부분적으로 보여지고 있었다.iphone 에서는 잘되는 것이 pad 에서만 안되고 있으니, 미치고 팔짝 뛸 노릇이였다. 보여지는 이미지와 보여지지 않는 이미지를 비교를 해보았다.Xcode에서 아래와 같이 보여졌다. - 보여지는 이미지 - 보여지지 않는 이미지 위 두 개의 이미지를 비교했을 때 Color Space가 유독 눈에 들어온다.sRGB 와 Apple Wide ColorApple Wide Color는 ..
키보드가 활성화 될 때 하단 부분은 가려지게 될 것이다.반드시 보여져야 하는 레이어들이라면 키보드 위로 올려서 보여질 수 있게 해보자.let inputTyping = UITextView()let buttonExecution = UIButton()override func viewDidLoad() { super.viewDidLoad() let tap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard)) self.view.addGestureRecognizer(tap) NotificationCenter.default.addObserver(self, selector: #selector..
1. 이미지 사이즈https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/custom-icons/필자는 25사이즈로 한다.참고로 이미지는 png 확장자를 사용하며, 투명바탕에 흰색 이미지를 사용하는 것이 좋은 것 같다. 2. 탭바 선택하였을 때 이미지가 변화되도록 하려면
시뮬레이터를 하는 아래와 같은 메세지로 인해 다운이 되었다. libsystem_kernel.dylib`__abort_with_payload: 내가 사용할 것은 UIImagePicker이다.엄청 난 삽질 끝에 알아낸 사실은 Info.plist에 추가해 줘야한다는 것을 깜빡 잊고 있었다.Privacy - Photo Library Usage Description
Xcode7 과 Xcode8 버전으로 작업을 하고 있다.응용프로그램에 디폴트 Xcode를 8로 하고 Xcode 7을 다른 폴더에 넣어 두었다. 나의 소스의 차이점Xcode7 Xcode8 SQLite Manual 사용 SQLite CocoPods 사용 그러나 Xcode7 에서 구버전 소스를 컴파일을 하려고 하였으나, 아래와 같은 에러가 메세지가 나왔다.could not build objective-c module 'csqlite'header 'stdatomic.h' not found 기존에는 되었던 것이고, 소스 변경도 없었는데, 도저히 원인이 파악이 되지 않았다.SQLite 도 Manual로 하였기에 소스도 예전 소스이다. 이것은 이렇게 하니, 해결 하였다. 응용프로그램 디폴트 Xcode를 7로 해보니 ..
override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: .UIApplicationWillEnterForeground, object: nil) } func willEnterForeground() { // do stuff print("complete TEST") }
동일한 버튼을 클릭할 때마다 boolean 값을 바꿔주는 경우가 종종 있다.이런 경우 아래와 같이 했었다.var buttonValue = false@IBAction func BoolButton(_ sender: UIButton) { if buttonValue == true { buttonValue = false } else { buttonValue = true }} 이것을 단순하게 바꿔본다면...var buttonValue = false@IBAction func BoolButton(_ sender: UIButton) { buttonValue = !buttonValue} 끝!
xcode 상단에 보면 종류별로 아이폰을 시뮬레이터를 할 수 있는 리스트가 나와 있다.그러나 보이지 않을 경우가 있다. 이렇게 하면 해결 된다. 1. 어플명을 클릭하면 아래와 같이 메뉴가 나오고, Edit Scheme를 선택한다. 2. "Run" 의 Executable을 보면 None으로 되어 있을 것이다. 이부분을 선택하여, 해당 어플명을 골라주면 끝이다.
* 아래 처럼 선언 하였을 때 기본값이 false가 된다. var TestBool = Bool() print(TestBool) // false * 기본 값을 nil로 표현var TestBool2: Bool? = nilprint(TestBool2) // nil * 기본 값을 true로 표현var TestBool3 = trueprint(TestBool3) // true Bool 기본값을 블로그에 기재한 이유는..TestBool = Bool() 하였을 경우, 기본으로 false의 값이 반환되는 것을 모르고 있었다.
1. 문제 $ pod install...Abort trap: 6 2. 해결$ gem install cocoapods --pre $ pod install //정상적으로 작동 된다.
1. Xcode 버전 2. Xcode 시뮬레이터 최대 iOS버전 3. 아이폰 버전 4. 결론 - Xcode 에서 지원하는 OS 최대 버전 보다, 아이폰의 버전이 높을 경우 아래와 같은 에러 메세지를 보여,아이폰에서 시뮬레이션을 할 수 가 없다.
1.var product = [String:[String]]() product = ["it":["phone","computer"],"school":["pen","note"]] product["it"]?.append("tablet") print(product) //["it": ["phone", "computer", "tablet"], "school": ["pen", "note"]] product.updateValue(["handle"], forKey: "car") print(product) //["it": ["phone", "computer", "tablet"], "car": ["handle"], "school": ["pen", "note"] 2.var product2 = [String:[String:An..
url에 한글이 존재할 경우 nil값을 반환하는 경우가 생긴다. 아래 예시를 변경해 보자. let Orgurl = "http://blog.goodgods.com/page?"let Value = "한글값"let Parameter = "name=\(value)" if let Url = URL(string: Orgurl+Parameter) {} 변경 후let Orgurl = "http://blog.goodgods.com/page?"let Value = "한글값" let EncodeValue = Value.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) { let Parameter = "name=\(EncodeValue)"..
itunesconnect에서 아이콘 이미지를 올려보았지만, 아래와 같은 메세지로 업로드가 되지 않았다. 이미지는 알파 채널 또는 투명도를 포함할 수 없습니다 확장자를 PNG에서 JPG로 변경 후 올렸다.포토샵에서 아이콘 이미지를 만들기 위해 투명도를 체크한 후 바탕화면에 투명도 없이 페인트로 전체 색을 하였지만, 파일 속성에 투명도 정보가 포함 되었나 싶기도 하다. PNG확장자로 투명도를 해제 후 다시 만들어 확인 할 수 있겠지만, 귀찮아서 안했다.
itunesconnect에서 심사를 위해 빌드 파일을 선택하였을 때, 아래 메세지 처럼 나오는 경우가 있다. 나 같은 경우, 처음 iphone을 배포를 시작 한 후, 나중에 ipad를 지원되게 하였다.해당 문구로 인해 문제가 발생될 수 있다는 것을 감지하여, 여러 곳을 찾던 중, itunesconnect의 일종의 버그 같은 것이니, 무시하라는 말이 있었다.수정하기도 귀찮고, 리젝당하면 그때 다시 수정하자는 마음으로 무시를 하였다. 아무 이상없이 심사가 통과 되었다.iphone은 수정된 것이 없지만, 일단 업데이트...ipad App Store에 보여지는지 확인을 하였다.헐.....보여지지 않는다.... 리젝 될 줄 알았던 것이 정상통과 되었고, 사용자들은 아무 의심없이 업그레이드를 할 것이다.해당 오류를..
iPad가 지원되게 수정 후 심사 제출을 하려고 하였지만, 위 와 같은 에러가 발생하였다. Devices에 iPhone, iPad, Universal을 각각 확인을 해보면, 아래 Requires full screen 체크가 안되어 있는 것이 있다.이 부분을 체크를 한 후에 다시 컴파일 후 업로드를 해보자.
itunes Connect 사용하기 헷갈리고 정말 어렵지 않은가? ㅜㅜ 지금도 삽질하면서 잘못 기입되거나, 삭제하고 싶은 것들이 상당히 많다. ㅜㅠ 많이 생기는 일은 아니겠지만, 보통 tvOS앱을 버튼을 잘 못 클릭하여 "제출 준비상태" 가 되곤 할지도 모른다.itunes에 "제출 준비상태" 로 된 앱을 삭제하려고 이것저것 찾아보다 이것저것 클릭하다가 버전 및 플랫폼 을 클릭 하게 되었다.차라리 처음부터 다시 만들었으면 만들었지, 나같은 경우 성격 상 이런 것을 그냥 못 보고 지나친다.(참고로 알아본 바, 앱 삭제는 한번 승인 받았던 앱에 대해서만 삭제가 가능 하다고 한다. 그러면 승인 받지 못한앱은 어쩌란 말인가? 3개월인가.. 몇개월 지나면 애플에서 삭제하겠다고 메일을 보내준다고 한다. - 그때까지 ..
- Main storyboard에서 버튼을 클릭 하였을 때 Sub storyboard로 이동하는 것을 테스트 해 볼 것이다. 1. 우선 또 다른 스토리보드를 생성하자.(SubMain.storyboard) 2. 새로운 스토리보드에 아무 컨트롤러를 만들어 놓자(SubViewController.swift) 3. Main.storyboard에 버튼을 만들고 Storyboard Reference 를 드래그하여 Main.storyboard에 넣자. 4. 버튼과 Storyboard Reference와 연결 시킨 후 오른쪽 상단과 같이 지정한 서브 스토리보드 명과 컨트롤러 이름을 지정하여 실행시켜보자.
Guard에 대해서는 설명이 잘 나온 글들이 많다.완벽하게 이해하지는 못하였지만 느낌은 알 것 같은..설명은 쓸 수 없지만.. 잊지않기 위해 활용한 소스라도 올려본다. * 처음 테스트로 작성한 코드var ValueNil:String? = nil ValueNil = "Guard" func guardTest() { guard ValueNil != nil else { print("bad") return } print(ValueNil) } guardTest() // 출력은 Optional("Guard") - 그러나 여기서 Optional이 붙어 버리니 어찌해야하나.. - Guard 부분에서 nil을 체크하였기 때문에 print에서 "!" 를 붙여도 상관이 없음. - 그러나 "!" 자체가 불안하다. - 그래서 물..
developer로 결재하기 위해 굳은 마음으로 카드를 옆에 두고 개발자 결재 등록 사이트로 들어갔다.왠걸 아래와 같이 나온다. 발표 때문에 잠시 중단을 시킨 것 같다.각 나라 언어로 동일한 문구를 차례대로 출력시키는 것 같다. 한국어는 15개(?) 언어 중 10번쯤(?)에 출력되고 있는 것 같더라. 큰 맘먹고 개발자 등록 해보려고 했는데..ㅜㅜ발표끝나면...내일 되겠지...
무엇을 잘 못 눌렀는지 갑자기 자동 줄 바꿈이 되지 않는 것이다. 어지간히 불편한게 아니였다. 화면도 작은데..ㅠㅠ제대로 나와있는게 없더라.. 그래서 더 열심히 찾아봤다.http://stackoverflow.com/questions/5271530/how-to-disable-word-wrap-in-xcode-4-editor 위 Line wrapping 에 체크를 하였더니 잘 됨. 특정페이지에서만 자동 줄바꿈이 되지 않는다면, 아래 이미지 처럼 Wrap lines 체크해보자.
https://developer.apple.com/library/mac/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_ko/Chapters/About.html#//apple_ref/doc/uid/TP40016320-CH1-SW1
func MultiReturn() -> (String, Int, NSDate) { let name = "MultiReturn" let age = 25 let date = NSDate() return (name, age, date)} print(MultiReturn().0)print(MultiReturn().1)print(MultiReturn().2)
버튼을 클릭했을 경우 화면에 해당 collectionViewCell 위치로 이동할 수 있게 한다. @IBAction func time00(sender: AnyObject) { self.collectionview?.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), atScrollPosition: .Left, animated: true) } forItem 은 이동하는 셀로우 : IndexPath.row 라고 생각하면 될 듯..atScrollPosition 은 화면에 어떤 위치를 기준으로 삼아서 해당 셀을 보여 줄 것인지 : .Top, .Bottom, .Left, .Right
let str = "man|17&woman|19" let result = str.componentsSeparatedByString("&")print(result) // ["man|17", "woman|19] let charSet = NSCharacterSet(charactersInString: "|^")let result = str.componentsSeparatedByCharactersInSet(charSet)print(result) // ["man","17","woman","19"] let Array2D = str.componentsSeparatedByString("^").map { $0.componentsSeparatedByString("|")} print(Array2D) // [["man,"17"..
$ pod install Analyzing dependencies[!] Unable to satisfy the following requirements: - `SQLite.swift (~> 0.10.1)` required by `Podfile` None of your spec sources contain a spec satisfying the dependency: `SQLite.swift (~> 0.10.1)`. You have either: * out-of-date source repos which you can update with `pod repo update`. * mistyped the name or version. * not added the source repo that hosts the P..
http://pinkstone.co.uk/how-to-kill-your-app-when-it-enters-background-mode/ 홈버튼을 눌러 백그라운드로 갔을 경우 앱을 실행시키지 않는다. 다시 실행하면 앱은 사용했던 화면을 보여주지 않고 새로 시작된다.
let nav = self.navigationController?.navigationBar nav?.barTintColor = UIColor(red: 237.0/255.0, green: 237.0/255.0, blue: 242.0/255.0, alpha: 1.0) nav?.tintColor = UIColor(red: 0/255.0, green: 123.0/255.0, blue: 255.0/255.0, alpha: 1.0) nav?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor()]