投稿

ラベル(iOS)が付いた投稿を表示しています

2024年4月29日以降からはXcode15が必須の様子。

イメージ
Xcode15が必須になります。 また、この季節が来ました。 AppleStoreにアップ可能な要件が代わります。 皆さん注意をしてください。 ---- 2024年4月29日以降、 App Store Connectにアップロードするアプリは iOS 17、iPadOS 17、tvOS 17、 またはwatchOS 10向けにXcode 15 でビルドする必要があります。 ---- 引用: https://developer.apple.com/jp/news/upcoming-requirements/?id=04292024a

Apple iPhone 15発表会

 Apple iPhone 15発表会 今回は4種類 iPhone 15 Pro Max iPhone 15 Pro iPhone 15 Plus iPhone 15 最近思うのだけど、おお! すごい! みたいなのがなくなってる気がします。 確かに性能は上がっていますが、既定路線過ぎて驚く要素があまりない。 最初の頃は、夜中リアルタイムで発表会を観ていたけど、 ここ何年かは、普通に朝まとめサイトみてるだけになっている。 自分の情熱が減っただけなのかな。 皆さんはどうでしょうか?

【SwiftUI】@Stateとか@Bindingとかなんなのさ。

SwiftUIは、iOSおよびmacOSアプリケーションを構築するためのモダンなユーザーインターフェースフレームワークです。 SwiftUIでは、アプリケーションの状態管理やデータバインディングなどの機能を提供するために、いくつかのプロパティラッパーが用意されています。 `@State`と`@Binding`はそのうちの2つの重要なプロパティラッパーです。 1. `@State`: `@State`は、プロパティを変更可能な状態(State)として宣言するために使用します。 SwiftUIビュー内のプロパティを`@State`で宣言すると、そのプロパティの変更がビューに影響を与え、ビューが自動的に再描画されるようになります。 @State`は、ビュー内で単一の値の状態を管理するために使用されます。 struct ContentView: View { @State private var count = 0 var body: some View { Text("Count: \(count)") Button("Increment") { count += 1 // @Stateプロパティの変更 } } } 2. `@Binding`: `@Binding`は、プロパティを他のビューから参照し、変更できるようにするために使用されます。 `@Binding`を使用すると、値を保持するビューとその値を表示または変更する別のビュー間でデータを共有できます。 struct DetailView: View { @Binding var count: Int var body: some View { Text("Count in Detail: \(count)") } } メインビューから`DetailView`に`@Binding`で渡された`count`プロパティは、`DetailView`内で表示および変更できます。

【iOS】SwiftUI ヒラギノフォントが切れる件 ( Text )

イメージ
 iOS(SwiftUI) で開発していると、フォント指定がありますが、 ヒラギノフォントを指定した場合、 Text で表示しようとすると文字が切れるやつがいます。 特に、fixedSize() を呼ぶと結構悲惨です。 切れる可能性がある文字達は下記 ①gjpqyÄÖÜßĀĂĄąĆĈĊČĎŅ gjの文字が消えないように検索したら、載ってはいたのですが、面倒・・・ clipsToBoundsも探しましたが無い・・・・。 そこで、どうしてもだめだったら、完全では無いですが、 下記を試して見てください。 表示文字の前後に改行コードを入れる 意外と盲点だったりします。 まぁ、画面上下ピッタリの場合はだめかも知れませんがこれでしのいでください。 結局はヒラギノ関連をやめるのが一番良いですね。 今回試したソース struct ContentView : View {          let font = Font . custom ( "HiraginoSans-W3" , size : 20 )     var body : some View {         VStack {             Text ( "gjpqyÄÖÜßĀĂĄąĆĈĊČĎŅ" )                                    . background ( Color . yellow )                 . clipped ( antialiased : false )                 . font ( font )                 . fixedSize ( horizontal : false , vertical : false )                 . border ( Color . gray )                 . padding ()                          Text ( "\ngjpqyÄÖÜßĀĂĄąĆĈĊČĎŅ\n" )                 . background ( Color . yellow )                 . clipped (

iOSのアプリが次々に削除されている様子です

タイトルの通りなのですが、 最近、アップル公式から こんな ニュースがでてました。 3年以上更新されていなく、一定のDLが定期的に無いアプリは、 ストアからの削除対象になるようです。 今までに280万のアプリを削除されているようです、 過去にリリースした塩漬けアプリがある場合は、 利用されていても、新規DLなどが無い場合は、削除されてしまうようです。 もし、対象になったら、通知が来るらしいのですが、 3年以上更新無いと明確になってますが、 もう一方のダウンロードの数については、 不明なのでそこも明確にしてほしいですね。 もし不安な方は、 新しいXcodeでビルドするだけでも良いので更新しておいたほうが良さそうです。

Guideline 2.3.10 で審査が落ちた話。

結論を記載します。 Guideline 2.3.10 の殆どは、 Apple(iOS)以外の事は記載してはいけません。ってやつです。 android も同時リリースの場合、 よく、Webviewとかで、 htmlにまとめて(面倒なので)表記する事があったりしますが、 内部で表示するものに関しては、リジェクトされます。 外部ブラウザで表示させるか、(こっちはちょっと自信ないですが・・・。) 内部で表示する場合は、URLを分けるか、javaScriptなどで、 出し分ける対応すれば良いです。 Guideline 2.3.10 - Performance - Accurate Metadata We noticed that your submission includes irrelevant third-party platform information. Specifically, your description includes Google Play references.

2022年4月以降 からはXcode13が必須の様子。

イメージ
 タイトル通りですが、 2022年4月からは、Xcode13が必須な様子 公式のサイトに記載があった、 でもこれが、 更新もなのか新規なのかはこれだけではちょっと解らない。 でも、Xcode13でさっさとやるのには良さそう。

Xcode is missing components needed to preview on iOS

SwiftUIでなんか、プレビューが表示されないなぁ。 と思ったてみたら、下記のエラーが出ていた。  Xcode is missing components needed to preview on iOS のエラーが出た時のメモ書きです。 ターゲットの横にある、エミュレータのOSをXcodeのバージョンに合わせた物に設定する。 ただそれだけです。 例えば、 Xcode13なら iOS15のエミュレータを選択する。 これだけで、エラーがなくなり、表示されるようになります。

StoryboardからXcodeのversionを探す

Xcode で開発を進めていて、あれ? Xcodeのversionいくつで開発してたっけ? 的な事ってありませんか?    Storyboard の触った時に自動で書き込まれる部分ところに番号がいろいろと記載されていて、そこからXcodeのバージョンがわかるかな? 的な事を思いつきました。  com.apple.InterfaceBuilder.IBCocoaTouchPlugin  のversionから判定してみる。 なんとか、Xcodeのバージョン確認できそうです。 気が向いたら、他のversionも記載していこう。 基本的に私が目視で確認したものとなります。 gitとかで管理している場合、Xcodeでファイルを開く(表示)だけでバージョンが上書きされて、差分が発生する所がいやな所ですね 一覧 Xcode Version   build   IBCocoaTouchPlugin Version 14.1 14B47b 21507 13.2.1 13C100 19519 13.0 13A233 19144 12.5 12C33 18093 12.3 12A7209 17703 12.0 12A7209 17125 11.4.1 11E503a 16087 11.3.1 11C505 15706

iOS 15から sectionHeaderTopPaddingが追加された。

なんかね、UITableViewのCellの上に隙間が空いたんですよ。 厳密にはSectionの上かな?  これはですね、 iOS 15から sectionHeaderTopPadding がのパラメータが追加されました。 デフォルト値が0じゃないので こいつのせいで、勝手に隙間ができるようになりました。  if #available(iOS 15.0, *) {    self.tableView.sectionHeaderTopPadding = 0  }   viewDidLoadとかで0に設定すればOKです

2021年のアップル発表会の日程がきまりましたね。

 Appleの9月の発表会の日程が決まりましたね。 2021/9/15 AM2:00 (JST) 注目は、iOS15がいつリリースされるか? 発表会の翌日か? 翌週か? いつになるのか。 開発者はそこが一番気になる所かと思います。 理由? 今まで、受託で開発してきたアプリが動作するのかしないのか? ドキドキする日にちだったりします。

【iOS】iOS15対応機種一覧 メモ

 今更感もあるかもしれないが。自分用メモ  iOS 15  対応端末一覧(iPhone系) iPhone 12 iPhone 12 mini iPhone 12 Pro iPhone 12 Pro Max iPhone 11 iPhone 11 Pro iPhone 11 Pro Max iPhone XS iPhone XS Max iPhone XR iPhone X iPhone 8 iPhone 8 Plus iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone SE(第1世代) iPhone SE(第2世代) iPod touch(第7世代) ちなみに、 Xcode 13は Big Sur じゃないと動かないよ  XCodeのversionとiOSのversionを揃えてほしいと思っているのは私だけでしょうか・・・・。

【Amazon SNS】Apple Push Notification Service SSL から Apple Push Notification Authentication Key へ移行する方法は有る?

イメージ
AWSの画面から SSL( p12) を設定できる項目は有るが、 Authentication Key(p8)を設定できる箇所が見つからない。 こんな感じで、p12のファイルを指定しろとしか、記載が有りません。 今度、ダメ元で、p8ファイルを設定してみてどうなるか? 試して見ようと思います。 おそらく、bundleIDとかの指定が出来ないから、無理な気がしますが・・・。

【iOS】iOS14 / iPadOS 14 対応端末について

  メモ iOS 14対応機種、iPadOS 14対応機種 iPhone iPhone 11 iPhone 11 Pro、iPhone 11 Pro Max iPhone XS、iPhone XS Max iPhone XR iPhone X iPhone 8、iPhone 8 Plus iPhone 7、iPhone 7 Plus iPhone 6s、iPhone 6s Plus iPhone SE(第1世代) iPhone SE(第2世代) iPod touch(第7世代) iPad iPad Pro 12.9インチ(第1世代) iPad Pro 12.9インチ(第2世代) iPad Pro 12.9インチ(第3世代) iPad Pro 12.9インチ(第4世代) iPad Pro 11インチ(第1世代 iPad Pro 11インチ(第2世代) iPad Pro 10.5インチ iPad Pro 9.7インチ iPad(第7世代) iPad(第6世代) iPad(第5世代) iPad mini(第5世代) iPad mini 4 iPad Air 2 iPad Air (第 3 世代)

【CocoaPods】インストールできないよ。 ( CocoaPods cannot be installed !! )

sudo gem install -n /usr/local/bin cocoapods でインストールしようとすると、 You have to install development tools first. とか、怒られている。 Xcode を入れていないとかが原因らしい。 でも、 外付けディレクトリには存在するるんだ、 だからあまり、ストアから入れたくない・・・。 そこで、バージョンを指定してみたら? sudo gem install -n /usr/local/bin cocoapods -v 1.8.4 1.8系の最終バージョンを指定したら出来た。 1.10系や 1.9系 を入れようとしたらいれられなかった。 とりあえずで良い方は、バージョンを指定してインストールしてみてはいかがでしょうか。 環境は  macOS Catalina ( 10.15.7) で確認しています。    

【Swift】Zipファイル判定

Swiftで ZIP判定用です。 もっとスマートなやり方は有ると思いますが暫定で作成です。 よく見かける物を関数にしたもの。 ・ファイルを読み込む。 ・先頭4byteを取得 ・ZIPのheaderをcheckしてZIPのheaderならtrue を返す

【Socket】Socket 通信で何度もBindしてたら、Bindができなくなった。

表題の通りで、 ソケット通信を利用したく、 何度も、bindをおこなっていたら、 突然「address already in use」が出るようになり、 アプリを再起動しないと再接続ができなくなった。 色々と調査していると、 CLOSE_WAITやらTIME_WAITなどがのキーワードが出てきて、 なんか、開放されるまでに時間がかかるとの事 えー。 とおもってもう少し調査していると。 SO_REUSEADDR を bind する前にセットすれば、可能になるとの事。  setsockopt(s,SOL_SOCKET, SO_REUSEADDR, (const char *)&yes, sizeof(yes)); これね。 まとめると、 bindする前に、おまじないを書く。これだけ。 いやー、ハマった、ハマった。  BOOL yes = 1;  s = socket(AF_INET, SOCK_STREAM, 0);  addr.sin_family = AF_INET;  addr.sin_port = htons(65000);  addr.sin_addr.S_un.S_addr = INADDR_ANY;  setsockopt(s,SOL_SOCKET, SO_REUSEADDR, (const char *)&yes, sizeof(yes));  bind(s, (struct sockaddr *)&addr, sizeof(addr)); --- 処理 -- close(s); 2021/01/15 追記 あと、素直に特定条件下で、Closeを呼びそこねているパターンがあり、 Bindしっぱなしだった、ちゃんとCloseする処理書いたら、発生しなくなりました。

【Apple】中国でのゲーム展開は、中国に承認してもらわないと、だせないよ。

 下記アップルからメール来た。 タイトルどおり --- Dear 〇〇〇〇〇〇,  As you may know, Chinese law requires games to obtain an approval number from China’s National Press and Publication Administration. In order to keep your paid game or game with in-app purchases available on the App Store in China mainland, enter your approval number and supporting documentation in the App Information section of your game’s page in App Store Connect and submit an update to App Review by December 31. After December 31, your game will no longer be available on the App Store in China mainland until an approval number is provided with your next submission.  You can find the full text of the regulation and download the form required to apply for an approval number here for developers based in China mainland or here for developers based elsewhere.  If you have any questions, contact us.  Best regards,  Apple Developer Relations

【iOS】iOS14対応機種一覧 メモ

今更感もあるかもしれないが。自分用メモ  iOS 14  対応一覧(iPhone系) iPhone 11 iPhone 11 Pro iPhone 11 Pro Max iPhone XS iPhone XS Max iPhone XR iPhone X iPhone 8 iPhone 8 Plus iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone SE (1st) iPhone SE (2nd)

【iOS】SLComposeViewControllerはもう古い。結局何を使うのが一番良いの?

今となっては、 SNS といえば、ツイッターやフェイスブックが有名どころですが、 アプリ開発者は、いま、何を使って(実装して)共有していますか? iOSに限ってしまえば、 Social.Framework SLComposeViewController UIActivityViewController 各種 SNSのSDK等 Share Extension ーーーー Social.Framework NO SLComposeViewControllerResult NO UIActivityViewController YES 各種 SNSのSDK等 アプリの登録が必要で制限あるが自由度がある。YES フェイスブックは審査ありなのと、Share先(URL)が存在していないとだめなので 用途しだい。 Share Extension NO(用途が違う) 自分のアプリにShareしてもらう感じ? 現在、投稿先はユーザーによって様々なので、 Shareするアプリはユーザーに委ねるのほうが絶対に良い。 なので、UIActivityViewController を使っての実装が一番良い。 開発者にとっても。 今どき、要件でツイッター、フェイスブックにも投稿可能にするとある案件もあるが、 Share先をあえて制限させる必要はないと思う。 Shareしたいアプリ側が、実装しておくべき内容です。