모바일 113

[Swift] 웹뷰에서 자바스크립트 실행 방법

다음의 메서드가 준비되어있다.webView.stringByEvaluatingJavaScriptFromString()인자에다가 string 을 넣어주면 된다. 일단, 웹뷰를 통해 페이지를 전부 로딩되고 난후 불러와야 한다.func webViewDidFinishLoad(webView: UIWebView)위와같이, 페이지가 불러왔을때 사용가능하게 하면 된다. 다만, 프레임이 여러개가 있으면 여러번 호출될수 있으므로 이를 방지하여야 한다.전체 코드는 다음과 같다.

모바일/iOS 2016.08.06

Swift2 - String to JSON Object

Swift: Could not cast value of type '__NSCFArray' to 'NSDictionary' JSON의 제일 상위가 []로 감싸져있을때는 Array타입이며 {}는 Dictionary 타입이다. 만약, 최상위가 []로 감싸져있다면 다음과 같이 NSMutableArray로 변환해야하는걸로 보인다. let data = responseString?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! do { let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! NSMutableArray print("\(json)") } cat..

모바일/iOS 2016.06.08

Swift2 - Using faceAPI and sending binary data to server

핵심은 쓰잘데기 없는거 지우고 마이크로소프트 faceAPI 를 이용할시 다음과 같이 이용한다. func imageUploadRaw(image:UIImage){ let request = NSMutableURLRequest(URL: NSURL(string: "https://api.projectoxford.ai/face/v1.0/detect?entities=true&returnFaceId=true&returnFaceLandmarks=true&returnFaceAttributes=age")!) request.HTTPMethod = "POST" let imageData :NSData = UIImagePNGRepresentation(image)! let body = NSMutableData(); body.appen..

모바일/iOS 2016.06.06

Swift2 - Multipart Data send

레퍼런스도 없고 인터넷 참고용 코딩도 지저분하지만 일단 복붙굉장히 더럽고 참고용이기때문에 필요하면 참고한다. func generateBoundaryString() -> String{ return "Boundary-\(NSUUID().UUIDString)"} func imageUploadRaw(image:UIImage){ let request = NSMutableURLRequest(URL: NSURL(string: "https://api.projectoxford.ai/face/v1.0/detect")!) request.HTTPMethod = "POST" let postString = "entities=true&returnFaceId=true&returnFaceLandmarks=true" let myData..

모바일/iOS 2016.06.06