c#で指定可能なinternalというアクセシビリティ、同一のアセンブリ以外からのアクセスを禁止するものですが、何でもかんでも禁止してしまうとテストプロジェクトを書いたりする際に問題になります。
それを回避するため、intetnalを指定したアセンブリのAssemblyInfo.csの中で、InternalsVisibleToという、アセンブリを指定する事でそこからのアクセスのみ許す機構があります。
[assembly: InternalsVisibleTo("Couchbase.Lite.Tests")]
が、これ、アクセスを許す先のアセンブリが、Xamarin.iOSのアプリケーションプロジェクトだとうまく動きません。
試行錯誤を繰り返した結果、どうもXamarin.iOSだと、アプリケーションのアセンブリ名が(理由はよく判りませんが)ドットを抜いたものになってしまうので、そのドットを抜いたアセンブリ名を指定してやらないといけないようです。
上記のアセンブリ名指定のダイアログで、Xamarin.iOSのアプリケーションのアセンブリ名のみ、勝手にドットが外れたものになっているのはよく見ると思います。
このドットなしのアセンブリ名を指定してやらないと、うまくinternalへのアクセスができません。
[assembly: InternalsVisibleTo("CouchbaseLiteTests")]
こんな感じで。