読者です 読者をやめる 読者になる 読者になる

ツタンラーメンの忘備録

プログラミングや精神疾患、ラーメンについて書いていきます。たぶん。

openframeworksでxmlファイルがどこに消えたかわからなくなった

openframeworks(iOS)でxmlファイルがどこにあるかわからず、困った。
bin/data内にmySettings.xmlってファイルを作ると読み込めるんだけど、保存できない。おそらくtxtファイルも同じだろうと思う。結論としてはサンプル(example/ios/xmlSettingsExample)を読めということに尽きる(僕はサンプルを読むのが嫌いなのでだいぶ遠回りしました)。
ちなみに
openframeworks(iOS) v0.9.6
Xcode version8.1
iOS 10.0.2

ただ、サンプルが長くて読むのがめんどくさいので必要最小限で書く。
ヘッダファイルで

#include "ofxXmlSettings.h"
//省略

class ofApp:public ofxiOSApp{
  //省略
  ofxXmlSettings XML;
};
void ofApp:setup(){
  //省略
  if(XML.loadFile(ofxiOSGetDocumentDirectory() + "mySettings.xml")){
    cout<<"loaded from documents folder"<<endl;
  }else if(XML.loadFile("mySettings.xml")){
    cout<<"loaded from data folder"<<endl;
  }else{
    cout<<"unable to load it"<<endl;
  } //このへんはサンプルまんま
  host = XML.getValue("HOST", "255.26.?.45"); //getValue(検索したいタグ, 見つからなかったときの初期値)
}

//省略

void ofApp:touchUp(ofTouchEventArgs & touch){
  XML.setValue("HOST", host);
  XML.saveFile(ofxiOSGetDocumentDirectory() + "mySettings.xml");
}

こんな感じである。