Ticket #36981

iOS版 64bit対応

Eröffnet am: 2017-02-12 02:51 Letztes Update: 2017-02-12 10:31

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine

Details

iOSアプリは2015年6月1日以降、iOS 8 SDKによるビルドと64bitサポートが必須となったため、 iOS版を64bit対応させる。開発環境を次のように変更する。

変更前:OS X 10.8.5 (Mountain Lion), Xcode 4.6.3
変更後:OS X 10.12.3 (macOS Sierra), Xcode 8.2.1

Ticket-Verlauf (3/8 Historien)

2017-02-12 02:51 Aktualisiert von: yknk
  • New Ticket "iOS版 64bit対応" created
2017-02-12 02:53 Aktualisiert von: yknk
  • Meilenstein Update from (Keine) to Version 1.1.0 for iOS (closed)
  • Komponente Update from (Keine) to MIDITrail Ver.1.1.x for iOS
  • Verantwortlicher Update from (Keine) to yknk
2017-02-12 02:54 Aktualisiert von: yknk
Kommentar

ビルド設定変更

Architectures

Targets:MIDITrail / Architectures / Architectures
 →"Standard architectures (armv7, arm64)"に変更

参考:armv7(32bit)はiPhone 3GS以降、arm64(64bit)はiPhone 5s以降

推奨設定

Xcodeのバージョン変更時に提示された推奨設定を受け入れた。 iOS Deployment Targetが8.0に変更されたため、MIDITrailのサポート対象iOSは5.0から8.0に変更する。

Xcode7変更時

  • Target 'MIDITrail' - Adopt "Product Bundle Identifier" build setting
  • Project 'MIDITrail' - Upgrade Base SDK Configuration to Latest iOS (iOS 9.1)
  • Project 'MIDITrail' - Enable Recommended Warnings
  • Project 'MIDItrail' - Automatically Select Architectures
  • Project 'MIDITrail' - Turn on "Build Active Architecture Only" When Debugging
  • Project 'MIDITrail' - Trun on "Enable Testability" When Debugging

Xcode8変更時

  • Target 'MIDITrail' - Update iOS Deployment Target
  • Project 'MIDITrail' - Update iOS Deployment Target
  • Project 'MIDITrail' - Enable Recommended Warnings
2017-02-12 02:56 Aktualisiert von: yknk
Kommentar

型の変更

unsigned long型

unsigned longは32bit環境で4byte、64bit環境で8byteになる。 MIDITrailのソースコードはunsigned longを大量に利用しており、影響が大きい。

このためunsigned longを基本的にすべてunsigned intに変更する。 unsigned intは32bit,64bit環境のいずれでも4byteである。

OpenGL APIインターフェースでGLsizei型が指定されているパラメータについて、 unsigned longを利用していた場合は、unsigned intではなくGLsizeiに変更する。

エンコーディングIDをunsigned longで処理していた箇所は、NSStringEncodingに 変更する。

2017-02-12 02:56 Aktualisiert von: yknk
Kommentar

廃止APIへの対応

MTFontTexture::CreateTexture

NSString::sizeWithFont を NSString::sizeWithAttributes に変更。 NSString::drawInRect withFont: lineBreakMode: alignment: を NSString::drawInRect withAttributes: に変更。

MIDITrailApp::openMainView

UIViewController::presentModalViewController animated: を UIViewController::presentViewController animated: completion: に変更。

MIDITrailApp::closeMainView

UIViewController::presentModalViewController animated: を UIViewController::presentViewController animated: completion: に変更。

MTMainViewCtrl::onHelpButton

UIViewController::presentModalViewController animated: を UIViewController::presentViewController animated: completion: に変更。

ビュークラス全般

UIViewController::viewDidUnload を削除。

2017-02-12 02:56 Aktualisiert von: yknk
Kommentar

その他修正

MTFirstPersonCam::_TransformEyeDirection

警告回避のため、abs()をfabsf()に変更。

MTFirstPersonCam::_TransformRolling

警告回避のため、abs()をfabsf()に変更。

OGLPrimitive::Draw

GL_UNSIGNED_INT が未定義になったため GL_UNSIGNED_INT_OES に変更。

2017-02-12 02:57 Aktualisiert von: yknk
  • Ticket Close date is changed to 2017-02-12 02:57
  • Lösung Update from Keine to Gefixt
  • Status Update from Offen to Geschlossen
2017-02-12 10:31 Aktualisiert von: yknk
Kommentar

ステータスバー非表示

iPadでMIDITrailを実行すると、メインビューでステータスバーが表示されてしまうため、 以下の修正を適用した。

MTMainViewCtrl::prefersStatusBarHidden

ステータスバー非表示メソッドを追加。常にYESを返却する。

Dateianhangliste

Keine Anhänge

Bearbeiten

Please login to add comment to this ticket » Anmelden