macのOneNoteで、共有ノートブックを開けない

症状

macの OneNote のフォルダー名を変更しようとしていたところ、なぜか急に調子が悪くなり、同期ができなくなる。その後、いろいろ試行錯誤しながら修復を試みるうちに、 ファイルを閉じて、再度開こうとしたところ、開けなくなってしまった。

メニュー >> ファイル >> ノートブックを開く >> 次のようなダイアログが開くが、何も表示されず、選ぶことができない。

さらに、次のように “新規”を選択し、新しいノートブックを追加しようとしても、名前の下の “場所” に選択肢が現れず、追加できない。

OneDrive を再インストールしても修復できず。

OneNote を再インストールしても修復できず。

解決方法

Menu >> OneNote >> 環境設定

OneNote の環境設定

OneNote の環境設定から”プライバシー”をクリック

プライバシーから、”接続エクスペリエンスの管理”ボタンを押す。

“接続済みサービスを有効にする”のチェックボックスをオン。

OneNoteを再起動。

これで見えるようになりました。

結構大事な情報を格納していたので、焦ったー。

Warning: To use these entitlements, add them to your entitlements file. Otherwise, remove unused entitlements from your provisioning profile.

Symptom

When I was building an App Clip, the following warning was reported by XCode. Provisioning profile “iOS Team Provisioning Profile: com.aiharasoft.***App” for “***” contains entitlements that aren’t in the entitlements file: com.apple.developer.associated-appclip-app-identifiers. To use these entitlements, add them to your entitlements file. Otherwise, remove unused entitlements from your provisioning profile.

Solution

From https://developer.apple.com/, “Certificates, Identifiers & Profiles” >> “Profiles” >> Choose profile. Somehow, the Status got into Invalid.

And I edited the profile and saved, and the status turned to Active.Rebuild XCode and the warning has gone.

Another point is when I added “Associated Domains” from capabilities, only on debug was selected. Thus, two entitlements file for debug and release were created. I did not notice the two entitlements, debug and release files became inconsistent, and then uploaded to App Store Connect. So, the app got into into inconsistent state.

I’m not sure, but as the warning says, inconsistency between Provisioning Profile and *App.entitlements causes this warning.

Anyway, check the Profiles, entitlements, and the consistencies, first.

  1. https://developer.apple.com/, “Certificates, Identifiers & Profiles”
  2. App.entitlements in Xcode file.

XCode cannot get into debug mode with message: “Finished running”

Symptom

When I started debugging with XCode on a physical iPhone 8 device, the debugger stopped with “Finished running”. The app was successfully deployed, up and running on a device, but it could not start debugging.

On a simulator, Xcode could get into debug mode.

Restarting xcode did not solve the problem.

Solution

Reboot the iPhone and restart Xcode.

[Error] The file couldn’t be opened because you don’t have permission to view it.

Symtom

While accessing PHPicker, the following error occurred. However, I could access the image successfully.

2021-03-07 16:28:16.910394+0900 **** [4516:1164237] [default] [ERROR] Could not create a bookmark: NSError: Cocoa 257 “The file couldn’t be opened because you don’t have permission to view it.” }

Solution

Reference:

https://developer.apple.com/forums/thread/654021

https://developer.apple.com/forums/thread/652695

Per Apple Frameworks Developer, they are aware of this issue (64630315) and it will be fixed in a future release. (as of 2020 Summer).

To workaround the permission error for now, you need to reset your simulator / device.

Panasonic Let’s Note CF-SX1 Win10 20H2 Updateで遅くなる

現象

9年前のPanasonic Let’s Note CF-SX1を、ハードディスクをSSDに換装して、さらに Win10 64bit にアップデートしたものをサブPCとして全く問題なく好調に使っていました。

ところが、Windows 10 Version 20H2 更新プログラムを適用したら、めちゃめちゃ遅くなった。タスクマネージャで確認すると、次のように CPU が50%以上システムに消費されており、応答がとても遅くなり、使い物にならないレベルになった。

対応

以前、SSDに換装して、Windows 10を導入した際に、同じ現象になり、その時にLets Noteのドライバーを入れ直して、解決したことを思い出した。

そこで、サポートページより、あたりをつけて、Intel(R) Dynamic Power Performance Management ドライバーを適用すると、正常動作に戻った。

適用後はこんな感じ。

PHPhotoLibrary.requestAuthorization not asking permissions

Sub Title

How to clean up the app and all associated data from devices.

Symptom

XCode 12.4

iPhone 8

iOS 14.4

macOS Big Sur 11.2.1

When I was testing Nega Viewer App Clip which access the camera and photo library, suddenly PHPhotoLibrary.requestAuthorization did not ask permissions. I tried the following cases, and only #3 worked for me.

Solutions

Case #1

  1. Remove the application from the iPhone.
    It did not work.

CASE #2

  1. Remove the application from the iPhone.
  2. Go to [Settings] >> [General] >> [Date & Time]
  3. Set Automatically Off
  4. Set future date

It did not work.

Case #3

  1. Remove the application from the iPhone.
  2. Power off iPhone and restart.

It worked. After the restart, it did not happen again.

Case #4

  1. ⌘ + Shift + 2, or Xcode >> Menu >> Window >> Devices and Simulators
  2. Select the application and press the minus button to delete the app and all associated data.

Before I tried this, it has been fixed. I will try this next time.

App Clipの起動エクスペリエンスをテストする方法

Reference

Testing Your App Clip’s Launch Experience

を翻訳したものです。ご参考になれば幸いです。

概要

TestFlightからApp Clipを起動し、App Clipとその起動エクスペリエンスをテストします。

App Clipのユーザーエクスペリエンスには、高速でスムーズな起動エクスペリエンスが不可欠です。重要な要素の1つは、起動時の起動 URLです。その結果、App Clipエクスペリエンスの構成と、起動URLを処理するコードの記述にかなりの時間を費やすことになります。App Clipがスムーズな起動エクスペリエンスを提供することを確認するには、App Clipとその起動エクスペリエンスをテストする必要があります。App Clipの起動エクスペリエンスは、さまざまな方法でテストできます。

  • App Clipのコードに変更を加えるときは、_XCAppClipURL 環境変数を使用して起動URLを構成します。App Clipをビルドして実行し、起動URLを処理するコードをデバッグします。
  • テストデバイスでローカルエクスペリエンスを作成することにより、App ClipカードのデザインとApp Clipの起動エクスペリエンスを確認します。
  • ベータ版を他のユーザーと共有する準備ができたら、TestFlightでテスター向けのApp Clipエクスペリエンスを作成します。

App Clipをデバッグする

起動 URLはApp Clipのユーザーエクスペリエンスにとって重要であるため、起動URLを処理し、App ClipのUIを更新するコードを徹底的にテストすることが重要です。最初のステップとして、シミュレーターまたはデバイスでApp Clipをビルド、実行、およびデバッグします。次に、App Clipのデバッグ時に起動時にApp Clipで使用できるApp Clipへの起動URLを指定します。

デバッグ用の起動URLを構成するには:

  1. Xcodeで、[Product]> [Scheme]> [Edit Scheme]を選択し、App Clipのスキームを選択します。
  2. [Run]アクションを選択します。
  3. [Arguments]タブで、_XCAppClipURL 環境変数が存在するかどうかを確認します。App Clipターゲットをプロジェクトに追加すると、Xcodeはこの環境変数を追加します。存在しない場合は、環境変数を追加します。
  4. 環境変数の値を、テストする起動URLに設定します。
  5. 変数の横にあるチェックボックスをオンにして、変数を有効にします。
  6. App Clipを作成して実行し、NSUserActivityオブジェクトから構成したテストURLにアクセスします。起動URLへのアクセスの詳細については、「Responding to Invocations」を参照してください。

次のスクリーンショットは、_XCAppClipURL 環境変数の値を使用してApp Clipターゲットの実行アクションを構成するためのシートを示しています。

AppClipターゲットの実行アクションを構成するためのシートを示すスクリーンショット。 _XCAppClipURL環境変数の値は設定されていますが、有効になっていません。

Xcodeを使用してApp Clipをデバッグすると、App Clipがすぐに起動し、App Clipカードは表示されません。App Clipの完全な起動エクスペリエンスをテストおよびテストするときに、起動時にApp Clipカードを確認するには、テストデバイスにローカルエクスペリエンスを登録します。

ローカルエクスペリエンスを登録する

_XCAppClipURL 環境変数を活用すると、起動URLを処理するApp Clipのロジックをデバッグするときに役立ちます。ただし、App Clipが、さまざまな起動からの高速で信頼性の高い起動エクスペリエンスを提供することを確認する必要があります。さらに、App ClipカードはユーザーがApp Clipを起動したときの最初の操作であるため、App Clipカードの画像、テキスト、行動を促すフレーズの動詞を調べることは特に重要です。

起動をテストし、ローカルエクスペリエンスでApp Clipカードのデザインを調べるために、App Clipをウェブサイトに関連付けたり、ビルドをTestFlightにアップロードしたりする必要はありません。

ローカルエクスペリエンスを使用すると、次の方法でApp Clipを起動できます。

  • コントロールセンターのコードスキャナーまたはカメラアプリを使用してApp ClipコードまたはQRコードをスキャンします。
  • デバイスを、App Clipコードと連携したNFC、またはNFCタグに近づけるか、コントロールセンターのNFCタグリーダーでスキャンします。
  • SafariのWebサイトで Smart App バナーをタップします。
  • メッセージアプリで他の人が共有しているリンクをタップします。

ローカルエクスペリエンスを使用してApp Clipの起動エクスペリエンスをテストするには:

  1. テストデバイスでApp Clipのスキームを構築して実行し、App Clipがテストデバイスにキャッシュされていることを確認します。たとえば、Frutaサンプルコードプロジェクトでは、指示に従って構成してから、スキームを実行します。サンプルコードプロジェクトをダウンロードするには、Fruta: Building a Feature-Rich App with SwiftUI.にアクセスしてください。
  2. テストデバイスで、[設定]アプリを開き、[Developer]> [Local Experience]に移動して、[Register Local Experience]を選択します。
  3. テストする起動URLを入力します。場合によっては、https://fruta.example.comのような単純なURLプレフィックスでも可能です。また、パスとクエリパラメータを含むより長い起動URLにすることもできます。
  4. App Clipのbundle IDを入力します。
  5. Title とSubtitle のテキストを入力します。Frutaサンプルコードプロジェクトの場合、タイトル[Order a smoothie.]とサブタイトル[It’s yummy!]を入力します。
  6. 行動を促すフレーズ(たとえばOpen)を選択します。。
  7. App Clipカードのヘッダー画像として使用する写真を選択します。

注意

テストデバイスでApp Clipのスキームを構築して実行し、デバイスにキャッシュするだけでなく、App Clipの.ipaファイルをデバイスに手動で追加することもできます。まず、App Clipの対応する完全なアプリをアーカイブします。次に、Xcodeの[Organizer]ウィンドウで、Ad Hoc またはDevelopment distribution にApp Clipのバイナリをエクスポートします。最後に、App Clipのエクスポートされた.ipaファイルを、Xcodeの[Devices and Simulators]ウィンドウで接続されているデバイスにドラッグします。

次のスクリーンショットは、iPhoneでローカルエクスペリエンスを構成するために使用するインターフェイスを示しています。

ローカルエクスペリエンスを構成するためのインターフェイスを示すiPhoneのスクリーンショット。 URLプレフィックスとしてhttps://example.comを使用し、バンドル識別子としてcom.example.app.clipを使用します。 ローカルエクスペリエンスのアプリクリップカードのタイトルはサンプルアプリ、サブタイトルは「ローカルアプリクリップエクスペリエンス」、行動を促すフレーズの動詞はオープンです。

ローカルエクスペリエンスを使用して起動をテストする

App Clipをテストするためにデバイスでローカルエクスペリエンスを構成したら、起動手段より App Clipを起動できます。ローカルエクスペリエンスでテストする起動に関係なく、上記のようにApp Clipがテストデバイスにキャッシュされていることを確認してください。App Clipがキャッシュされていることを確認するためにApp Clipを少なくとも1回起動したら、次の方法でApp Clipを起動します。

  • 作成したApp Clipコード、QRコード、またはNFCタグをスキャンして、ローカルエクスペリエンスを起動します。テスト用のApp Clip Codesの作成については、「Creating App Clip Codes with the App Clip Code Generator]を参照してください。QRコードを作成したり、NFCタグを記述したりするには、お気に入りのツールを使用します。
  • Webサイトに追加したスマートバナーをタップします。
  • Smart App バナーを表示するウェブサイトへのリンクを共有する。メッセージの送信者をテストデバイスの連絡先として追加したことを確認します。

Associated Domains Entitlementローカルエクスペリエンスを起動するために、App Clipを構成したりWebサイトに関連付けたりする必要はないことに注意してください。Webサイトまたはメッセージアプリからの起動のサポートの詳細については、WebサイトおよびメッセージアプリSupporting Invocations from Your Website and the Messages App.を参照してください。

ヒント

[設定] アプリを開き、[コントロールセンター]を選択して、コードスキャナーとNFCタグリーダーをコントロールセンターに追加します。

デバイスでローカルエクスペリエンスを構成する場合、ローカルエクスペリエンスは、App Store Connect で構成するApp Clipエクスペリエンスよりも優先されます。ただし、ローカルエクスペリエンスでは、Development、Ad Hoc、またはTestFlight配布用に署名されたApp Clipのみが起動されます。App Storeで公開されているApp Clipや完全なアプリを起動することはありません。App Store Connectで構成するApp Clipエクスペリエンスをテストする前に、ローカルエクスペリエンスを削除することを忘れないでください。

TestFlightでテスター向けのApp Clipエクスペリエンスを作成する

信頼できるユーザーエクスペリエンスはApp Clipsにとって非常に重要であり、すべてのユーザーフローとサポートされている起動をテストするために時間を費やす必要があります。App Clipが期待どおりに機能することを確認するために、TestFlightのテスターがApp Clipを利用できるようにすることができます。まず、App Clip付きのアプリをApp Store Connectにアップロードします。次に、App Store Connectで、アップロードされたビルドに移動します。[App Clip]セクションでは、テスト用に最大3つの異なるApp Clipエクスペリエンスを構成できます。

重要

ローカルエクスペリエンスとは異なり、TestFlightでテスター用のApp Clipエクスペリエンスを作成するには、App ClipをWebサイトに関連付ける必要があります。関連するドメインの構成の詳細については、「Associating Your App Clip with Your Website」を参照してください。

ユーザーはApp Clipをインストールせず、App Clipはホーム画面に表示されません。同様に、テスターはApp Clipのベータ版をインストールせず、ホーム画面にも表示されません。代わりに、テスターは、デバイス上のTestFlightを介してテスト用に構成したApp Clipエクスペリエンスを起動します。

App Store Connectでテストするためのエクスペリエンスの構成の詳細については、「Testing an App Clip Experience」を参照してください。

テスターは、TestFlightで配布するApp Clipを起動するようにローカルエクスペリエンスを構成することもできます。ただし、App ClipをWebサイトに関連付ける必要があります。さらに、テスターは、App Store Connectで構成したテストのために、App ClipエクスペリエンスからApp Clipを起動して、App Clipがデバイスにキャッシュされていることを確認する必要があります。