{"id":19966762,"url":"https://github.com/aptpod/iscp-swift-samples","last_synced_at":"2026-05-12T11:32:46.450Z","repository":{"id":211842640,"uuid":"728947802","full_name":"aptpod/iscp-swift-samples","owner":"aptpod","description":"Sample for iscp-swift","archived":false,"fork":false,"pushed_at":"2025-09-11T05:03:12.000Z","size":632,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-11T06:50:28.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aptpod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-08T03:43:39.000Z","updated_at":"2025-09-11T05:03:16.000Z","dependencies_parsed_at":"2025-01-12T08:41:49.028Z","dependency_job_id":"a5f2dbb0-96f5-4d2c-a106-ca115b3736df","html_url":"https://github.com/aptpod/iscp-swift-samples","commit_stats":null,"previous_names":["aptpod/iscp-swift-samples"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aptpod/iscp-swift-samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fiscp-swift-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fiscp-swift-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fiscp-swift-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fiscp-swift-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aptpod","download_url":"https://codeload.github.com/aptpod/iscp-swift-samples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fiscp-swift-samples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32937297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T02:38:08.638Z","updated_at":"2026-05-12T11:32:46.444Z","avatar_url":"https://github.com/aptpod.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iSCP 2.0 Client Library for Swift Samples\n\n[iSCP 2.0 Client Library for Swift](https://github.com/aptpod/iscp-swift) を用いてアプリケーションを開発するためのサンプル集です。\n\n## Requirements\n\n- iOS 13 or later\n- Xcode 16 (16A242d) or later\n- iSCP Swift v1.2.0 or later\n- intdash REST API v2.3.0 or later\n\n## Sample Projects\n\n- [Sensor GPS Upstream App](./iOS/SensorGPSUpstreamApp): iOSデバイスのセンサーデータとGPSデータを、intdashサーバーに送信するサンプルです。\n- [Sensor GPS Downstream App](./iOS/SensorGPSDownstreamApp): 他のエッジからintdashサーバーに送信されているセンサーデータやGPSデータを、サーバーから受信し可視化するサンプルです。\n- [Video Upstream App](./iOS/VideoUpstreamApp): iOSデバイスのカメラで動画を撮影しながらintdashサーバーにリアルタイムで送信するサンプルです。\n- [Video Downstream App](./iOS/VideoDownstreamApp): 他のエッジからintdashサーバーに送信されている動画データを、サーバーから受信し可視化するサンプルです。\n- [Accessing Measurement Data Sample](./iOS/AccessingMeasurementDataSample): intdashサーバーに保存されている過去のデータを取得するサンプルです。\n\n※サンプルを利用するには `Common/Classes/Common.swift` と、利用するプロジェクトの `各プロジェクト/Classes/Config.swift` を修正する必要があります。\n詳しくは、次の「Setup」を参照してください。\n\n## Setup\n\nサンプルアプリケーションを動作させるには事前準備が必要です。\n\n1\\. intdashサーバーの管理者からOAuth2.0のクライアントIDを入手します。  \n（例：`abcdefg123456`）\n\n2\\. アクセスするintdashサーバーのURL、intdashサーバー上のプロジェクトID、入手したOAuth2.0のクライアントIDを定数に設定します。ファイル: [./iOS/Common/Classes/Common.swift](./iOS/Common/Classes/Common.swift)\n\n```swift\n/// アクセスするサーバー。\nlet kTargetServer: String = \"https://example.com\"\n\n/// 利用するプロジェクトのID。特定のIDを指定するか、必要に応じて変更できるようにカスタマイズしてください。\nlet kProjectId: String = \"00000000-0000-0000-0000-000000000000\"\n\n/// OAuth2.0認証用のクライアントID。intdashサーバー管理者に問い合わせてください。\nlet kIntdashClientId: String = \"abcdefg123456\"\n```\n3\\. アプリケーションのコールバックスキーム名を決め、intdashサーバーの管理者にスキーム名の登録を依頼してください。  \n（例： `companyname.appname`）\n\n4\\. アプリケーションに含まれる `Info.plist` の `URL Types` で、以下のようにコールバックスキームを登録します。  \n例)\n    \n    |Key                |Type       |Value                             |\n    |-------------------|-----------|----------------------------------|\n    |- URL types        |Array      |                                  |\n    | - Item 0 (Viewer) |Dictionary |                                  |\n    |  - Document Role  |String     |Viewer                            |\n    |  - URL identifier |String     |$(PRODUCT_BUNDLE_IDENTIFIER)      |\n    |  - URL Schemes    |Array      |                                  |\n    |   - Item 0        |String     |スキーム名（例：companyname.appname）   |\n\n5\\. アプリケーションに含まれる `Classes/Config.swift` 内で定義されている `CALLBACK_URL_SCHEME` にもコールバックスキームを設定してください。\n例)\n\n```swift\nclass Config {\n    /// アプリごとのOAuth2.0 Web認証用のコールバックスキーム。\n    public static let CALLBACK_URL_SCHEME: String = \"companyname.appname://oauth2/callback\"\n    ...\n}\n```\n\n## Commands to Generate Code\n\n本リポジトリ内の一部のコードは、ツールにより生成されたものです。\n\n- intdash REST APIクライアント\n\n  `./intdash` ディレクトリ内のintdash REST APIクライアントは、[OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) を使って生成されました。\n  生成用のコマンドは以下のとおりです。\n\n  ```\n  rm -rf intdash\n  openapi-generator-cli version-manager set 5.3.0\n  openapi-generator-cli generate -i openapi_public.yaml -g swift5 -o intdash --additional-properties=hashableModels=false,projectName=intdash,removeMigrationProjectNameClass=true\n  ```\n\n- データポイントの再アップロード用クラス\n\n  保存されたデータポイントの再アップロードに利用する、`./iOS/Common/Classes/Backends/Protobuf` ディレクトリ内のクラスは、 [Swift Protobuf](https://github.com/apple/swift-protobuf) を使って生成されました。\n  生成用のコマンドは以下のとおりです。\n\n  ```\n  protoc --swift_out=./iOS/Common/Classes/Backends/Protobuf ./protocol.proto\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptpod%2Fiscp-swift-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faptpod%2Fiscp-swift-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptpod%2Fiscp-swift-samples/lists"}