問題タブ [ios-app-group]
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 - NSUserDefault は iOS8 の拡張機能で保存およびロードできません
NSUserDefault
iOS カスタム キーボードにデータを保存する必要があります。開発者ポータルでアプリ グループと資格を正常に作成しましたXCode
。
UISwitchで値を保存する方法は次のとおりです
そして、これがKeyboardViewに値をロードする方法です。
それは機能せず、値をロードしません。
データを保存およびロードするにはどうすればよいですか?
objective-c - iOS 8 でファイルをアプリ グループに保存できない
- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier
iOS 8 b4でコンテナアプリと拡張機能の間でファイルのセーブ/ロードに使ってみました。
コードは次のとおりです。
このコードを拡張機能 (カスタム キーボード) とコンテナー アプリの両方に配置しました。iOSシミュレーターで実行すると、どちらもファイルを正常に保存できます。ただし、iOS デバイスでは、拡張機能はファイルを保存できません (コンテナー アプリは引き続き保存できます)。
拡張機能がファイルを保存しようとすると、コンソールに cocoa エラー 513 が表示されます。
2014-07-31 01:37:49.316 TestExtention[2359:288820] エラー Domain=NSCocoaErrorDomain Code=513 「操作を完了できませんでした。(Cocoa エラー 513。)」 UserInfo=0x15df2100 {NSFilePath=/private/var/ mobile/Containers/Shared/AppGroup/4FA2DA5E-89C3-4BC3-AA5B-DD869827C5E7/Library/Caches/test.txt, NSUnderlyingError=0x15df1d90 "操作を完了できませんでした。操作は許可されていません"}
これは iOS 8 拡張機能の制限ですか?
objective-c - コンパニオン アプリとアプリ拡張機能の間のアプリ グループで値が常に保持されるとは限らない
常にではありませんが (これは少しの間機能していました)、アプリ/拡張機能は、コンパニオン アプリとアプリ拡張機能の間のアプリ グループに設定されたフラグを読み取ることができない状態になります。この状態になる方法や値が異なる理由はわかりませんが、私のアプリケーションにとってこれらが常に同期していることが重要です。
コンパニオン アプリ viewDidLoad :
アプリ拡張 viewDidLoad
コンソール出力
また、コンパニオン アプリがバックグラウンドに入る前に同期します。ポータルなどでアプリ グループを設定しています。
私は何を間違っていますか?
編集
どうやら他の人もこの問題を抱えているようです: https://devforums.apple.com/message/977151#977151
「これは現在非常に問題があると思います。
時々、データ共有が機能し、その後変更が行われ、突然、ウィジェットが共有データを表示できなくなります (シミュレーターとデバイスの両方で)。
うっとうしいので、次のベータ版でもう少し信頼性が高まることを願っています!"
EDIT 2 別の人がこの正確な問題も報告しているようです:
「私も同じことに気付きました。これは NSUserDefaults だけでなく、コンテナー フォルダー内のすべてのファイルにも発生します。キーボード拡張機能は、しばらくキーボードを使用した後、コンテナー フォルダーへの読み取り/書き込み許可を突然失います。」
編集 3 さらなる証拠: https://devforums.apple.com/message/1028078#1028078
beta 3 にアップグレードした後、DB ファイルへのアクセスに失敗したため、キーボードでデータベースを開けないことがあることに気付きました。キーボードは以前にファイルにアクセスできました。
編集4
RequestsOpenAccess
これは、キーボードがフラグを失ったためと思われます。しかし、それを再現することはできず、確実に判断する方法はありません。
編集5
他の人が iOS8 GM ビルドでこれを報告しているようです:
この問題は、GM でも引き続き発生します。キーボードのクラッシュに関連しているようです..しかし、誰がどの順序でスイートを作成するかという点で、キーボードとそれを含むアプリの間にいくつかの競合があるようです. この問題は Apple 側にあると思います。私を信じてください、私はそれが私のせいであることを望んでいますが、私は試行錯誤に数え切れないほどの時間を費やしてきました. コードで何をして NSLog で検証しても、最終的にはこの状態になります。誰かが魔法の薬を見つけてくれることを願っています。:S
誰もこれを解決しましたか?
appium - iOS アプリの要素 ID、名前、パスを見つける
iOS アプリの自動化に Appium を使用しています。問題は、iOS レコーダーが遅すぎるため、スクリプトの作成プロセスが遅くなることです。スクリプトを手動で記述できますが、オブジェクト/要素名、ID、xpath などが必要です。iOS アプリの要素 ID、名前、Xpath を教えてくれる無料のツールはありますか?
-ビナイ