ネイティブ iOS アプリケーション (多数の .a ライブラリ) でサードパーティのフレームワークを使用しています。私のアプリケーションは、XCode 5 ベースの SDK 7.0 で開発されています。
展開ターゲットが 6.1 の場合、ライブラリは正常にコンパイルおよびリンクされます (ライブラリとヘッダーの検索パスは適切です)。ただし、展開ターゲットを 7.0 に変更すると、次のリンカー エラーが発生します。
Undefined symbols for architecture i386:
"std::string::find_last_of(char const*, unsigned long) const", referenced from:
GetExecutionDir(ECTemplateString<char>&, char*, bool) in myLibrary.a(moPlatForm.o)
"std::string::find(char const*, unsigned long) const", referenced from:
ParseLog(std::string const&, unsigned int&, CmoDateTime&, int&, std::string&) in myLibrary.a(AppLog.o)
"std::string::size() const", referenced from:
mo::CmoParam::WriteToStream(void*, mo::STREAM_STATE*) in myLibrary.a(moParams.o)
"std::string::c_str() const", referenced from:
GetExecutionDir(ECTemplateString<char>&, char*, bool) in myLibrary.a(moPlatForm.o)
CMocaFileTransfer::UpdateParamsForGetTraceFiles(mo::CmoParamList&, long) in myLibrary.a(RobieFileTransfer.o)
CMocaFileTransfer::AddTraceFileForUpload(std::string const&, std::string const&) in myLibrary.a(RobieFileTransfer.o)
CMocaFileTransfer::CreateParamsForSendTraceFiles(mo::CmoObject&) in myLibrary.a(RobieFileTransfer.o)
mo::CmoParam::WriteToStream(void*, mo::STREAM_STATE*) in myLibrary.a(moParams.o)
ParseLog(std::string const&, unsigned int&, CmoDateTime&, int&, std::string&) in myLibrary.a(AppLog.o)
CAppLog::LogExists(unsigned int) in myLibrary.a(AppLog.o)
...
ライブラリは少し古いため、互換性の問題があるかどうかはわかりません。iOS 6 をサポートする予定はないので、展開ターゲットを 7.0 に設定する必要があります。どんな種類のヘルプ/指示も素晴らしいでしょう。