iOSアプリ開発時のOSバージョン互換性に関して質問です。


iOS8がリリースされてまだ間もない頃に書かれた以下の技術情報を読んだのですが

 ・iOS 8から位置情報を取得する方法が変わるよ
(http://qiita.com/koogawa/items/6ec24ca3201977e9642b)
 ・Xcode6でiOS8へPush通知が送れない場合の解決方法
(http://qiita.com/peromasamune/items/90970e9f9d5c34d21cfd)

(2つ目のリンクに書かれて通り)なぜ,同じソースコードを使っていても
Xcode5でビルドしたiOSアプリはiOS8で正常に動いて
Xcode6でビルドしたiOSアプリはiOS8で挙動がおかしくなるのか理解できません。

おそらく,ビルド時に使うBase SDKのバージョンが関係していると思うのですが
Base SDKとビルド後に生成されるバイナリ,バイナリを実行するOSバージョンの
関係性を私がよく理解していないせいだと感じています。
(AppleのSDK互換ガイドを読んでもいまいちピンと来ません……)

何か理解が深まるアドバイスをいただければと思っています。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2015/05/14 20:45:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:alfa-gadget No.1

回答回数254ベストアンサー獲得回数50

ポイント100pt

Xcode5 と Xcode6 のライブラリが違うからです。
ビルドというのはソースコードをコンパイルしただけではなくライブラリとリンクすることも含みます。
ソースをコンパイルしてビルドしたバイナリ+Xcodeのライブラリ+OSのバイナリで動作が決まります。

他3件のコメントを見る
id:alfa-gadget

返信が遅くなり済みません。
認識はあっていると思います。

混乱させるといけないので前のコメントでは書きませんでしたが、下位互換をとるというのもライブラリには重要な要素です。
手順の差やパラメータの読み替え程度であればライブラリで吸収できるのですが、質問に書かれた位置情報の取得ではできないのか、それとも単にやっていないだけなのかが分かりませんね。

2015/05/14 01:54:09
id:cross-xross

いえいえ,ありがとうございます。
認識が合っていたようで安心しました。

iOS SDKは非オープンソースなので
実際に動かしてみた結果から判断するしかなさそうですね。

助かりました!

2015/05/14 20:42:34

その他の回答1件)

id:alfa-gadget No.1

回答回数254ベストアンサー獲得回数50ここでベストアンサー

ポイント100pt

Xcode5 と Xcode6 のライブラリが違うからです。
ビルドというのはソースコードをコンパイルしただけではなくライブラリとリンクすることも含みます。
ソースをコンパイルしてビルドしたバイナリ+Xcodeのライブラリ+OSのバイナリで動作が決まります。

他3件のコメントを見る
id:alfa-gadget

返信が遅くなり済みません。
認識はあっていると思います。

混乱させるといけないので前のコメントでは書きませんでしたが、下位互換をとるというのもライブラリには重要な要素です。
手順の差やパラメータの読み替え程度であればライブラリで吸収できるのですが、質問に書かれた位置情報の取得ではできないのか、それとも単にやっていないだけなのかが分かりませんね。

2015/05/14 01:54:09
id:cross-xross

いえいえ,ありがとうございます。
認識が合っていたようで安心しました。

iOS SDKは非オープンソースなので
実際に動かしてみた結果から判断するしかなさそうですね。

助かりました!

2015/05/14 20:42:34
id:blue_star22 No.2

回答回数297ベストアンサー獲得回数12

ライブラリという用語の意味を調べてください。

id:cross-xross

人力検索で質問している意味を考えてください。

2015/05/13 07:33:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません