LoginSignup
0
0

More than 3 years have passed since last update.

CordovaのLineログインについて

Last updated at Posted at 2020-06-27

iOSで現在動かなくなっています

cordova-line-login-pluginを使っている場合の話になりますが、2020年6月27日現在、sdkErrorCodeの3003エラーが出てしまい、動かなくなっています。

修正が開始されました。
7月14日現在、sdkの5.5.1までは動くようになっているようです。

詳しくは下記を参照してください。
https://github.com/nrikiji/cordova-line-login-plugin/issues/55

結論

line-sdk-ios-swiftの最新バージョンに、cordova-line-login-pluginが追い付いていないことが原因です。
拍車をかけてしまっているのが、cordova-plugin-carthage-supportの存在です。
cordova prepare ios実行時に、carthage updateを行ってくれる便利な存在ですが、最新版があると強制的に取ってきます。

Cartfileの中を見ると、記述が以下のようになっています。

Cartfile
github "line/line-sdk-ios-swift" ~> 5.0

この記述が、5.0から6.0の間の最新版をいれるようにしているので、cordova prepare iosを実行してしまうと、sdkの最新版が入ってしまい、不具合が出てしまいます。

以下は例ですが、まだ正常に動いていた頃のバージョンを指定してあげてください。

Cartfile
github "line/line-sdk-ios-swift" == 5.3.0

もしも上手く行かなかったら

この後に、cordova prepare iosを実行して、もしもsdkのバージョンが最新版になってしまったら…

まずは、プロジェクト直下のCartfile以外のCarthage関係のファイルとCarthageフォルダ以下を消して下さい。
Cartfile内の記述を再度修正して、Cartfileのあるフォルダで以下のコマンドを実行してください。
これで指定したバージョンがCarthageフォルダ内にインストールされます。

carthage bootstrap --platform iOS

cordova-plugin-carthage-supportが邪魔をしてくるので、少し改造をします。
modify_pbxproj.js内で、carthage updateを行っている個所をコメントアウトします。
具体的には以下のようにします。

modify_pbxproj.js
    //if (changeCartfile(cartfilePath, tmpCartfilePath)) {
    //    cmd = "carthage update --platform iOS"
    //} else {
        cmd = "carthage bootstrap --platform iOS --cache-builds"
    //}
    fs.writeFileSync(cartfilePath, cartfiles.join("\r\n"))

改造したものを外において、インストールし直してください。
こうしておけば、cordova prepare ios実行時に強制的にアップデートされることはなくなります。

まとめ

あくまで対処療法なので、cordova-line-login-pluginが最新版のline-sdk-ios-swiftに対応するまでの回避策としてお使い下さい。

参考URL

https://qiita.com/s-harada/items/47295d653ef0cf34d540
https://github.com/nrikiji/cordova-line-login-plugin
https://github.com/nrikiji/cordova-plugin-carthage-support
https://github.com/line/line-sdk-ios-swift
https://github.com/Carthage/Carthage

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0