Chrome 拡張機能: Backend の修正について

なんのことはない至って簡単な拡張機能を作ったことがあって「作った」という程でもないアレなので共有する内容でもないかもしれませんが、自分の中で気になったのでまとめてみました。

Chrome の管理機能に簡単にアクセスするための拡張機能「Backend」をひさしぶりに使ったら、前まで正常に動いていた機能が動かなくなっていたので調べてみました。

普通、Chrome の管理機能や隠し機能にアクセスするには、ブックマークバーにある歯車アイコンからアクセスすることができます。

でもこれ、実はロケーションバーから chrome://{$ANYTHING} のような URL にアクセスすることで同じことができます。
まさにそれを利用した拡張機能が「Backend」でした。

しかし、いつの間にかその URL が変わっており、動かなくなっていたのです。

なにがどう動かなくなっていたか

about: やら chrome: 以下のいくつかが動かなくなっていました。

どうやら about: 系は 2009 年くらいから chrome: の URL スキームにリダイレクトされるようになっていたようです。 (なので辛うじて使えたと)

参考

つづきをみる

クレジットカードの取引の流れ、国際ブランドによる違いとは

先日、新しい銀行口座を開設する際に、クレジットカードの国際ブランドである Mastercard と VISA、JCB から 1 つを選ぶ機会があり、これらのブランドの違いってなんだっけ?というところから、クレジットカードについて調べてみることにしました。

クレジットカードとは

そもそもクレジットカードとはなんだろうというところから入りたいと思います。

クレジットカードは、商品を購入する際の決済手段の1つです。 クレジットカードを利用する一番の目的でもありますが、利用代金を支払う際に、後で支払う「後払い(ポストペイ)」という特徴があります。 また、支払いが後払いであるため、決済者本人の信用情報が必要不可欠であり、入会する際には審査がおこなわれます。

商取引の流れ

では、実際にクレジットカードでショッピングした際に、商取引における登場人物がどのように流れるか見ていきましょう。

つづきをみる

CocoaPods: The dependency `Xxxxxxxxxx (= x.x)` is not used in any concrete target.

CocoaPods 0.39 以下がサポート切れたので 1.1 系にアップグレードしたら、このようなエラーに見舞われた。

$ bundle exec pod install
Re-creating CocoaPods due to major version update.
Analyzing dependencies
[!] The dependency `AFNetworking (= x.x.x)` is not used in any concrete target.
The dependency `Xxxxxxxxxx (= x.x)` is not used in any concrete target.
.
.
.
.

エラーの意味通り、使ってないよー。

Podfile には案の定 xcodeproj でプロジェクト名を記載していた。

platform :ios, '10.0'

project 'Xxxxxxx.xcodeproj'

pod 'AFNetworking', 'x.x.x'
pod 'Xxxxxxx', 'x.x'

以下のように変更。

platform :ios, '10.0'

project 'Xxxxxxx.xcodeproj'

target 'Xxxxxx' do
  pod 'AFNetworking', 'x.x.x'
  pod 'Xxxxxxx', 'x.x'
end

CocoaPods: `xcodeproj` was renamed to `project`. Please update your Podfile accordingly.

CocoaPods 0.39 以下がサポート切れたので 1.1 系にアップグレードしたら、このようなエラーに見舞われた。

$ bundle exec pod install
Re-creating CocoaPods due to major version update.
Analyzing dependencies
[!] The dependency `AFNetworking (= x.x.x)` is not used in any concrete target.
The dependency `Xxxxxxxxxx (= x.x)` is not used in any concrete target.
.
.
.
.

[!] `xcodeproj` was renamed to `project`. Please update your Podfile accordingly.

エラーの意味通り、 xcodeprojproject にリネームされましたよー。Podfile を更新してねー。

Podfile には案の定 xcodeproj でプロジェクト名を記載していた。

platform :ios, '10.0'

xcodeproj 'Xxxxxxx.xcodeproj'

以下のように変更。

platform :ios, '10.0'

project 'Xxxxxxx.xcodeproj'

iOS: SLServiceTypeFacebook で投稿内容がデフォルト設定できない

NSString *message = @"Facebook Share Test";

SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

[composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
    [self dismissViewControllerAnimated:YES completion:nil];
}];

[composeViewController setInitialText:message];

[self presentViewController:composeViewController animated:YES completion:nil];

標準で組み込まれているダイアログでは投稿内容をデフォルト設定できなくなったようです。

FBSDKShareKit を使うと UI もほとんど変わらずに簡単に実装できます。

NSString *url = @"https://example.com";

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentURL = [NSURL URLWithString: url];

FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init];
dialog.fromViewController = self;
dialog.shareContent = content;
dialog.mode = FBSDKShareDialogModeShareSheet;
dialog.delegate = nil;
[dialog show];

参考 URL