iPhoneのOSStatusコードを有用なものに変換するには?
質問
私はこのiPhone SDKとそのドキュメントに少しばかりうんざりしています...。
AudioConverterNew を呼び出しているところです。
のドキュメントで、Returns: に "returns a status code" と書いてあるのですが、これは何ですか? ... 本当に...
これまでのところ、パラメーターで遊んでいる間、私は 2 つの異なるエラーを得ることができましたが、どちらも Audio Converter リファレンスの下部に記載されていません。
これらは 'mrep' と '?tmf' (OSStatus を char 配列にキャストする) ですが、特定のコードは実際には重要ではありません。
私が知る限り、ランダムなエラーコードはランダムなファイルに定義されているので、1 つのファイルを検索することはできません。また、エラーコードを検索して詳細情報を取得できるヘルプドキュメントも見つかりません。私が知る限り、OS X では GetMacOSStatusErrorString() を使用してエラーを何か役に立つものに変換できますが、iPhone には同等のものがないのでしょうか?
どんな助けでも、非常に感謝されます。
EDITです。
OK、それで、それらをキャストすると、それらは逆になります (私は 'mrep' についてチェックしましたが、どちらの方法でもありませんでした)、fmt? は Audio Converter api のリストにあり、少し曖昧ですがかなり自己説明的です、しかし公平です、まだ 'perm' はそこにありません (aac デコードをサポートしないシミュレータに関係するかもしれませんが)、私の一般的な質問はまだ残っています。
どのように解決するのですか?
いいえ、完全ではありません。
OSStatusの中には4文字コードのものもあるので、(iPhone SDKのサンプルコード"より抜粋。
CAXException.h
")を使用することができます。
static char *FormatError(char *str, OSStatus error)
{
// see if it appears to be a 4-char-code
*(UInt32 *)(str + 1) = CFSwapInt32HostToBig(error);
if (isprint(str[1]) && isprint(str[2]) && isprint(str[3]) && isprint(str[4])) {
str[0] = str[5] = '\'';
str[6] = '\0';
} else {
// no, format it as an integer
sprintf(str, "%d", (int)error);
}
return str;
}
(参照 iOS/C: 整数("integer")を4文字の文字列に変換する を参照してください)
NSErrorのNSOSStatusErrorDomainは、いくつかのOSエラーをデコードすることができます。以下を参照してください。 @tomk さんの回答 .
ユーザーのためにプログラム中の数字をデコードする必要がない場合は
macerror
スクリプトを使って手動で意味を調べることができます。
lrosさんの回答
. サポートされている OSStatus の一覧は、そのソースコードから
/System/Library/Perl/Extras/5.18/Mac/Errors.pm
.
また、オンラインサービスもあります
http://osstatus.com/
があり、すべての公開フレームワークからエラーを収集しています。これらはまだ完全なものではありません。
-12792
へのマッピングが欠落しています。おそらく、これはプライベートフレームワークからのコードです。
関連
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
IOSラーニングノート「このクラスはxxxのキーバリューコーディングに対応していません」問題解決
-
[解決済み] PHPで有用なエラーメッセージを得るにはどうしたらよいですか?
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] iOSとWatchKitで画像のtintColorを変更する方法
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み】iPhoneアプリケーションにファイルタイプを関連付けるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
iOS classic error Undefined symbols for architecture XXX:
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?