- 1. Swiftで反射神経を鍛えるゲームを作ってみた
- 2. Swift3入門
- 3. 【Mac不要】開発中のFlutter製アプリをiOSとAndroidに実機配備する手順 – Codemagic編
- 4. 【iOS】画面をタップしたらキーボードを閉じる処理を共通化してみる
- 5. NSPersistentCloudKitContainerを導入し、既存のデータをiCloudにアップロードする際のコツ
- 6. 【expo】ios,androidのストア公開で詰まったメモ
- 7. UserDefaultsをProperty Wrapperでカッコよく使う
- 8. 【Xcode】Could not attach pid to XXX というエラーが出る
- 9. iOSアプリのビルド番号にビルド日時を設定する
- 10. iOSでCustom URL Scheme活用
- 11. 【Pythonista3を使ったみた】自作モジュールのインポート
- 12. 【Pythonista3を使ったみた】入門
- 13. ArcGIS で iOS SDK を使用してみた!
- 14. Errorをいい感じにUIAlertControllerで表示する
- 15. 「XDプラグインでDart言語自動生成してみた」 ~私文男子の格闘第3話~
- 16. 【Swift】コードでViewControllerを生成して画面遷移と値渡しをする方法
- 17. Xcodeは画像データを最適化する
- 18. [Swift] SizeClassの使い方まとめ
- 19. ReactNativeでiosアプリを作るメモ
- 20. Apple WWDC2020 開催決定 新しいSwift Student Challengeとは
Swiftで反射神経を鍛えるゲームを作ってみた
#はじめに
はじめまして。初投稿です。
趣味でプログラミングしてて、友人にどうせだったらQiitaとかGithubに公開すればいいのにと言われ、確かにその通りだと思ったのでこれから随時投稿していこうと思います。
よろしくお願いします。#概要
Swiftで反射神経を鍛えるゲームを作りました。Swiftで初めてちゃんと最後まで作ったアプリなので、結構思い入れがあります。1から10まで小さい数から順番にタップしていくシンプルなゲームです。
プレイ画面はこんな感じ。↓
![game2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/623917/62d6e73a-d716-6f52-67f6-cd9a33702a3e.gif)#開発環境
・ iOS 13.3.1
・ Xcode 11.3.1#ソースコード
簡単にソースコードの説明をします。
全部載せるととても長くなってしまうので、スコアシーンなどは割愛します。
全てのコードは[Github](https://github.com/YumaSato-u
Swift3入門
#はじめに
某プログラミング学習サイトの学習記録を記します。#共通操作
・Shiftを押しながらクリックで範囲選択になる#No1
・Xcodeでplaygraoundを新規作成する
・種類はBlankを選ぶ (他にはGame, Map, Single Viewがある)#No2
・下記について、C言語と同じ
・コメント
・print関数
・文字列を””で囲むこと
・文末が;であること
・実行形式の選択は、□または△を長押しすることで変更できる
短く押すと実行される。
・右ペインに実行結果が表示される
【Mac不要】開発中のFlutter製アプリをiOSとAndroidに実機配備する手順 – Codemagic編
# はじめに
Flutterはクロスプラットフォーム対応ですので、作成したアプリはiOS, Android両方にリリースすることができます。ところが、WindowsではiOS向けのビルドができません。Macを持っていない人にはつらい事実ですね。そこで、この記事ではCodemagicというサービスを利用してiOS, Android両方にリリースする手順を紹介します。
## 前提
この記事は、以下に当てはまる人向けの iOS/Android 対応アプリを開発する手順を紹介します。
* 開発機はWindowsだ
* **Macを持っていない**
* Flutterで開発したい
* Apple Developer Programに既に登録している、または年間で約12,000円を支払えるクレジットカードまたはデビットカードを持っていて、支払い後に最大48時間待ってやるのも悪くない。※1※1: 2020/03/25現在。
## 開発環境の前提
* AndroidStudioがインストールされていること(まだの方は、インストールをお願いします)
* Git for windowsが
【iOS】画面をタップしたらキーボードを閉じる処理を共通化してみる
## はじめに
UIView の `endEditing(_:)` は特定のテキストフィールドによらずにキーボードを閉じる方法として有効です。
次のような実装で、画面のタップでキーボードを閉じることができます。
“`swift
import UIKitfinal class ViewController: UIViewController {
@IBOutlet private weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
view.addGestureRecognizer(UITapGestureRecognizer(
target: self,
action: #selector(endEditing(sender:))))
}@objc func endEditing(sender: Any) {
view.endE
NSPersistentCloudKitContainerを導入し、既存のデータをiCloudにアップロードする際のコツ
# NSPersistentCloudKitContainerとは?
[NSPersistentCloudKitContainer](https://developer.apple.com/documentation/coredata/nspersistentcloudkitcontainer)はCoreDataで使用する[NSPersistentContainer](https://developer.apple.com/documentation/coredata/nspersistentcontainer)をCloudKitに対応させたクラスです。
*CoreDataについては[この記事](https://qiita.com/da1ssk/items/3b1b9c11106717a5a935)がわかりやすいです。従来、CoreDataで扱っているデータをCloudKitにアップロードするためには色々とコードを書く必要がありました。しかし、AppleがWWDC2019で発表したNSPersistentCloudKitContainerを使えば、それが簡単に実現できるようになりま
【expo】ios,androidのストア公開で詰まったメモ
少し詰まったのでメモします。
基本的なビルドの仕方は、udemyの[React Native で iOS / Android アプリ開発をゼロから始めよう!](https://www.udemy.com/course/react-native-ios-android/)の通りにやればいけると思います。# ios
## 「Guideline 2.3.8 – Performance – Accurate Metadata」 の対処法
Developer Accountで設定したのと同じ名前をapp.jsonに設定する。
“`app.json
“expo”: {
“name”: “多面!フラッシュ暗算”,
…
“`
UserDefaultsをProperty Wrapperでカッコよく使う
iOSプログラマなら誰もが3回は作っているUserDefaultsをいい感じに使う方法の解説です。
今回はProperty Wrapperを活用します。目標は以下です。
* あまりコードを書かずに使える
* UserDefaultsで元々使える型も使えない型も同じように使える
* 型安全に使える(キャストせずに済む)
* Optionalも扱う(UserDefaultsの`integer(forKey:)`は値がないときnilではなく0を返してしまう)
* Swift5.1以降対応
* iOS11以降対応# カッコよく使う例
アプリごとに用意するUserDefaultsアクセス部分の例です。“`swift
struct User : Codable, UserDefaultCompatible {
var name: String
}struct Settings {
@UserDefault(“user”, default: User(name: “abc”))
var user: User@User
【Xcode】Could not attach pid to XXX というエラーが出る
### :boom: クリーンビルドする
Xcodeを開き左上のメニューから***・「Product」 → 「Clean Build Folder」***
### :boom: シミュレーターの設定をリセットする
iPhoneシミュレーターを開き左上のメニューから***・「Hardware」 → 「Erase All Contents And Settings」***
### :boom: 念のためXcode再起動してみる
これらを試してみると私の場合は綺麗に直りました。
iOSアプリのビルド番号にビルド日時を設定する
# 背景
– これを実施するまでは1ずつインクリメントしていたため、ビルド番号は意味のない数字だった
– 数字で何か意味のあるものでパッと浮かんだのが日時であった
– ビルド番号が日付だとTestFlightにいつアップロードしたものなのか、TestFlightアプリ上のファーストビューで見れる![300x0w.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122255/55e03f54-0540-1b75-e9a5-510b225ede92.png)
# 実装
1.[Target]->[Edit Scheme…]->[Build]を展開->[Pre-actions]に下記を記述“`shell
#!/bin/shdate “+%Y.%m%d.%H%M” >${PROJECT_DIR}/build_number.txt
“`
2.プロジェクトファイルの[TARGETS]からターゲットを選択
3.[Build Phases]タブを選択
4.[+]をクリックし、[New Run Sc
iOSでCustom URL Scheme活用
iOSでは「cm-app://」という文字列で、またこの文字列のあとにvalueを設定することによって、特定のAppを起動でき、また、特定のvalueによりAppを起動できる。
最近、地震が多いので、頻繁にアクセスするYouTubeの「強振モニタ放送24LIVE」様の「【地震・災害】強震モニタ マルチウィンドウ ライブ(配信地点:長崎 – 24時間放送)*」をiOSのスクリーン上にWeb Appのように設置することを実施した。
* https://www.youtube.com/watch?v=cwPFbQuyvRoApple Configurator 2を起動し、
Webクリップ
→ラベル「強振モニタ」(→表示名)
→URL「youtube://cwPFbQuyvRo」と設定するだけ。これをAirDrop等でiDeviceに送信し、プロファイルをインストールすることで完了。
【Pythonista3を使ったみた】自作モジュールのインポート
#モジュールって?
モジュールとは、Pythonの定義や文が入ったファイルのことです。
(ファイル名の接尾語に`.py`がついたものです)
以下のファイルもモジュールとして扱えます。“`python:HelloWorld.py
print( “HelloWorld” )
“`
#インポートって?
例として標準ライブラリの`os`モジュールをインポートする。“`python:import_test.py
import os
print( type( os ) )
#
print( os.getcwd() )
# /private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/Test“`
以上のように`import <モジュール名>`とするとインポートできます。
モジュールは`module型`のオブジェクトとしてインポートされます。#自作モジュールのインポート
**ディレクトリ**
>- iCould
–
【Pythonista3を使ったみた】入門
#Pythonista3ってなに?
**iOS, iPadOS上で動作する統合開発環境(IDE)**です。
アプリ上でPython開発が出来ちゃう画期的なアプリなんです!#モジュール作成
まずは、ファイルを作成します。
ScriptLibrary > iCloud 内に “Test”フォルダを作成し
その中に”HelloWorld.py”を作成します。
ArcGIS で iOS SDK を使用してみた!新しくはてなブログを開設しました。今後はこちらを中心に記事を書いていきます。
https://freedom-tech.hatenablog.com/今回は、ArcGIS の iOS 版の SDK を使用して、住所検索や品川区の観光情報を地図に表示してみました。
最終版のイメージは以下のとおりになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102251/604b951b-789d-922a-526e-7a2a3fddd788.png)詳細は、こちらのはてなブログに詳しく書いてますので参照して下さい。
[ArcGIS で iOS SDK を使用してみた!](https://freedom-tech.hatenablog.com/entry/2020/05/03/015550)
Errorをいい感じにUIAlertControllerで表示する
iOSでエラーが起きた場合、UIAlertControllerに表示することは珍しくないですが、その際に発生するErrorを元にしていい感じにUIAlertControllerに表示します。
# 「いい感じ」の定義
https://developer.apple.com/documentation/appkit/nsalert
「いい感じ」の定義としては、macOSで使われているAppKitの`NSAlert`を参考にします。
NSAlertというのはこんな感じのやつです。
NSAlertの中には`messageText`,`informativeText`が表示され、ボタンが存在します。
大体UIAlertControllerの`title`,`message`と同じ形に見え
「XDプラグインでDart言語自動生成してみた」 ~私文男子の格闘第3話~
#はじめに
(2020/5/6投稿)
オンライン授業にも慣れ、もうずっとオンラインでいいよとすら思っている私文男子です。本日はいつも私が使っている**Adobe XDから、自動的にコードの生成をする**ということをやっていきたいと思います。
私がモバイルアプリエンジニアを始めようなった時にFlutterを選んだ理由でもあるので、とてもワクワクしながら作業していました。今までプログラム系統を触ったことがなくてもめちゃくちゃ簡単にできてかつ**衝撃が大きい**作業だったので是非ご覧ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629658/c6246f15-19d4-2d68-730d-52966f58b354.png)#環境紹介
まずは環境紹介からいきましょう。
###私のPC環境
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629658/8dc99d26-a8f3
【Swift】コードでViewControllerを生成して画面遷移と値渡しをする方法
# はじめに
Storyboard は画面レイアウトの作成にだけ使用して、
ViewController の初期化と画面遷移はコードでやってしまいたい人向けです。
自分はよくこんな感じにやってます。# 前準備
## ファイルの構成について
自分は Storyboard と ViewController は1対1になるようにしています。
なので基本的に Storyboard と ViewController の名前は同じにします。こんな感じの構成です。
**FirstViewController** が遷移元の画面で、**SecondViewController** が遷移先の画面だと思ってください。| フォルダの構成 |
| :———: |
| Xcodeは画像データを最適化するアプリビルド時、pngファイルなどの画像データはそのままコピーされるのではなく最適化されるみたいです。
これはxcassetsなどの管理下のファイルだけかと思っていたのですが、どうも直接プロジェクトのツリーに入れているファイルも適用されるようです。MacのFinderでは16,511バイトのpngファイルをiOS実機の実装時に下記コードでサイズを測ってみると次のようになりました。
“`swift
let url = Bundle.main.url(forResource: “Image”, withExtension: “png”)!
let data = try! Data(contentsOf: url)
print(data.count) // 94727
“`拡張子をpngから適当な拡張子(datとかbin)にすれば回避出来ました。
(xcassetsに入れていないと言うことは生ファイルをバンドルしたいのだから勝手に最適化しないで欲しい。)
## 追記
Build Settingsで最適化を無効化したり、Folder Referenceにいれて回避すること
[Swift] SizeClassの使い方まとめ
この記事では、iOSアプリ開発に関する初心者向けの情報を共有します。
私の認識違いなどがありましたらコメントでお知らせいただけると幸いです。# SizeClassとは
***一つのストーリーボードファイルに様々な画面サイズと方向のためのユーザーインターフェースレイアウトを設計できるようサポートするクラスです。***
サイズクラスを理解するためには、下図を参考にしてください。
ReactNativeでiosアプリを作るメモiOSとAndroid両方のアプリを作れるReactNativeですが、エミュレータ起動の方法とか気をつけるところを忘れてしまっていたので、自分用にメモを残します。
### ReactNative
ご存知かと思いますが、ReactNativeはモバイルアプリケーションフレームワークです。
Reactのような書き方でiOSやAndroidのネイティブアプリを作ることできます。
利点は上記で、欠点は用意されてない端末の機能を使うAPIを自分で用意する必要があるところです。端末の機能を使うAPIはある程度用意されてますが、マイナーなAPIはAndroidJavaやObjectiveC(SwiftもObjectiveCが必須)を使って自分で書く必要があります。
### エミュレータでアプリを起動
[ドキュメント](https://reactnative.dev/docs/running-on-simulator-ios.html)を読むと、プロジェクトディレクトリで下記のコマンドを実行する“`
npx react-native run-ios –simulator=”iPhon
Apple WWDC2020 開催決定 新しいSwift Student Challengeとは
# 今年は新しいSwift Student Challengeが開催
いよいよ5月に入り、WWDC2020まで近づいてきました。
今年は新型コロナウイルス “COVID-19” の影響によりオンラインのWWDCとなることが発表されています。
今回はこのWWDC2020で開催されることとなった**Swift Student Challenge**に焦点を当てて取り上げたいと思います。##そもそもWWDCとは
WWDCはAppleが毎年開催する世界開発者会議のことで、ここで新型iOSやmacOSをはじめ新しいソフトウェアやハードウェアが発表されます。
今年のWWDCについては先日6月22日に__オンラインで__開催することが決定されています。
>Apple、世界開発者会議を6月22日よりオンラインで開催
https://www.apple.com/jp/newsroom/2020/05/apple-to-host-virtual-worldwide-developers-conference-beginning-june-22/##Swift Student Challengeって