2016-09-26 26 views
2

Xcode 7.3.1をmacOS Server 5.2(2016年9月20日リリース)に接続しようとすると、次のエラーメッセージが表示されます。最新のmacOSサーバーでXcodeの古いバージョンを実行するにはどうすればよいですか?

"選択したXcodeのバージョンは、 "

enter image description here

私はXcodeの8.xのを使用+簡単にリファクタリングすることができないため、迅速に関連する問題のプロジェクトのためにすることはできません。

この問題を回避する方法がない場合、Xcode 7.3.1をサポートする古いバージョンのMacOS Serverをダウンロードする方法はありますか?古いバージョンのmacOS Serverをダウンロードする方法が見つかりません。

+0

「容易にリファクタリングできないスウィフト関連の問題」? Xcode 7.3.1はSwift 2.2を、Xcode 8はSwift 2.3を、ほぼ同じです。 – RyuX51

+1

残念ながら、「ほぼ同じ」は、私が使用している何百もの素早いコンポーネントの「Xcode 8でのコンパイルと実行」には変換されません。 –

+0

Swift 3はXcode 8の「新しいSwift版」であり、大きな変更が加えられています。 Swift 2.3はあなたや私のような人のためのもので、互換性の理由からアップグレードできない(または何らかの理由で削除したくない)ため、Xcode 8で古いSwiftコードを使用することができます。私は古いSwift 2.2ココアポードをたくさん使用しています(ビルド設定で "SWIFT_VERSION = 2.3"を追加しただけで実行します)。変更は絶対に軽微です。マイグレーションアシスタントを実行して、すぐにXcode 8で動作するコードを確認してください。 – RyuX51

答えて

0

OS X Server 5.1がAppleのアーカイブ(https://developer.apple.com/download/more/)にも含まれていない場合は、もう見つからないでしょう。

ここに行く方法は、プロジェクトのSwift 3ではなく、Swift 2.3を「Legacy Swift Language Version」として使用することです。スウィフト3に加えて

は、Xcodeの8スイフト2.3、MacOSのシエラ、iOSの10、tvOS 10、およびwatchOS 3このため、新しいSDKにで動作するように構築されたスウィフト2.2言語のマイナーアップデートでの開発をサポートしていますSwift 2.2で開発が遅れており、Swift 3に移行する準備ができていないプロジェクトであっても、開発者がこれらの最新のSDKにすぐに移行できるようにすることを目的としています。Xcode 8は、新しいSDKに追加されたnull値の明確さ

出典:https://developer.apple.com/swift/blog/?id=36

あなたはCocoaPodsを使用している場合は、あなたのPodfileにこれを追加するに: - >変換 -

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['SWIFT_VERSION'] = '2.3' 
      config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = 'YourTeamID/' 
     end 
    end 
end 

移行バイヤー(Editを使用してみてくださいスイフトカレント構文に> .. 「Swift 2.3に変換」を選択してください)。

+0

私に非常によく似た問題があるようです。残念ながら、私はカカオポッドのコードをswift 2.3に自動変換できません。そのコードを担当しているチームは、それを変換することに取り組んでいますが、変換するのに少なくとも数十人の工数が必要です。したがって、この時点でこの特定のプロジェクトにXcode 8を使用することはできません。 –

+0

これをPodfileに追加し、ポッドインストールを実行します。ほとんどの場合、ポッドはSwift 2.2のままですが、あなたのPodfile内の上記の拡張は、タグSWIFT_VERSION = 2を追加します。Xcodeにプロビジョニングのためにあなたのチームプロフィールを使用するように指示します。私の場合はSwift 2.2ポッドが9個あり、実行したばかりです。これは "変換"と呼ばれることさえできません。 Xcodeにまだ古いバージョンだと伝えているだけです。この後にいくつかの微調整があるかもしれませんが、問題になるでしょう.Xcodeはすでに自動修正を提案しています。それを試しましたか? – RyuX51

+0

Swift 2.3への移行には、これを防止するために数十時間の工数を要することはありません。これは、「従来のバージョン」2.3の唯一の目的です。将来はバージョン3にアップグレードする必要がありますが、今のところ、そうする必要はありません。 Swift 3への移行で、Swift 2.3への移行を間違っていると思う。 – RyuX51

関連する問題