環境
XCode: 9.0
OS: macOS Sierra 10.12.6
転送先の端末:iPhone 6S, iOS 11.0
問題
XCode上でTwitterKitライブラリを使用するテストをしています。Cocoapodなどを使わず手動でテストする必要があるため、.frameworkファイルをダウンロードしてきて公式の指示に従い導入しましたが、その後iPhoneに転送しようとするとエラーメッセージが表示され、転送できなくなりました。
エラーメッセージは以下の通りです。
The application bundle does not contain an executable.
再現手順を以下に示しますが、このアプリをiPhoneへインストールしてデバッグできるようにするためにはどうすればよいでしょうか?
再現手順
1. アプリの登録
TwitterのApplication Managementにてアプリを登録しました。
2. プロジェクトを作成
XCodeを開き、「Create new XCode project」から「Single View App」のプロジェクトを以下の設定で作成しました。
- Product Name: TwitterKitStudy
- Team, Organization Name, Organization Identifierも適切に設定(個人情報のため書きません)
- Language: Swift
- Use Core Data, Include Unit Tests, Include UI Testsはチェックしない
この時点でRunすると、正常にiPhoneへインストールされて実行できます。
3. TwitterKitを導入
まず、TwitterKitのドキュメントページの「Install Twitter Kit Manualy」より、TwitterKitをダウンロードします。
次に、ツールバーからFile > New > Group
を選択してグループを作り、Frameworks
と名付けます。
そしてFrameworks
グループの中に、ダウンロードしてきたTwitterKitのframeworkファイルの中で、TwitterCore.framework
, TwitterKit.framework
をドラッグ&ドロップし、以下の設定で導入します。
- Destination: Copy items if neededにチェック
- Added folders: Create folder referencesにチェック
- Add to targets:
TwitterKitStudy
この時点でRunすると、正常にiPhoneへインストールされて実行できます。
4. Info.plistを設定
以下の文字列をプロジェクトのInfo.plistに追加
xml
1<key>CFBundleURLTypes</key> 2<array> 3 <dict> 4 <key>CFBundleURLSchemes</key> 5 <array> 6 <string>twitterkit-(Consumer Secret)</string> 7 </array> 8 </dict> 9</array> 10<key>LSApplicationQueriesSchemes</key> 11<array> 12 <string>twitter</string> 13 <string>twitterauth</string> 14</array>
この時点でRunすると、正常にiPhoneへインストールされて実行できます。
5. Embedded Binariesにframeworkファイルを追加
TwitterCore.framework
, TwitterKit.framework
ファイルをプロジェクトのEmbedded Binariesに追加します。このときLinked Frameworks and Librariesにも自動で追加されます。
この時点で、以下のエラーが出てiPhoneへインストールできなくなります。
The application bundle does not contain an executable.
あなたの回答
tips
プレビュー