TwitterKitを入れる際の'TwitterKit/TwitterKit.h' file not found'というエラーメッセージについて
- 評価
- クリップ 0
- VIEW 594
SwiftでTwitterKitをpod installしたところ、このエラーが表示されました。
https://dev.twitter.com/twitterkit/ios/installation
の手順に従い、Objective-CのBridge-headerファイルを作成し、
#import <TwitterKit/TwitterKit.h>
の記述をheaderファイルに記載したところ、このエラーが表示されました。
podfileには、
use_frameworks!
pod 'TwitterCore'
pod 'TwitterKit'
を記載し、
%pod install
%pod update
を行っています。
Cleanと、Build Cleanも行いました。
このやり方自体に違和感があるので、そもそもBridge-headerがいるかもわからないです。Bridge headerなしの場合は、別のエラーが表示されます。
普通にTwitter投稿がやりたいだけなのですが、以前はここまで複雑じゃありませんでした。
何か方法をおわかりの方は、ご教授頂けると幸いです。
補足
すみません、説明不足だったのですが、Bridge-headerなしでも、TwitterKitを入れてビルドするだけなら出来るのですが、別のエラーがでたため、ドキュメントを読んでBridge-headerを入れました。
今回やりたいことは、Twitter投稿です。
そこで、ドキュメントにそって、AppDelegate.swiftに、以下のコードを貼っています。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Twitter.sharedInstance().start(withConsumerKey:"{customor-key}", consumerSecret:"customor-secret")
return true
}
func tweet() {
if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {
let composer = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
composer.setInitialText("Hello Twitter!")
composer.addImage(UIImage(named: "hello"))
composer.addURL(URL(string: "https://dev.twitter.com"))
self.presentViewController(socialController, animated: true, completion: nil)
}
}
これらの機能でTwitter投稿が出来るらしいですが、AppDelegate.swiftにて、
Use of unresolved identifier 'Twitter'というエラーが表示されます。こちら、解決方法が分からずに困っています。同じようなエラーに引っかかった方、おられないでしょうか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+1
テスト環境
- MacOS Sierra 10.12.6
- Xcode 9.2 Build version 9C40b
- Apple Swift version 4.0.3 (swiftlang-900.0.74.1 clang-900.0.39.2)
TwitterKit 3.3.0
で名称の変更がなされました。
公式サイトのドキュメントの更新が間に合っていないようですね。
Twitter - swift twitterkitでの投稿(107623)|teratail
Composing tweet in Twitterkit since Xcode 9 with Swift 4 & IOS 11
#ifndef BridgeHeader_h
#define BridgeHeader_h
//#import <TwitterKit/TwitterKit.h>
#import <TwitterKit/TWTRKit.h>
#endif /* BridgeHeader_h */
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// Twitter.sharedInstance().start(withConsumerKey:"hTpkPVU4pThkM0", consumerSecret:"ovEqziMzLpUOF163Qg2mj")
TWTRTwitter.sharedInstance().start(withConsumerKey:"hTpkPVU4pThkM0", consumerSecret:"ovEqziMzLpUOF163Qg2mj")
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
// return Twitter.sharedInstance().application(app, open: url, options: options)
return TWTRTwitter.sharedInstance().application(app, open: url, options: options)
}
もし以前のバージョンを使いたいのであれば、Podfile
でTwitterCore
のバージョンを指定してください。
project 'MyTwitter.xcodeproj'
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'MyTwitter' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for MyTwitter
pod 'TwitterKit'
# pod 'TwitterKit', '3.2.1'
# pod 'TwitterCore'
pod 'TwitterCore', '3.0.2'
end
参考までにCarthage
の場合は、Cartfile
を以下のように記述してください。
binary "https://ton.twimg.com/syndication/twitterkit/ios/TwitterKit.json" == 3.2.1
binary "https://ton.twimg.com/syndication/twitterkit/ios/TwitterCore.json" == 3.0.2
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 91.05%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる