問題タブ [sskeychain]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - SecItemAdd および SecItemCopyMatching がエラー コード -34018 (errSecMissingEntitlement) を返す
Xcode からデバイス上でアプリケーションを実行すると、キーチェーンにアクセスしようとしても、エラー -34018 が原因で失敗することがあります。これは、文書化されているキーチェーン エラー コードのいずれとも一致せず、一貫して再現することはできません。(おそらく30%の確率で発生しますが、なぜ発生するのかはわかりません)。この問題のデバッグを非常に困難にしているのは、ドキュメントがまったくないことです。これの原因とそれを修正する方法はありますか?Xcode 5 を使用しており、デバイスで iOS 7.0.4 を実行しています。
これに関する未解決の問題があります: https://github.com/soffes/sskeychain/issues/52
編集: リクエストごとにキーチェーン アクセス コードを追加する
SSKeychain
キーチェーンとのインターフェースにライブラリを使用しています。これがスニペットです。
ほとんどの場合、それで問題ありません。キーチェーンへの書き込みまたはキーチェーンからの読み取りができないアサーション エラーが発生し、重大なアサーション エラーが発生することがあります。
ios - SSKeychain が異なる iOS アプリに対して同じパラメーターで異なる結果を返す理由
SSKeychain を使用して iOS で UUID を予約しようとしました
サンプルコードは以下のとおりです
私の質問は、最初のアプリを実行してから UUID を生成し、同じパラメーターを持つ 2 番目のアプリを実行して、取得した uuid が null にならないようにすることです。なぜ 2 番目のアプリが別の UUID を返すのでしょうか? App1 のキーチェーンに UUID を保存し、App2 の同じパラメーターで取得しようとしたため、最初のアプリと同じ UUID が返されると思います。
手伝ってくれてありがとう
ios - 一部のデバイスでは、SSKeychain に格納されている CFUUID が null です
私の公開アプリケーションは、デバイスを識別するためにCFUUID
andを使用します (また、アプリがアンインストールされて再インストールされても、その ID は変更されません)。SSKeychain
私はそれらのデバイス ID をサーバーに保存していますが、最近、一部のユーザーが同じ実際のデバイスに対してこれらの ID を複数持っていることに気付きました。私が見る唯一の説明は、ID がキーチェーンから保存またはロードされていないため、デバイスが新しい ID を生成するということです。奇妙なことに、同じ iOS バージョンを実行している他のデバイスでも問題なく動作します。
何が起こっているのかについてのアイデアはありますか?
これは私の関連コードです(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
編集:retrieveuuid == nil
何らかの理由で期待どおりに機能していないと思います。アプリの後半でプッシュ通知を登録し、まったく同じ行で読み取ったこのCFUUIDとともにプッシュトークンをサーバーに送信し[SSKeychain passwordForService:serviceName account:identifier]
ますが、サーバーに送信されるとnilではありません(したがって、同じプッシュ トークン)。
EDIT 2 を追加して、実際のコードを追加します。
AppDelegate.m
RestClient.m
doAction メソッドはデータをサーバーに送信し、デリゲートをコールバックするだけで、その部分は正常に機能します。このコマンドを受信したログをサーバーで確認できます。
NSStrings
コントローラー本体と静的getDevice
メソッドの2つの候補が奇妙な動作を引き起こしている可能性があります。ただし、これが多くのデバイスでどのように機能するかはわかりませんが、他のデバイスでは失敗します。
objective-c - キーホルダーアイテムの読み方
Objective-C を介してキーチェーン アイテムを読みたいのですが、Apple のドキュメントを見つけて読みました
サンプルコードを示していますが、必要なフレームワーク (SystemConfiguration.framework および Security.framework) を適切にリンクした後でも、どうすればそれを機能させることができるかはまだわかりません。
SSKeychain Wrapper の使用方法も考えていますが、実行時に呼び出すと認識されないセレクターがクラスに送信されます。
どうもありがとう。
ios - アプリが iTunes から更新された後、キーチェーンはデータを保持しません
iOS アプリにデータを安全に保存するために、SSKeychainオープン ソース ライブラリを使用しています。昨日、iTunes からアプリを v1.0 から v2.0 に更新したときに、SSKeychain がデータを保持できなかったという問題に直面しました。
UUID 生成のコード:
ここでは、一意のデバイス文字列を生成し、 を使用しkeychain
て同じものを保存しました。アプリは一意の文字列/デバイス識別子に大きく依存します。これは、iOS5 から iOS7 にかけUnique Device Identifier
て、メソッドが非推奨になったため、Apple が に関連して多くの変換を行ったためです。
Store & Retrieve のコープ スニペット:
それで、これはキーチェーンがその値/識別子を保持できないということですか、アプリがAppleから更新されたとき、または私はある時点で見逃しています. アプリのインストール、アンインストール、リセット、更新に関係なく、識別子をデバイスに永続的に保存できるかどうかを助けてください。
または、生成時に同じdeviceID /一意の文字列を提供できる API があるので、一意の文字列を保存する必要がありますか?
注 :アプリは iOS 4.3 以降をサポートしている必要があります。
ios - SSkeychain を使用してアクセス トークンを保存する
Instagram APIのアクセストークンを保存するためにSSkeychainを使用する方法を理解しようとしています。私は現在 NSUserDefault クラスを使用していますが、それが最善のアイデアだとは思いません。
SSkeychain クラス自体を使用するには、割り当てて初期化する必要がありますか?
ios - AppStore の更新後に STKeychain がパスワードの取得に失敗する
シナリオ:
- アプリはバックエンド トークンをデバイスのキーチェーン (STKeychain、ex SFHFKeychainUtils) に保存します。
- バックグラウンド フェッチは無効になっています。
- 最近、アップグレードがリリースされました。
ユーザーが再サインインしなければならないという報告を受けています。これは、STKeychain トークンの取得中の問題のようです (保存されたパスワードは nil として取得されます)。
この種の問題を引き起こす STKeychain (または iOS キーチェーン自体) に既知のバグはありますか?
事前に感謝します。リードは大歓迎です!
ios - SSKeychain: iCloud に保存されていないアカウント?
sskeychain ( https://github.com/soffes/sskeychain ) を使用して、アカウントとパスワードを IOS キーチェーンに保存しています。アカウントを保存すると、他のデバイスで利用できるはずだと思います。しかし、そこには現れません。
私はこのコードで自分のアカウントを読みました:
これを取得します(1つのエントリのみが表示され、他のエントリは同様です):
しかし、これは他のデバイスには表示されません。どちらのデバイスにも IOS 7.1.1 が搭載されています。次の行でパスワードを保存します。
Xcode でキーチェーン共有をオンにして、そこにキーチェーン グループ「de.gondomir.LocalButler」をリストしました。
何か不足していますか?サービスに何か特別な名前を付ける必要がありますか?
ありがとう!