iOS関連のことを調べてみた2020年09月29日

iOS関連のことを調べてみた2020年09月29日

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 SwiftUI

struct ImagePicker: UIViewControllerRepresentable {
var sourceType: UIImagePickerController.SourceType = .photoLibrary

func 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_1399.JPG  ![IMG_1400.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/e5a20718-be27-65ce-5fb7-6df3e1ff5c31.jpeg)
名称未設定.png

#手順

2枚目の画像で登録リクエストを作成します。

“`swift
let request = V

元記事を表示

OTHERカテゴリの最新記事