- 1. iOS14でのCore Location変更点
- 2. [Xcode12.0.1]SpriteKitで全画面表示する
- 3. 別画面に値を渡す方法について
- 4. 【Swift】UICollectionViewでInstagramのプロフィールっぽいUIをコードだけで実装してみた without storyboard
- 5. 【iOS】iOS14でcanOpenURLがfalseになる
- 6. [機械学習]Create MLでObject Detectionを試してみた[物体検知]
- 7. Install new IOS Version without upgrade xcode
- 8. 【アプリ開発】AppStoreで動画を公開する方法
- 9. 【iOS14】PHPickerViewControllerから直にData型の画像データを取得するには?
- 10. 【Swift】タプルを用いたswitch文
- 11. ReactNativeアプリの標準言語を日本語に変更する
- 12. iOS Keyboard ExtensionでadjustTextPositionするときのお作法
- 13. Xcode12.0.1で 任意のOSバージョンのシュミレータを生成できない問題について
- 14. 【iOS14】起床時間と睡眠時間を完全自動でツイートするショートカットを作ってみた
- 15. 【入門】iOS アプリ開発 #10【ゲームの各種設定(難易度やスピードレベル)】
- 16. iOS14 encrypted DNS(DNS over TLS, DNS over HTTPS)
- 17. SwiftUIでフォトライブラリ
- 18. iOSアプリからGoogleカレンダーにアクセスする
- 19. React NativeでのModalの作り方
- 20. Visionで画像の位置合わせ
iOS14でのCore Location変更点
# iOS14でのCore Location
こんにちは、今回は業務でiOS14で変更になったCore Location周りの改修をしたので、備忘録的に書かせていただきます。
あんまり記事がなかったので、誰かの役に立てば幸いです!## 環境
macOS Catalina 10.15.6
Xcode Version 12.0.1## Deprecated
まずDeprecatedになったものを調査しました。
対象は今回iOS14だと使えない物についてまとめます。### CLLocationManager
#### Requesting Authorization for Location Services
– authorizationStatus()“`swift
class func authorizationStatus() -> CLAuthorizationStatus
// 位置情報サービスを利用するためのアプリの認証状況を返します。
“`
#### Initiating Beacon Ranging Requests“`swift
func
[Xcode12.0.1]SpriteKitで全画面表示する
今回久々にSpriteKitに触れる機会があり、開始早々ハマりポイントがあったので備忘もかねて残しておきます。
# 解決したかった課題
対応前 | 対応後
:—: | :—:
![スクリーンショット 2020-09-28 22.38.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/62a4388d-9dd1-d237-d798-4172d7abe2ad.png) | ![スクリーンショット 2020-09-28 22.46.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/ec2302a2-3dda-2883-d983-b544b299e797.png)対応前のスクショの赤矢印のように、画面中央にあるSKViewの範囲を対応後のように画面全体に広げたかった。
# 解決方法
色々調べた割に、LaunchScreenFileを指定するだけという対応で呆気なく解決しました。。
別画面に値を渡す方法について
# 画面遷移時に値を渡す
画面遷移時に遷移先の変数varに値を渡すことで、別の画面に値を渡すことができます。
“` Swift:ViewController
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: “second”) as! secondViewController
secondViewController. value = “value”
self.present(secondViewController, animated: true, completion: nil)
“`“` Swift:secondViewController
class secondViewController: UIViewController {var value = String()
override func viewDidLoad() {
super.viewDidLoad()
}
}
“`#
【Swift】UICollectionViewでInstagramのプロフィールっぽいUIをコードだけで実装してみた without storyboard
#はじめに
今回はUICollectionViewでInstagramのプロフィールっぽいUIをコードだけで実装してみる。
という内容ですこの記事が誰かの役に立てば幸いです
ただただSwift初心者がUIを真似して作っただけなので、何かと至らない点があるかと思いますが、
コードの書き方、間違い等、お気づきのところあれば是非アドバイスくださると助かります!!書き始めたの3ヶ月前、、ピエンパオンが止まりません
##完成形
![last_qiita.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/532395/abfe0c7a-483f-0f90-950b-5a6058c7c2f6.gif)
[めっちゃ起業家に憧れるインスタグラマー]
##対象読者
・ iOSアプリ開発初心者の方
・ UICollectionViewの使い方を知りたい方
・ StoryBoardを使用せずに開発してみたい方
・ InstagramのUIが好きな方##開発環境
・ Version 11.3 (11C29
【iOS】iOS14でcanOpenURLがfalseになる
## 検証環境
Xcode: 12.0.1
iOS: 14.0
Swift: 5## 事象
下記のコードでブラウザを外部起動しようとしたら、canOpenURLメソッドがfalseになり、外部起動されなかった。
“` swift
guard let url: URL = URL(string: “https://www.yahoo.co.jp/”) else { return }
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
“`コンソールを見ると下記のようなエラーメッセージが表示された。
httpsのURLスキームは許可されていないとのこと。“`
-canOpenURL: failed for URL: “https://www.yahoo.co.jp/” – error: “This app is not allowed to query for scheme https”
[機械学習]Create MLでObject Detectionを試してみた[物体検知]
# 今回実装してみたもの
![ダウンロード.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517666/a3d12b60-17fb-0583-2c2c-713acc019011.gif)# 準備
今回は冒頭のGifの通りCoinを検知して識別するものを試してみました。
準備するものは
– データ(Jpeg写真)100枚程度
– [RecognizingObjectsInLiveCapture](https://developer.apple.com/documentation/vision/recognizing_objects_in_live_capture)
– [IBM Cloud Annotationsのアカウント(無料)](https://cloud.annotations.ai/login)
– 1円玉〜500円玉
以上です。※Create MLはXcodeを右クリックでOpen Developer Toolにあるのでそこからmodelを作って下さい。
# 機械学習の大まかな種
Install new IOS Version without upgrade xcode
https://github.com/filsv/iPhoneOSDeviceSupport
download the folder and copy to
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/“`
sudo rm -Rf ~/Library/*/*Xcode*
“`
【アプリ開発】AppStoreで動画を公開する方法
恥ずかしながら最近までAppStoreで動画を再生できることを知りませんでした…
そして今回は動画をアップロードする機会があったのでその方法を紹介したいと思います。
同じように動画のアップロードにお悩みの方のためになれば幸いです。記事本文はこちらです。
https://tedenglish.site/upload-video-appstore/
【iOS14】PHPickerViewControllerから直にData型の画像データを取得するには?
![PHPickerViewController](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/339601/945396e6-fd44-c8b0-01b3-0247a1772373.png)
[AppleのPHPickerViewControllerのサンプルコード](https://developer.apple.com/documentation/photokit/selecting_photos_and_videos_in_ios) を見ると、UIImageを取得する例は書かれているのですが、Dataを取得する例はありません。
当然ながら、UIImageをDataに変換するのは微妙です。
百歩譲って、HEICやJPGやPNGなら良いかもしれませんが、UIImageをDataに変換するメソッドは「[pngData()](https://developer.apple.com/documentation/uikit/uiimage/1624096-pngdata)」と「[jpegData(compre
【Swift】タプルを用いたswitch文
###1.はじめに
—
今回はSwitch文の条件分岐にタプルの値を使う、通常とは少し違った使い方を紹介しようと思います。場面によっては有効な使い方だと思うので、ぜひご覧ください。###2.タプルをcaseで使う
—
まず、タプルを定数のように考えてcaseラベルに置くようにすれば、次のように書くことができます。
ただし、タプルの型はすべて統一されている必要があり、この例では、変数dayが月と日からなる日付を表すタプルを持っていると考えます。
3つだけ書かれているいずれかの祝日に一致すれば表示されます。“`Swift:
switch day {
case (1,1): print(“元旦”)
case (2,11): print(“建国記念の日”)
case (5,3): print(“憲法記念日”)
default: break
}
“`ある範囲の日付を表すために、範囲演算子が使えます。例えば次の例を確認してください。
“`Swift:
switch day {
case (1,1…5): // 1/1 ~ 1/5
print(“正月休み”)
ReactNativeアプリの標準言語を日本語に変更する
# はじめに
ReactNativeにあるShareライブラリやTextInputライブラリを使ってて、
動作チェックしてるときにNaitve部分の箇所が日本語じゃなかったので修正をする。## 修正前
Text
![スクリーンショット 2020-09-28 12.27.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668705/988ef7e5-9c3c-1bba-64dc-3741be110494.png)Share
![スクリーンショット 2020-09-28 12.28.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668705/58de1e7b-7f78-f623-41b5-9c8cd0d731b5.png)# 修正方法
“`Xcode起動“` → “`PROJECTクリック“` → “`Infoクリック“` → “`Localization native develo
iOS Keyboard ExtensionでadjustTextPositionするときのお作法
iOS Keyboard Extensionでカーソルを移動させるには`adjustTextPosition(byCharacterOffset:Int)`を使います。[ドキュメント](https://developer.apple.com/documentation/uikit/keyboards_and_input/creating_a_custom_keyboard/handling_text_interactions_in_custom_keyboards)にはバッチリ
>To move the insertion point in the text input view, use the adjustTextPosition(byCharacterOffset:) method. For example, if you want to implement a forward delete action, move the insertion position forward by one character then delete backwards:“`swift
/
Xcode12.0.1で 任意のOSバージョンのシュミレータを生成できない問題について
iOS14シュミレータで開発中のアプリの動作チェックをやりつつ、現行のiOS13で開発もしたい!!
最新版のXcode12を入れた!!!!Xcode12ではiPhoneXや8のOSは14なんですね。こちらは問題なく動作できたので、ヨシッ!!
次にiOS13のシュミレータを作る!
“`
シュミレータ生成方法
シュミレータの場所を押下 → Add Additional Simulators押下
“`
はいはいはいはい シュミレータ名付けて、OSVersionを13系統に変えて終わり終わr..
![スクリーンショット 2020-09-28 10.22.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668705/cd7cd36f-1746-db65-14fb-1f57b9d32416.png)おん?
![スクリーンショット 2020-09-28 10.22.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com
【iOS14】起床時間と睡眠時間を完全自動でツイートするショートカットを作ってみた
## はじめに
どうも、自動化大好き人間です。少し前ですがiOS14がリリースされましたね。
iOS14では、ホーム画面のウィジェットや、Appライブラリ、空間オーディオ、睡眠機能などなど、盛り沢山のアップデートで個人的には神アプデでした。 また、Apple Watch Series6では血中酸素濃度が測定できるなど、ヘルスケア系にかなり力を入れているアップデートだと感じました。さてさて、自動化が大好きな私ですが、このiOS14のアップデートで最も注目した機能の一つが、**睡眠のオートメーション**です。起床のタイミングでオートメーションを走らせられると色々できるんじゃないかなぁと思います。
そこで、今回は新しく追加された睡眠のオートメーションを使って、「**起床したタイミングで、起床時間と睡眠時間を自動的にツイートする**」ことを実現してみました。
これを使えばみなさんも睡眠に対するモチベーションが爆上がりすること間違いなし(?)です[^1] [^2]行った手順はこんな感じです。
1. ショートカット「睡眠時間を計算」を作成する(ヘルスケアから睡眠のログを取得、計算)
【入門】iOS アプリ開発 #10【ゲームの各種設定(難易度やスピードレベル)】
# はじめに
今回はラウンドによって変化する難易度やスピードレベルの詳細を作り込み、[#5【シーケンスの設計】](https://qiita.com/KIKU_CHU/items/0448daadb09ff581d483)で作成した各画面モードを結合して、ほぼ完成の状態に持っていく(以下がイメージ動画)。ソースコードは [GitHub](https://github.com/Kikutada/0007_GameLevelTest) に公開しているので参照してほしい。
※YouTube動画
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/kdrJp0QVgRU/0.jpg)](http://www.youtube.com/watch?v=kdrJp0QVgRU)# 仕様書
ラウンドによって変化する難易度やスピードレベルの仕様は以下の通り。
![Spec1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678332/b1d67736-7be2
iOS14 encrypted DNS(DNS over TLS, DNS over HTTPS)
# 概要と注意事項
– iOS14から追加された[DNSSettingsペイロード](https://developer.apple.com/documentation/devicemanagement/dnssettings)による暗号化DNS利用プロファイルの例
– macOS11からでも使えるっぽい
– DNSフィルタリングと組み合わせれば簡単なフィルタリングがOS標準機能で実現できる
– 例えばサンプルのDoHの方であれば、エロサイトを(完全ではないだろうが)ブロックできる
– 解除できちゃうからやっぱりSupervisorでガチガチにするしかねぇ
– ProhibitDisablementがtrueの場合は要Supervisor
– falseの場合、「設定→一般→VPNとネットワーク」で変更が可能
– ちゃんと切り替わっているかは[CloudflareのDebug Information](https://1.1.1.1/help)でしか見ていない
– 値を書き換えれば[Google Public DNS](https://develope
SwiftUIでフォトライブラリ
#SwiftUIでフォトライブラリを表示する
ボタンをタップして、フォトライブラリを表示します。
フォトライブラリで写真を選択すると、全画面に表示します。### 環境
Swift 5.3
Xcode 12.0.1
macOS 10.15.7## フォトライブラリ
フォトライブラリをSwiftUIでラップした構造体を定義します。““Swift:ImagePicker.swift
import SwiftUIstruct ImagePicker: UIViewControllerRepresentable {
var sourceType: UIImagePickerController.SourceType = .photoLibraryfunc makeUIViewController(context: UIViewControllerRepresentableContext
) -> UIImagePickerController {
let imagePicker = UIImagePicker
iOSアプリからGoogleカレンダーにアクセスする
今回はiOSアプリからGoogle Calenear APIを通してGoogleカレンダーにアクセスしてみたいと思います。
環境: Xcode 12.0、Swift 5
# 準備
まず[Google Cloud Platform](https://console.cloud.google.com/apis/library?hl=ja)にアクセスしてGoogle Calendar APIを有効にします。
続いてOAuth認証を行うためのOAuthクライアントIDを取得します。
以下の記事の「クライアントIDを登録」に書かれている手順に従ってクライアントIDの取得の申請を行います。[Swift4でGoogleCalendarAPIを叩いてみた](https://qiita.com/lily_87/items/5d243c4d439887fb0f35)
# 使用する外部ライブラリ
Google API自体はREST APIになっていますが、これを直接呼び出すのは大変なので外部ライブラリを使用することにします。
今回は以下のライブラリを使用します。・Google認証
[AppA
React NativeでのModalの作り方
# はじめに
現在、React Nativeでアプリを開発しており、いい感じのModal(ボタンを押したら下から画面が出てくるやつ)を作ろうとしたのですが、悪戦苦闘したため、記事に残し備忘録の1つとして残します。#作り方
まずはModal画面に遷移するボタンを作成しましょう。ちなみに、今回はuseStateを使用します。“`react:App.js
export default function App() {
const [modalOpen, setModalOpen] = useState(false);return (
Lists
{
setModalOpen(true);
}}
Visionで画像の位置合わせ
#パノラマ画像や手ブレ補正に使えます
![IMG_1400.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/e5a20718-be27-65ce-5fb7-6df3e1ff5c31.jpeg)
#手順
2枚目の画像で登録リクエストを作成します。
“`swift
let request = V