0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スクレイピングでiOSアプリの更新情報を収集 ※ニッチなコマンド

Last updated at Posted at 2025-08-25

ご挨拶

同僚からスクレイピングによるiOSアプリ更新をいち早く知れるコマンドを作ってもらいました。

ターゲットとしてはMDMによるiPhone管理をされている方向けの内容です。
社用携帯の場合は個人でアプリをダウンロードしたり、アップデートできない場合があります。

とはいえセキュリティ観点からいつまでも古いアプリを利用させ続けるのは管理側としてはリスキーなわけであるけれども、いちいち、ちまちま調べるよりまとめて調べて活用したい方向けです。

日常でiPhoneをご利用されている方には無益な内容です。

検証を重ねてコード掲載に至っておりますが、ご利用は最新の公式情報を参照の上、自己責任でお願い申し上げます。
また、ある程度コマンドプロンプトや、PowerShellを実行経験済みの方が参考にされる事をお勧めします。
一部手順を省略している場合があり、お使いのOS環境によりましては上手く動作しない場合がございます。

【作業】

①メモ帳を開いて 次のコードを貼り付ける。

.batファイルのコード
@echo off
pushd %~dp0
rem このバッチファイル自体を管理者実行
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)

powershell -Noprofile -ExecutionPolicy Unrestricted .\***.ps1

***.batのファイル名をつける。
※「***」はお好きなファイル名をご指定ください。

③保存先をC:\Users\***\Desktopに指定する。
※「***」にはお使いのユーザー名が入ります。
※「Desktop」は一例です。お好きな保管場所をご指定ください。

エンコード:と書かれた右側部分をクリックしてANSIを選択し保存する。

⑤再度メモ帳を開いて以下のコードを貼り付ける。 

.ps1ファイルのコード

# 編集するのは「[PSCustomObject]@{ Name = "○○○"; URL ="***"」の「○○○」と「***」部分だけ
# ただし「○○○」は任意の名称をかけるが「***」は正しいURLを確認し指定することが条件
# URLは https://www.apple.com/jp/ で検索する。🔍アイコンにアプリ名を入れる。
# 「***」のURLにひらがなが入る場合はコピペすると一部エンコードされてしまうので注意
# 詳細は下記の「注意」をご確認ください。

$URL = @(
    [PSCustomObject]@{ Name = "○○○"; URL = "***" },
    [PSCustomObject]@{ Name = "駅すぱあと"; URL = "https://apps.apple.com/jp/app/駅すぱあと/id463431091" },
    [PSCustomObject]@{ Name = "Microsoft Teams"; URL = "https://apps.apple.com/jp/app/microsoft-teams/id1113153706" },
    [PSCustomObject]@{ Name = "Microsoft Authenticator"; URL = "https://apps.apple.com/jp/app/microsoft-authenticator/id983156458" },
    [PSCustomObject]@{ Name = "Slack"; URL = "https://apps.apple.com/jp/app/slack/id618783545" }
)

$1monthAgo = Get-Date (Get-Date).Addmonths(-1) -Format "yyyy/MM/dd"

$Counter = 0
$UpdateList = @()
while ($Counter -lt $URL.URL.count){
    $URLtxt = ((((Invoke-WebRequest $URL.URL[$Counter]).content) -split 'versionHistory\\":')[1]) -split "releaseDate"
    $AppVer = ($URLtxt -split '\\"')[16]
    $UpdateDate = Get-Date ([dateTime]($URLtxt -split '\\"')[4]) -Format "yyyy/MM/dd"
    if ($1monthAgo -lt $UpdateDate){
        $UpdateList += [PSCustomObject]@{ アプリ名 = $URL.Name[$Counter]; 最新バージョン = $AppVer ; 更新日 = $UpdateDate }
    }
    $Counter++
    Start-Sleep -Seconds 5
}

$UpdateList | Format-Table -AutoSize
Pause

<# 注意!!!
例「Amazon」の場合
URL欄で  https://apps.apple.com/jp/app/amazon-ショッピングアプリ/id374254473
となっていても

コピペすると「https://apps.apple.com/jp/app/amazon-0%E3%82%A2/id374254473」
とエンコードされるので手打ちするか、URL欄でひらがなだけをコピーし、
Shift Ctrlを同時に押しながらVを押せばそのまま反映される。

#>

***.ps1のファイル名をつける。
※空白や記号は使わない様に注意してください。「.bat」ファイルで実行する際に失敗します。
例 「iPhone_App @Update.ps1」

⑦保存先をC:\Users\***\Desktopに指定する。
※「***」にはお使いのユーザー名が入ります。
※「Desktop」は一例です。お好きな保管場所をご指定ください。

エンコード:と書かれた右側部分をクリックしてANSIを選択し保存する。

# 以上です。最後まで閲覧いただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?