###前提・実現したいこと
iPhoneのappにてXMLファイルを読み込んでその要素を取得したいと思います。
以下のようにソースを書いてXcodeのシュミレーターで起動しました。
こちらでは問題なく起動しました。続いて実機で起動してみたところ
起動自体は問題なくエラーも無かったですが、XMLファイルを読みませんでした。
関数に全く入っていないようです。
何かiPhoneの設定などが必要なのでしょうか?
よろしくお願いします。
###該当のソースコード
class ViewController: UIViewController, XMLParserDelegate { var arrayValues: [String] = [] override func viewDidLoad() { super.viewDidLoad() // XML解析実行 loadxml() } // XMLを解析する func loadxml(){ let url_text = "http:sample.co.jp//" guard let url = URL(string: url_text) else{ print("URLではありません。") return } // インターネット上のXMLを取得し、NSXMLParserに読み込む guard let parser = XMLParser(contentsOf: url) else{ print("エラー?") return } parser.delegate = self; parser.parse() } // XML解析開始時に実行されるメソッド func parserDidStartDocument(_ parser: XMLParser) { print("XML解析開始しました") } // 解析中に要素の開始タグがあったときに実行されるメソッド func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) { print("開始タグ:" + elementName) } // 開始タグと終了タグでくくられたデータがあったときに実行されるメソッド func parser(_ parser: XMLParser, foundCharacters string: String) { print("要素:" + string) // 要素を配列に格納 arrayValues.append(string) } // 解析中に要素の終了タグがあったときに実行されるメソッド func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) { print("終了タグ:" + elementName) } // XML解析終了時に実行されるメソッド func parserDidEndDocument(_ parser: XMLParser) { print("XML解析終了しました") print(arrayValues) } // 解析中にエラーが発生した時に実行されるメソッド func parser(_ parser: XMLParser, parseErrorOccurred parseError: Error) { print("エラー:" + parseError.localizedDescription) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
###補足情報(言語/FW/ツール等のバージョンなど)
言語:Swift3
環境:Xcode 8
実機:iPhone5
iOS: 9.3.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。