質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

  • Xcode

    4309questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

CocoaPods でインストールしたものをimportするとNo such module 〜とエラーが出る

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 6,385

kasutera

score 11

こちらのライブラリ( https://github.com/recruit-lifestyle/Smile-Lock)が使いたかったため、CocoaPodsを使いインストールしました。インストールは完了しtestApp.xcworkspace、Podfile.lock、Podsが追加されました。

import SmileLock

  
このようにしたのですが、No such module 'SmileLock'とエラーが出てしまいます。
既に、estApp.xcworkspace、Podfile.lock、Podsを一回消し、ターミナルでpod setupを実行した後、pod installし、成功したのですが、相変わらずNo such module 'SmileLock'というエラーが出てしまいます

経緯としては、既存のプロジェクトに付け加えようとしたのですがエラーが出てしまったため、既存のコードに問題があるのかと思い、SimileLock専用のテストprojectを作りました。その結果、同じくエラーが出てしまったため質問させて頂きました。

環境
swift4
xcode9
cocoaPods1.3.1
です

原因を教えてくださると幸いです

  • Podfile内の記述
# Uncomment the next line to define a global platform for your project
# platform :ios, '11.0'

target 'testApp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  pod 'SmileLock'

  # Pods for testApp

  target 'testAppTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'testAppUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

追記 pod setupと書くところをpod initと書いてしまったので修正しました
追記 経緯を追記しました
追記 環境について書きました

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

+1

警告が出たままでBuildは試されましたか?
導入の過程が正しく出来ているか等見直すのもとても大事ですが、まだ一度もBuildしたことがない場合は一旦Buildしてみてください。
そのままBuildが成功して使えるようになり、警告も消えてくれる場合があります。

以下追記
バージョンの確認
Podfile

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/26 12:31

    .xcworkspaceの方も、.xcworkspace、.xcodeprojの方もbuildは試してみました。
    追記しておきます

    キャンセル

  • 2017/09/26 12:56 編集

    もしかしてSwiftはVer 4.0ですか?
    もう一つ質問を追加でSmileLockはVer 2.0.2になってませんか?

    キャンセル

  • 2017/09/26 13:02

    確かめてみたところ、4.0だったぽいですね
    今回使ったライブラリが対応していないということなんですかね?
    xcode8.0に下げればよろしいのでしょうか?

    キャンセル

  • 2017/09/26 13:04

    すいません、Swift 4 (pod version 3.x), Swift 3 (pod version 2.x), Swift 2.3 (pod version 1.x)と、かかれていたので対応してるようです。

    キャンセル

  • 2017/09/26 13:36

    smilelockのバージョンの確認がよくわからないのですが、 pod ver 3.00となっていました

    キャンセル

  • 2017/09/26 13:38 編集

    <CocoaPodsのバージョンを追記しました>
    xCode 9.0が出た以上9.0を使った方が良い気がしますがver 8.0を使うのも一応一つの手です。
    それとライブラリのバージョンはinfo.plistから確認できますよ。

    なんとかなったのでその方法を書いておきます。

    環境
    xCode 9.0
    Swift 4.0
    CocoaPods 1.3.1

    また質問に書かれてるPodfileでpod installを行うとSmileLock ver 2.0.2になりました。なので

    ・SmileLockがver 2.0.2のまま行く場合
    ライブラリの中身にcompiler warningがわんさか出てるのでそれをかたっぱしから潰してく(unlockしますかという問いかけが出てくるのでそれをunlock)

    ・SmileLockがver 3.0.0でいく場合(pod 'SmileLock', '~> 3.0' にPodfileを書き換えてpod install)
    warningが出てくるので一旦cleanしてbuild

    でエミュレータ起動させて適当に貼ったUILabel表示までいきました。
    参考までに自分が使ってるライブラリはSwift 3.xのものなので一つ目の解決方法でやっています。
    がSwift 4.0のものがあるなら二つ目の方法がいいかと。

    挙動等は一切責任を持てないのであしからず。

    キャンセル

  • 2017/09/26 15:15

    両方の手段を自分なりにやってみたのですが、相変わらずエラーが出てしまいます。
    まず、ライブラリのバージョンの確認方法はライブラリを導入したプロジェクト内にあるinfo.plist内ですか?ライブラリ内にあるinfo.plist内ですか?自分で探してみたところ、見つかりませんでしたので、keyの名前も教えてくださると幸いです。
    また、pod SmileLockのところをpod 'SmileLock', '~> 3.0' と変えるだけでよろしいんですよね?
    お手数をおかけしてしまい申し訳ございません

    キャンセル

  • 2017/09/26 16:13

    回答を更新しました。
    バージョンの確認をしてください。
    それとCocoaPodsはgemから導入しましたか?
    CocoaPodsのバージョンはbeta版を除いて1.3.1が最新になります。
    CocoaPodsのバージョンも確認してください。

    キャンセル

  • 2017/09/26 20:12 編集

    ご丁寧にありがとうございます
    確かめてみたところ、Podfileにpod 'SmileLock'とかきインストールしたものも'SmileLock', '~> 3.0' と書きインストールしたものもバージョンが3.0.0になっていました
    CocoaPodsはgemから導入しました
    バージョンは、1.3.1でした(確認方法は、『 pod --version 』とターミナルに書けばよろしいんですよね?

    キャンセル

  • 2017/09/26 21:07

    ライブラリのバージョンCocoaPodsのバージョンも問題なさそうですね。
    確認方法もあってます。

    ライブラリの使用は今回が初めてですか?
    それとも既存のprojectに付け加えていますか?

    キャンセル

  • 2017/09/26 21:29 編集

    わかりました
    既存のプロジェクトに付け加えようとしたのですがエラーが出てしまったため、既存のコードに問題があるのかと思い、SimileLock専用のテストprojectを作りました。その結果、同じくエラーが出てしまったため質問させて頂きました
    質問に経緯を書いとくべきでしたね、失礼致しました

    キャンセル

  • 2017/09/26 22:36

    経緯に関して把握しました。
    経緯だけでなくバージョンや環境も一通り書いておくのが理想的です。

    初めてのライブラリの使用ではないならprojectを再度新規作成後、任意のライブラリをinstallしてBuildが通るかどうかやってみてください。
    おそらく大して影響はないでしょうがPodfileにあるplatformのuncommentも忘れずに。

    キャンセル

  • 2017/09/27 22:50

    再度やってみましたが、無理でした。 uncommentもしました
    Xcode自体のバクなのでしょうか?
    ちなみに、他のライブラリも試してみたのですが無理でした

    キャンセル

同じタグがついた質問を見る

  • Xcode

    4309questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。