Skip to content
Tags

Xcode4.5でMGTwitterEngineのlibOAuthのLinkerがおかしいと言われる場合の対処法

2012年9月13日

さーてXcode4.5GMきたぞーって思って今まで作ってたアプリを実機で動かしてみてみる。

そうすると、シミュレータではずっと動いていたのにFailed…。

ちょっとなになに何なのと思って警告を見てみると

d: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/ssdkfk/Desktop/xxxxxx/yyyyyy/SocialComponents/Twitter+OAuth/Libraries & Headers/libOAuth.a for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

とか言ってるんです。

[2012/9/20追記]=======================================

コメントにて、Tadaaki Goさんからご指摘いただきました!

armv7sに対応したコンパイル済みのlibOAuth.aが配布されていました!
https://github.com/bengottlieb/Twitter-OAuth-iPhone/tree/master/Twitter+OAuth/Libraries%20&%20Headers

この中のlibOAuth.oに置き換えて動かしてみたところ、問題なくiPhone4Sでも実機起動を確認いたしました。

Tadaaki Goさんありがとうございます!

===============================================

[以下、応急処置対応。一応残しておきます…]==========================

beta4で動いて、こいつじゃ動かないってことはなんなんだ…と2時間くらい色々格闘した結果、
BuildSetting>Architectures>Valid Architectures

before:

から
armv7s を削除することで解決しました。

after:

参考1:http://apelol.blogspot.jp/2012/09/xcode45facebook-sdk.html

参考2:http://stackoverflow.com/questions/12402092/file-is-universal-3-slices-but-does-not-contain-an-armv7s-slice-error-for-st

この「armv7」とかそういうのって、CPUのアーキテクチャ。

これらは、iPhoneのバージョンによって動く動かないがある。

今までは「armv6,armv7」だったのが今回で「armv7,armv7s」になった。
おそらく「armv7s」は、iPhone5用のアーキテクチャなのかも。

だからシミュレータだけでは動いて、実機では失敗したのかも。

でもこれはiPhone4Sでの場合。iPhone5ではまたこれでは対応できないんだろうなあ…。どうしたもんか…。
上記にて対応可能

広告

From → iPhone開発

6件のコメント
  1. こんにちわ。同じとこでつまづいてたらたどりつきました。
    armv7s対応するにはここにアップロードされているものを利用するといいのではないでしょうか。armv7sに対応したコンパイル済みのlibOAuth.aみたいです。
    https://github.com/bengottlieb/Twitter-OAuth-iPhone/tree/master/Twitter+OAuth/Libraries%20&%20Headers

  2. ご指摘ありがとうございます!
    もう配布されているなんて存じ上げませんでした…。
    記事の方も更新させていただきました。本当に有難うございますー!

  3. 通りすがりの者です。実はわたしも数年前に作ったアプリを更新しようとした時に同じ問題を経験したのですが、このエントリーの情報がとても役に立ちました。どうもありがとうございました!

Trackbacks & Pingbacks

  1. [iOS: Solved] clang: error: linker command failed with exit code 1 (use -v to see invocation) | yamasnax
  2. [iOS]adMobの実装(AdMob v6.2.1) | ANDROIPHONE

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。