将棋プログラミング

(将棋に関する)ソフトウェア開発のノウハウ等。

Xcode

Xcode 15 に更新した際の問題

Xcode 14.2 で開発したアプリを App Store Connect にアップロードしたところ、次の問題が表示された。 SDK version issue. This app was built with the iOS 16.2 SDK. Starting April 29, 2024, all iOS and iPadOS apps must be built with the iOS 17 SD…

iOS - UITableView の detailTextLabel を更新

UITableView の表示を更新するためには、通常、次のコードを実行する(UITableViewController の場合)。 [self.tableView reloadData];以前は問題なかったが、 Xcode 13 で作成し、iOS 15 で実行すると、なぜか、このコードを実行しても detailTextLabel が…

Objective-C での iOS 15 対応

Xcode 13 で、iOS 15 に対応する際に必要になった変更をまとめる。 最近のコードの例は、殆ど Swift なので、Objective-C のコード例が役に立つ人もいると思う。 1. ナビゲーションバー・ツールバーの色が変わる scrollEdgeAppearance を指定する。developer…

Xcode 12 でシミュレータを対象にビルドし Framework not found (2)

App Store へアプリをアップロードする際、Xcode 12 で作成することが必須になった。 そこで、Xcode 11.7 から 12.5 へ乗り換えた。 そして、以前にも書いたように、シミュレータを対象にビルドしたとき、次のエラーが表示された。 Framework not found ***…

Xcode 11: Your session has expired, please login

Xcode 11.7 で、 Distribute APP を実行したところ、 Your session has expired, please loginが繰り返し表示され、ログインできない状態となった。 これは多く人で起きているようで、次のようにすると問題がない。 (1) Xcode 11 で Archive を作成する。 (2…

Xcode 12 でシミュレータを対象にビルドし Framework not found

Xcode を 11.7 で問題なかったプロジェクトを 12.3 でシミュレータを対象にビルドしたとき、次のエラーが表示された。 Framework not found ***検索すると、多くの解決策が表示されるが、僕の場合は、次の設定で解決した。 1. Architectures で "Any iOS Sim…

Xcode 12 で missing one or more architectures

Xcode を 11.7 から 12.0 にアップデイトしたところ、従来問題のなかったプロジェクトで、シミュレータ用のビルド時、次のエラーが起きるようになった。 The linked library '***.a' is missing one or more architectures required by this target: arm64.B…

iOS の開発で Undefined symbols

iOS での開発中、次のエラーが出た。 Undefined symbols for architecture armv7: "_OBJC_CLASS_$_WKWebView", referenced from:WebKit.framework をリンクし、解決した。さらに、次のエラーが出た。 Undefined symbols for architecture x86_64: "_OBJC_CLA…

Xcode 11.6 のクラッシュ

ビルドエラーのため、プロジェクトの設定の変更が必要になった。 しかし、プロジェクトの設定を変更しようとすると、Xcode 11.6 がクラッシュする、という現象が起きた。 古くから開発しているプロジェクトのため、次の警告が出ていた。 Update to recommend…

iOS 13 のダークモードへの対応(ダークモードにしない)

Xcode 10.2 以降、旧CPUに対する最適化にバグがあるので、Xcode 10.1 を使い続けていたが、2020年4月からは、いよいよ Xcode 11 以降で作成しないと、App Store に提出できなくなる。 ykakinoki.hateblo.jp ITMS-90725: SDK Version Issue - This app was b…

Xcode 11 で作成した Mac アプリケーションは applicationWillTerminate が呼ばれない

Xcode 11 で作成した Mac アプリケーションでは、applicationWillTerminate と applicationShouldTerminate が呼ばれないことに気が付いた。 ファイルをドロップしたりすると、呼ばれる場合がある。 これらが呼ばれないと、アプリケーション終了時にデータを…

Xcode 10.2 の最適化のバグ

Xcode が 10.2 にアップデイトされ、それでアプリをリリースしたところ、一部の機種で動作が異常になった。 問題を確認できた機種は、iPhone 4s や iPad 3代目である。恐らく、32bit CPU の機種だろうと思われる。 ソースを変更していない部分で起きた問題…