app_store_dev_api 0.1.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/.claude/settings.local.json +40 -0
- data/CHANGELOG.md +59 -2
- data/CLAUDE.md +256 -0
- data/Gemfile.lock +29 -20
- data/README.md +212 -20
- data/Rakefile +99 -1
- data/SCRIPTS_ANALYSIS.md +261 -0
- data/docs/openapi.oas4.2.json +231546 -0
- data/install_local.bat +166 -0
- data/install_local.sh +84 -0
- data/install_local_fixed.sh +84 -0
- data/lib/.DS_Store +0 -0
- data/lib/app_store_dev_api/client/authorization.rb +7 -2
- data/lib/app_store_dev_api/client/builder.rb +43 -38
- data/lib/app_store_dev_api/client/options.rb +1 -1
- data/lib/app_store_dev_api/client.rb +31 -60
- data/lib/app_store_dev_api/object/attributes.rb +1 -1
- data/lib/app_store_dev_api/object/data.rb +6 -2
- data/lib/app_store_dev_api/object/relationships.rb +47 -0
- data/lib/app_store_dev_api/requests/v1/accessibility_declaration/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/accessibility_declaration/update.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/age_rating_declaration/update.rb +43 -0
- data/lib/app_store_dev_api/requests/v1/alternative_distribution_domain/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/alternative_distribution_key/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/alternative_distribution_package/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/analytics_report_request/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/android_to_ios_app_mapping_detail/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/android_to_ios_app_mapping_detail/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app/update.rb +18 -20
- data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience/create.rb +32 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience/update.rb +32 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience_image/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_advanced_experience_image/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_app_store_review_detail/create.rb +19 -0
- data/lib/app_store_dev_api/requests/v1/{builds → app_clip_app_store_review_detail}/update.rb +4 -5
- data/lib/app_store_dev_api/requests/v1/app_clip_default_experience/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_default_experience/update.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_default_experience_localization/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_default_experience_localization/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_header_image/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_clip_header_image/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page_localization/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page_localization/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page_version/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_custom_product_page_version/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_encryption_declaration/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_encryption_declaration_document/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/app_encryption_declaration_document/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_event/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_event/update.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/app_event_localization/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/app_event_localization/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/app_event_screenshot/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/app_event_screenshot/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_event_video_clip/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/{promoted_purchases_image → app_event_video_clip}/update.rb +4 -4
- data/lib/app_store_dev_api/requests/v1/app_info/update.rb +15 -18
- data/lib/app_store_dev_api/requests/v1/app_info_localization/create.rb +17 -17
- data/lib/app_store_dev_api/requests/v1/app_info_localization/update.rb +14 -18
- data/lib/app_store_dev_api/requests/v1/app_preview/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_preview/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_preview_set/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/app_preview_set/replace_app_previews_linkage.rb +19 -0
- data/lib/app_store_dev_api/requests/v1/app_price_schedule/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/app_screenshot/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/app_screenshot/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_screenshot_set/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/app_screenshot_set/replace_app_screenshots_linkage.rb +19 -0
- data/lib/app_store_dev_api/requests/v1/app_store_review_attachment/create.rb +20 -0
- data/lib/app_store_dev_api/requests/v1/app_store_review_attachment/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/app_store_review_detail/create.rb +19 -20
- data/lib/app_store_dev_api/requests/v1/app_store_review_detail/update.rb +17 -18
- data/lib/app_store_dev_api/requests/v1/app_store_version/create.rb +20 -16
- data/lib/app_store_dev_api/requests/v1/app_store_version/update.rb +20 -18
- data/lib/app_store_dev_api/requests/v1/app_store_version_experiment/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/app_store_version_experiment/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/app_store_version_experiment_treatment_localization/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/app_store_version_localization/create.rb +18 -18
- data/lib/app_store_dev_api/requests/v1/app_store_version_localization/update.rb +15 -18
- data/lib/app_store_dev_api/requests/v1/{app_store_version_phased_releases → app_store_version_phased_release}/create.rb +7 -2
- data/lib/app_store_dev_api/requests/v1/{app_store_version_phased_releases → app_store_version_phased_release}/update.rb +2 -2
- data/lib/app_store_dev_api/requests/v1/app_store_version_promotion/create.rb +10 -13
- data/lib/app_store_dev_api/requests/v1/{app_store_version_releases_request → app_store_version_release_request}/create.rb +5 -3
- data/lib/app_store_dev_api/requests/v1/app_tag/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/background_asset/create.rb +19 -0
- data/lib/app_store_dev_api/requests/v1/background_asset/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/background_asset_upload_file/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/background_asset_upload_file/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/background_asset_version/create.rb +16 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation_localization/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_clip_invocation_localization/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_localization/create.rb +30 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_localization/update.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_review_detail/update.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/beta_app_review_submission/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/beta_build_localization/create.rb +18 -18
- data/lib/app_store_dev_api/requests/v1/beta_build_localization/update.rb +15 -20
- data/lib/app_store_dev_api/requests/v1/beta_group/create.rb +33 -0
- data/lib/app_store_dev_api/requests/v1/beta_group/update.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/beta_license_agreement/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/beta_recruitment_criterion/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/beta_recruitment_criterion/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/beta_tester/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/beta_tester_invitation/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/build_beta_detail/update.rb +10 -13
- data/lib/app_store_dev_api/requests/v1/{subscription_price_change_consent_reason → build_beta_notification}/create.rb +8 -2
- data/lib/app_store_dev_api/requests/v1/build_upload/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/build_upload_file/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/build_upload_file/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/bundle_id/create.rb +12 -15
- data/lib/app_store_dev_api/requests/v1/bundle_id/update.rb +20 -0
- data/lib/app_store_dev_api/requests/v1/bundle_id_capability/create.rb +13 -16
- data/lib/app_store_dev_api/requests/v1/bundle_id_capability/update.rb +18 -0
- data/lib/app_store_dev_api/requests/v1/certificate/create.rb +14 -15
- data/lib/app_store_dev_api/requests/v1/certificate/update.rb +17 -0
- data/lib/app_store_dev_api/requests/v1/ci_build_run/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/ci_workflow/create.rb +41 -0
- data/lib/app_store_dev_api/requests/v1/ci_workflow/update.rb +39 -0
- data/lib/app_store_dev_api/requests/v1/customer_review_response_v1/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/device/update.rb +18 -0
- data/lib/app_store_dev_api/requests/v1/end_app_availability_pre_order/create.rb +16 -0
- data/lib/app_store_dev_api/requests/v1/end_user_license_agreement/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/end_user_license_agreement/update.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement/create.rb +31 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement/update.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement_image/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement_localization/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement_localization/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_achievement_release/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity/create.rb +32 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity/update.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_image/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_localization/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_localization/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_version/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_version/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_activity_version_release/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_app_version/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_app_version/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge/create.rb +31 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge/update.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_image/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_localization/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_localization/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_version/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_challenge_version_release/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/{subscription_review_screenshot → game_center_detail}/create.rb +9 -4
- data/lib/app_store_dev_api/requests/v1/game_center_detail/update.rb +29 -0
- data/lib/app_store_dev_api/requests/v1/{customer_review_response → game_center_group}/create.rb +6 -4
- data/lib/app_store_dev_api/requests/v1/game_center_group/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard/create.rb +38 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard/update.rb +32 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_entry_submission/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_image/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_localization/create.rb +30 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_localization/update.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_release/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_image/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_localization/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_localization/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_member_localization/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_member_localization/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/game_center_leaderboard_set_release/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_queue/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_queue/update.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule/create.rb +29 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_rule_set_test/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_team/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/game_center_matchmaking_team/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/game_center_player_achievement_submission/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/{in_app_purchase_review_screenshot → in_app_purchase_app_store_review_screenshot}/create.rb +9 -3
- data/lib/app_store_dev_api/requests/v1/{in_app_purchase_review_screenshot → in_app_purchase_app_store_review_screenshot}/update.rb +4 -3
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_availability/create.rb +13 -12
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_image/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_image/update.rb +18 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_localization/create.rb +14 -14
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_custom_code/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_custom_code/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_one_time_use_code/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_offer_code_one_time_use_code/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_price_schedule/create.rb +11 -10
- data/lib/app_store_dev_api/requests/v1/in_app_purchase_submission/create.rb +9 -10
- data/lib/app_store_dev_api/requests/v1/marketplace_search_detail/create.rb +25 -0
- data/lib/app_store_dev_api/requests/v1/marketplace_search_detail/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/{promoted_purchases → marketplace_webhook}/create.rb +7 -5
- data/lib/app_store_dev_api/requests/v1/marketplace_webhook/update.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/merchant_id/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/{app_price_schedule → merchant_id}/update.rb +7 -3
- data/lib/app_store_dev_api/requests/v1/nomination/create.rb +39 -0
- data/lib/app_store_dev_api/requests/v1/nomination/update.rb +40 -0
- data/lib/app_store_dev_api/requests/v1/pass_type_id/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v1/pass_type_id/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/profile/create.rb +14 -23
- data/lib/app_store_dev_api/requests/v1/promoted_purchase/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v1/{promoted_purchases → promoted_purchase}/update.rb +4 -3
- data/lib/app_store_dev_api/requests/v1/review_submission/create.rb +11 -7
- data/lib/app_store_dev_api/requests/v1/review_submission/update.rb +12 -15
- data/lib/app_store_dev_api/requests/v1/review_submission_item/create.rb +20 -8
- data/lib/app_store_dev_api/requests/v1/review_submission_item/update.rb +18 -0
- data/lib/app_store_dev_api/requests/v1/routing_app_coverage/create.rb +24 -0
- data/lib/app_store_dev_api/requests/v1/routing_app_coverage/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/subscription/create.rb +17 -17
- data/lib/app_store_dev_api/requests/v1/subscription/update.rb +19 -17
- data/lib/app_store_dev_api/requests/v1/subscription_app_store_review_screenshot/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v1/{subscription_review_screenshot → subscription_app_store_review_screenshot}/update.rb +4 -3
- data/lib/app_store_dev_api/requests/v1/subscription_availability/create.rb +13 -12
- data/lib/app_store_dev_api/requests/v1/subscription_grace_period/update.rb +13 -16
- data/lib/app_store_dev_api/requests/v1/subscription_group/create.rb +12 -13
- data/lib/app_store_dev_api/requests/v1/subscription_group/update.rb +10 -14
- data/lib/app_store_dev_api/requests/v1/subscription_group_localization/create.rb +14 -16
- data/lib/app_store_dev_api/requests/v1/subscription_group_localization/update.rb +11 -16
- data/lib/app_store_dev_api/requests/v1/subscription_group_submission/create.rb +9 -10
- data/lib/app_store_dev_api/requests/v1/subscription_image/create.rb +20 -0
- data/lib/app_store_dev_api/requests/v1/subscription_image/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/subscription_introductory_offer/create.rb +18 -18
- data/lib/app_store_dev_api/requests/v1/subscription_introductory_offer/update.rb +10 -15
- data/lib/app_store_dev_api/requests/v1/subscription_localization/create.rb +14 -16
- data/lib/app_store_dev_api/requests/v1/subscription_offer_code/create.rb +19 -19
- data/lib/app_store_dev_api/requests/v1/{subscription_offer_code_cunstom_code → subscription_offer_code_custom_code}/create.rb +9 -5
- data/lib/app_store_dev_api/requests/v1/{subscription_offer_code_cunstom_code → subscription_offer_code_custom_code}/update.rb +2 -3
- data/lib/app_store_dev_api/requests/v1/subscription_offer_code_one_time_use_code/create.rb +14 -15
- data/lib/app_store_dev_api/requests/v1/subscription_price/create.rb +15 -13
- data/lib/app_store_dev_api/requests/v1/subscription_promotional_offer/create.rb +17 -18
- data/lib/app_store_dev_api/requests/v1/subscription_promotional_offer/update.rb +10 -12
- data/lib/app_store_dev_api/requests/v1/subscription_submission/create.rb +9 -8
- data/lib/app_store_dev_api/requests/v1/{app_availability → territory_availability}/update.rb +4 -7
- data/lib/app_store_dev_api/requests/v1/user/update.rb +27 -0
- data/lib/app_store_dev_api/requests/v1/user_invitation/create.rb +30 -0
- data/lib/app_store_dev_api/requests/v1/webhook/create.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/webhook/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v1/webhook_delivery/create.rb +16 -0
- data/lib/app_store_dev_api/requests/v1/webhook_ping/create.rb +16 -0
- data/lib/app_store_dev_api/requests/v1/win_back_offer/create.rb +31 -0
- data/lib/app_store_dev_api/requests/v1/win_back_offer/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v1/win_back_offer/update_prices_linkages.rb +18 -0
- data/lib/app_store_dev_api/requests/v2/app_availability/create.rb +13 -14
- data/lib/app_store_dev_api/requests/v2/app_availability_v2/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/app_store_version_experiment_v2/create.rb +27 -0
- data/lib/app_store_dev_api/requests/v2/app_store_version_experiment_v2/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_image_v2/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_image_v2/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_localization_v2/create.rb +28 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_localization_v2/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_v2/create.rb +32 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_v2/update.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/game_center_achievement_version_v2/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_image_v2/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_image_v2/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_localization_v2/create.rb +30 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_localization_v2/update.rb +25 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_image_v2/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_image_v2/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_localization_v2/create.rb +26 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_localization_v2/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_v2/create.rb +29 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_v2/update.rb +21 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_set_version_v2/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_v2/create.rb +39 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_v2/update.rb +32 -0
- data/lib/app_store_dev_api/requests/v2/game_center_leaderboard_version_v2/create.rb +22 -0
- data/lib/app_store_dev_api/requests/v2/in_app_purchase/create.rb +16 -17
- data/lib/app_store_dev_api/requests/v2/in_app_purchase/update.rb +12 -15
- data/lib/app_store_dev_api/requests/v2/in_app_purchase_v2/create.rb +29 -0
- data/lib/app_store_dev_api/requests/v2/in_app_purchase_v2/update.rb +23 -0
- data/lib/app_store_dev_api/requests/v2/{sandbox_tester → sandbox_tester_v2}/update.rb +5 -4
- data/lib/app_store_dev_api/requests/v2/{sandbox_tester_clear_purchase_history/update.rb → sandbox_testers_clear_purchase_history_request_v2/create.rb} +9 -3
- data/lib/app_store_dev_api/version.rb +1 -1
- data/lib/config/{schema.json → schema_backup.json} +1185 -51
- data/lib/config/schema_v4.2.json +7317 -0
- data/release_remote.sh +121 -0
- data/scripts/README.md +126 -0
- data/scripts/cleanup_scripts.sh +73 -0
- data/scripts/comprehensive_validation.rb +359 -0
- data/scripts/comprehensive_validation_report.json +12 -0
- data/scripts/final_validation_report.rb +134 -0
- data/scripts/find_deprecated_requests.rb +145 -0
- data/scripts/test_request_body_classes.rb +185 -0
- data/scripts/validate_requests.rb +192 -0
- metadata +241 -34
- data/CODE_OF_CONDUCT.md +0 -84
- data/lib/app_store_dev_api/requests/v1/app_promoted_purchases/update.rb +0 -16
- data/lib/app_store_dev_api/requests/v1/app_store_version_build_linkage_request/update.rb +0 -17
- data/lib/app_store_dev_api/requests/v1/build_beta_groups/create.rb +0 -16
- data/lib/app_store_dev_api/requests/v1/build_beta_groups/delete.rb +0 -16
- data/lib/app_store_dev_api/requests/v1/promoted_purchases_image/create.rb +0 -20
- data/lib/app_store_dev_api/requests/v2/sandbox_tester/create.rb +0 -23
- data/release.sh +0 -55
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a4b465858ed4f19c0c756e6cd8015c60f3c6d1b1abfc942511358b1812e67c00
|
|
4
|
+
data.tar.gz: 2c1db48f308133776a4b54bb39c7fbd5c21efdfb5396a65d38154cb9a2de4b6c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 549b8f18858dea46ffecee88a2c0fe69cd59ace82a6d5e41fba3289c0c2cbdcd5ab848f36339589220d1024c3595f0fc444f8f1e4a95224ee09d3f726eba89e1
|
|
7
|
+
data.tar.gz: cd2d09150518ca605fc2a2db990627f1e10fa9b3e8a61c5e1174c515727cb4c6bf5e0794565269ff2fdf76a0a35a18beb0429ae7be9a366bf08732f8dbb9754c
|
data/.DS_Store
CHANGED
|
Binary file
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"mcp__playwright__browser_navigate",
|
|
5
|
+
"mcp__playwright__browser_evaluate",
|
|
6
|
+
"Bash(mkdir:*)",
|
|
7
|
+
"mcp__markdownify__webpage-to-markdown",
|
|
8
|
+
"mcp__playwright__browser_wait_for",
|
|
9
|
+
"mcp__playwright__browser_click",
|
|
10
|
+
"mcp__playwright__browser_navigate_back",
|
|
11
|
+
"mcp__playwright__browser_snapshot",
|
|
12
|
+
"mcp__playwright__browser_close",
|
|
13
|
+
"mcp__playwright__browser_type",
|
|
14
|
+
"mcp__playwright__browser_press_key",
|
|
15
|
+
"Bash(git checkout:*)",
|
|
16
|
+
"Bash(bundle exec rspec:*)",
|
|
17
|
+
"Bash(bundle:*)",
|
|
18
|
+
"Bash(ruby:*)",
|
|
19
|
+
"Bash(gem install:*)",
|
|
20
|
+
"Bash(git add:*)",
|
|
21
|
+
"Bash(git commit:*)",
|
|
22
|
+
"WebSearch",
|
|
23
|
+
"Bash(cat:*)",
|
|
24
|
+
"Bash(python3:*)",
|
|
25
|
+
"Bash(chmod:*)",
|
|
26
|
+
"Bash(find:*)",
|
|
27
|
+
"Bash(bash:*)",
|
|
28
|
+
"Bash(gem list:*)",
|
|
29
|
+
"Bash(rake help:*)",
|
|
30
|
+
"Bash(rake validate:*)",
|
|
31
|
+
"Bash(rake install_local:*)",
|
|
32
|
+
"Bash(timeout 180 bundle install:*)"
|
|
33
|
+
],
|
|
34
|
+
"deny": [],
|
|
35
|
+
"ask": [],
|
|
36
|
+
"additionalDirectories": [
|
|
37
|
+
"/Users/wade/MyDocument/ScriptCode/pindo"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
所有对本项目的显著更改都将记录在此文件中。
|
|
4
|
+
|
|
5
|
+
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
|
+
并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
|
+
|
|
1
8
|
## [Unreleased]
|
|
2
9
|
|
|
3
|
-
|
|
10
|
+
### Fixed
|
|
11
|
+
- 修复所有 Request 类与 Apple App Store Connect API v4.2 规范的不一致问题
|
|
12
|
+
- 修复 68 个接口的属性和关系命名规范(从下划线命名改为驼峰命名)
|
|
13
|
+
- 修复 `Attributes` 类中布尔值验证bug(false值被误判为缺失)
|
|
14
|
+
- 修复 `Relationships` 类中布尔值验证bug(false值被误判为缺失)
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- API 规范一致性从 72.2% 提升到 100%
|
|
18
|
+
- 规范化所有属性和关系命名为驼峰命名(camelCase)
|
|
19
|
+
- 更新所有 Request 类以匹配 OpenAPI v4.2 规范
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- 新增 160+ 个 Request 类文件(覆盖 API v4.2 新增功能)
|
|
23
|
+
- 新增 `Relationships` 对象类
|
|
24
|
+
- 新增验证工具 `scripts/validate_requests.rb`
|
|
25
|
+
- 新增自动修复工具 `scripts/fix_requests.rb`
|
|
26
|
+
- 新增 Request Body 功能测试
|
|
27
|
+
|
|
28
|
+
### Technical Details
|
|
29
|
+
|
|
30
|
+
**修复的主要问题类别:**
|
|
31
|
+
1. **属性命名规范化**(~150处)
|
|
32
|
+
- `available_in_new_territories` → `availableInNewTerritories`
|
|
33
|
+
- `contact_email` → `contactEmail`
|
|
34
|
+
- `whats_new` → `whatsNew`
|
|
35
|
+
|
|
36
|
+
2. **新增缺失属性**(~80处)
|
|
37
|
+
- AccessibilityDeclaration: 新增 9个无障碍功能属性
|
|
38
|
+
- Webhook: 新增 `eventTypes`, `secret`
|
|
39
|
+
- AgeRatingDeclaration: 新增 12个分级相关属性
|
|
40
|
+
|
|
41
|
+
3. **移除过时属性**(~70处)
|
|
42
|
+
- AppEvent: 移除 `eventState`
|
|
43
|
+
- AppEncryptionDeclaration: 移除 7个过时属性
|
|
44
|
+
|
|
45
|
+
4. **关系命名规范化**(~20处)
|
|
46
|
+
- `app_store_version` → `appStoreVersion`
|
|
47
|
+
- `app_clip_default_experience` → `appClipDefaultExperience`
|
|
48
|
+
|
|
49
|
+
**影响的文件:**
|
|
50
|
+
- 68 个已存在的 Request 类(修复)
|
|
51
|
+
- 160+ 个新增的 Request 类
|
|
52
|
+
- 2 个核心对象类(Attributes, Relationships)
|
|
53
|
+
- 1 个测试文件
|
|
54
|
+
- 2 个新增工具脚本
|
|
55
|
+
|
|
56
|
+
**测试结果:**
|
|
57
|
+
- ✅ 所有 Request Body 测试通过 (6/6)
|
|
58
|
+
- ✅ API 一致性验证通过 (241/241)
|
|
59
|
+
|
|
60
|
+
## [历史版本]
|
|
4
61
|
|
|
5
|
-
|
|
62
|
+
(以前的版本历史可以在 git log 中查看)
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## 项目概述
|
|
6
|
+
|
|
7
|
+
AppStoreDevApi 是一个 Ruby gem,提供与 Apple App Store Connect API 交互的客户端库。
|
|
8
|
+
|
|
9
|
+
**官方 API 文档**: https://developer.apple.com/documentation/appstoreconnectapi
|
|
10
|
+
**当前 API 版本支持**: v1, v2 (需要升级到 v4.0)
|
|
11
|
+
|
|
12
|
+
## 系统架构详解
|
|
13
|
+
|
|
14
|
+
### 整体架构设计
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
┌─────────────────────────────────────────┐
|
|
18
|
+
│ lib/config/schema.json │ ← 配置层:301个端点定义
|
|
19
|
+
└────────────┬────────────────────────────┘
|
|
20
|
+
│ 读取
|
|
21
|
+
┌────────────▼────────────────────────────┐
|
|
22
|
+
│ lib/app_store_dev_api/schema.rb │ ← 解析层:JSON→Ruby对象
|
|
23
|
+
└────────────┬────────────────────────────┘
|
|
24
|
+
│ 注册
|
|
25
|
+
┌────────────▼────────────────────────────┐
|
|
26
|
+
│ lib/app_store_dev_api/base.rb │ ← 核心层:动态方法调度
|
|
27
|
+
│ - method_missing │
|
|
28
|
+
│ - JWT 认证 (Authorization) │
|
|
29
|
+
│ - 端点注册 (Registry) │
|
|
30
|
+
└────────────┬────────────────────────────┘
|
|
31
|
+
│ 调用
|
|
32
|
+
┌────────────▼────────────────────────────┐
|
|
33
|
+
│ lib/app_store_dev_api/requests/ │ ← 请求层:数据结构定义
|
|
34
|
+
│ - v1/ (主要版本) │
|
|
35
|
+
│ - v2/ (部分功能) │
|
|
36
|
+
└─────────────────────────────────────────┘
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 核心特性:配置驱动的 API 管理
|
|
40
|
+
|
|
41
|
+
#### 1. JSON 配置文件 (`lib/config/schema.json`)
|
|
42
|
+
|
|
43
|
+
**当前规模**:
|
|
44
|
+
- 文件大小:1,675 行
|
|
45
|
+
- 端点数量:301 个
|
|
46
|
+
- 支持版本:v1, v2
|
|
47
|
+
|
|
48
|
+
**配置结构**:
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"web_service_endpoints": [
|
|
52
|
+
{
|
|
53
|
+
"alias": "create_bundle_id", // Ruby 方法名
|
|
54
|
+
"http_method": "post", // HTTP 方法
|
|
55
|
+
"url": "https://api.appstoreconnect.apple.com/v1/bundleIds",
|
|
56
|
+
"http_body_type": "Requests::V1::BundleId::Create" // 请求体类(可选)
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### 2. 动态方法生成机制
|
|
63
|
+
|
|
64
|
+
**工作流程**:
|
|
65
|
+
1. **启动时**:Schema 类读取 JSON 文件,创建 WebServiceEndpoint 对象
|
|
66
|
+
2. **运行时**:Base 类通过 `method_missing` 拦截方法调用
|
|
67
|
+
3. **执行时**:从 Registry 查找端点配置,构建并执行 HTTP 请求
|
|
68
|
+
|
|
69
|
+
**关键优势**:
|
|
70
|
+
- ✅ 无需手动编写 301 个方法
|
|
71
|
+
- ✅ 统一的错误处理和响应解析
|
|
72
|
+
- ✅ 易于批量更新和维护
|
|
73
|
+
|
|
74
|
+
#### 3. 请求体管理 (`lib/app_store_dev_api/requests/`)
|
|
75
|
+
|
|
76
|
+
**目录结构**:
|
|
77
|
+
```
|
|
78
|
+
requests/
|
|
79
|
+
├── v1/ # API v1 请求类(83个文件)
|
|
80
|
+
│ ├── app/
|
|
81
|
+
│ │ ├── create.rb
|
|
82
|
+
│ │ └── update.rb
|
|
83
|
+
│ ├── bundle_id/
|
|
84
|
+
│ ├── certificate/
|
|
85
|
+
│ └── ...
|
|
86
|
+
└── v2/ # API v2 请求类(新功能)
|
|
87
|
+
├── sandbox_tester/
|
|
88
|
+
└── in_app_purchase/
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**请求类设计模式**:
|
|
92
|
+
```ruby
|
|
93
|
+
module Requests::V1::BundleId
|
|
94
|
+
class Create < Request::Body
|
|
95
|
+
data do
|
|
96
|
+
type 'bundleIds'
|
|
97
|
+
attributes do
|
|
98
|
+
property :identifier, required: true
|
|
99
|
+
property :name, required: true
|
|
100
|
+
property :platform, required: true
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 认证与安全
|
|
108
|
+
|
|
109
|
+
#### JWT Token 生成 (`Client::Authorization`)
|
|
110
|
+
- 使用 ES256 算法签名
|
|
111
|
+
- Token 有效期:20 分钟
|
|
112
|
+
- 自动刷新机制
|
|
113
|
+
|
|
114
|
+
#### 请求头配置
|
|
115
|
+
```ruby
|
|
116
|
+
{
|
|
117
|
+
'Authorization' => "Bearer #{jwt_token}",
|
|
118
|
+
'Content-Type' => 'application/json'
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 如何添加新的 API 接口
|
|
123
|
+
|
|
124
|
+
#### 方式一:添加简单端点(仅 GET/DELETE)
|
|
125
|
+
1. 编辑 `lib/config/schema.json`
|
|
126
|
+
2. 添加端点配置:
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"alias": "get_app_info",
|
|
130
|
+
"http_method": "get",
|
|
131
|
+
"url": "https://api.appstoreconnect.apple.com/v1/apps/{id}"
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
3. 无需其他操作,立即可用
|
|
135
|
+
|
|
136
|
+
#### 方式二:添加复杂端点(需要请求体)
|
|
137
|
+
1. 在 `schema.json` 中添加端点,指定 `http_body_type`
|
|
138
|
+
2. 创建对应的 Request 类:
|
|
139
|
+
```ruby
|
|
140
|
+
# lib/app_store_dev_api/requests/v1/webhook/create.rb
|
|
141
|
+
module Requests::V1::Webhook
|
|
142
|
+
class Create < Request::Body
|
|
143
|
+
data do
|
|
144
|
+
type 'webhooks'
|
|
145
|
+
attributes do
|
|
146
|
+
property :url, required: true
|
|
147
|
+
property :events, required: true
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 当前问题与升级需求
|
|
155
|
+
|
|
156
|
+
#### API 版本滞后
|
|
157
|
+
- **当前支持**:主要是 API v1.x - v2.x
|
|
158
|
+
- **最新版本**:Apple 已发布 API v4.0
|
|
159
|
+
- **缺失功能**:
|
|
160
|
+
- Webhooks(事件通知)
|
|
161
|
+
- Accessibility Declarations(无障碍声明)
|
|
162
|
+
- Customer Review Summarizations(评论摘要)
|
|
163
|
+
- Background Assets(后台资源)
|
|
164
|
+
- TestFlight Feedback(Beta 反馈)
|
|
165
|
+
|
|
166
|
+
#### 需要更新的端点数量
|
|
167
|
+
- 新增端点:约 25-30 个
|
|
168
|
+
- 更新端点:约 10-15 个
|
|
169
|
+
- 废弃端点:约 5 个
|
|
170
|
+
|
|
171
|
+
### API 文档映射
|
|
172
|
+
|
|
173
|
+
生成的每个方法都包含对应的 Apple 官方文档链接,例如:
|
|
174
|
+
- Bundle ID 注册: https://developer.apple.com/documentation/appstoreconnectapi/register_a_new_bundle_id
|
|
175
|
+
- 其他 API: https://developer.apple.com/documentation/appstoreconnectapi
|
|
176
|
+
|
|
177
|
+
## Key Architecture
|
|
178
|
+
|
|
179
|
+
### Core Components
|
|
180
|
+
|
|
181
|
+
1. **Client System** (`lib/app_store_dev_api/client.rb`, `lib/app_store_dev_api/base.rb`)
|
|
182
|
+
- `Base` class handles HTTP requests, JWT authorization, and response decoding
|
|
183
|
+
- `Client` class contains generated methods for each API endpoint
|
|
184
|
+
- Uses `Client::Authorization` for JWT token generation
|
|
185
|
+
- Uses `Client::Registry` for endpoint management
|
|
186
|
+
|
|
187
|
+
2. **Request Objects** (`lib/app_store_dev_api/requests/`)
|
|
188
|
+
- Organized by API version (v1, v2)
|
|
189
|
+
- Each request type has its own class with data structure definitions
|
|
190
|
+
- Uses builder pattern for request creation
|
|
191
|
+
|
|
192
|
+
3. **Schema System** (`lib/app_store_dev_api/schema.rb`)
|
|
193
|
+
- Defines API endpoints and their configurations
|
|
194
|
+
- Used for code generation and runtime request handling
|
|
195
|
+
|
|
196
|
+
4. **Object Model** (`lib/app_store_dev_api/object/`)
|
|
197
|
+
- Provides base classes for API data objects
|
|
198
|
+
- Handles attributes, relationships, and data type definitions
|
|
199
|
+
|
|
200
|
+
## Development Commands
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Install dependencies
|
|
204
|
+
bundle install
|
|
205
|
+
|
|
206
|
+
# Open interactive console with the gem loaded
|
|
207
|
+
bin/console
|
|
208
|
+
|
|
209
|
+
# Build the gem
|
|
210
|
+
bundle exec rake build
|
|
211
|
+
|
|
212
|
+
# Install gem locally
|
|
213
|
+
bundle exec rake install
|
|
214
|
+
|
|
215
|
+
# Release new version (creates git tag and pushes to RubyGems)
|
|
216
|
+
bundle exec rake release
|
|
217
|
+
|
|
218
|
+
# Run linter (RuboCop)
|
|
219
|
+
bundle exec rubocop
|
|
220
|
+
|
|
221
|
+
# Generate changelog
|
|
222
|
+
bundle exec rake changelog
|
|
223
|
+
|
|
224
|
+
# 重新生成 Client 类(添加新 API 后)
|
|
225
|
+
ruby -r ./lib/app_store_dev_api/client/builder.rb -e "AppStoreDevApi::Client::Builder.new.write"
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Version Management
|
|
229
|
+
|
|
230
|
+
- Version is defined in `lib/app_store_dev_api/version.rb`
|
|
231
|
+
- To release: update VERSION constant, then run `bundle exec rake release`
|
|
232
|
+
|
|
233
|
+
## Code Generation
|
|
234
|
+
|
|
235
|
+
This project uses generated code (see "WARNING ABOUT GENERATED CODE" comments). The `Client` class and request classes are generated based on Apple's API documentation.
|
|
236
|
+
|
|
237
|
+
## Dependencies
|
|
238
|
+
|
|
239
|
+
- **zeitwerk**: Autoloading
|
|
240
|
+
- **activesupport**: Ruby extensions
|
|
241
|
+
- **jwt**: JWT token generation for Apple API authentication
|
|
242
|
+
|
|
243
|
+
## API 参考资源
|
|
244
|
+
|
|
245
|
+
- **官方文档主页**: https://developer.apple.com/documentation/appstoreconnectapi
|
|
246
|
+
- **REST API 规范**: 遵循 JSON API 规范
|
|
247
|
+
- **认证方式**: JWT Bearer Token
|
|
248
|
+
- **基础 URL**: https://api.appstoreconnect.apple.com
|
|
249
|
+
|
|
250
|
+
## Network Request Rules
|
|
251
|
+
|
|
252
|
+
### Proxy Configuration
|
|
253
|
+
- Claude-related requests: Use environment proxy settings
|
|
254
|
+
- Non-Claude requests (e.g., Apple API calls): Direct connection without proxy
|
|
255
|
+
- Use `--noproxy "*"` for curl
|
|
256
|
+
- Use `proxies={'http': None, 'https': None}` for Python requests
|
data/Gemfile.lock
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
app_store_dev_api (0.
|
|
5
|
-
activesupport (
|
|
6
|
-
jwt (>=
|
|
7
|
-
zeitwerk (
|
|
4
|
+
app_store_dev_api (0.2.0)
|
|
5
|
+
activesupport (~> 7.0)
|
|
6
|
+
jwt (~> 2.0, >= 2.0.0)
|
|
7
|
+
zeitwerk (~> 2.6)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
@@ -16,7 +16,7 @@ GEM
|
|
|
16
16
|
tzinfo (~> 2.0)
|
|
17
17
|
addressable (2.8.4)
|
|
18
18
|
public_suffix (>= 2.0.2, < 6.0)
|
|
19
|
-
ast (2.4.
|
|
19
|
+
ast (2.4.3)
|
|
20
20
|
async (2.5.0)
|
|
21
21
|
console (~> 1.10)
|
|
22
22
|
io-event (~> 1.1)
|
|
@@ -36,6 +36,7 @@ GEM
|
|
|
36
36
|
async
|
|
37
37
|
async-pool (0.4.0)
|
|
38
38
|
async (>= 1.25)
|
|
39
|
+
base64 (0.1.2)
|
|
39
40
|
cgi (0.3.6)
|
|
40
41
|
coderay (1.1.3)
|
|
41
42
|
concurrent-ruby (1.2.2)
|
|
@@ -85,8 +86,9 @@ GEM
|
|
|
85
86
|
i18n (1.12.0)
|
|
86
87
|
concurrent-ruby (~> 1.0)
|
|
87
88
|
io-event (1.1.7)
|
|
88
|
-
json (2.
|
|
89
|
+
json (2.14.1)
|
|
89
90
|
jwt (2.7.0)
|
|
91
|
+
language_server-protocol (3.17.0.5)
|
|
90
92
|
listen (3.8.0)
|
|
91
93
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
92
94
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
@@ -101,9 +103,11 @@ GEM
|
|
|
101
103
|
octokit (4.25.1)
|
|
102
104
|
faraday (>= 1, < 3)
|
|
103
105
|
sawyer (~> 0.9)
|
|
104
|
-
parallel (1.
|
|
105
|
-
parser (3.
|
|
106
|
+
parallel (1.27.0)
|
|
107
|
+
parser (3.3.9.0)
|
|
106
108
|
ast (~> 2.4.1)
|
|
109
|
+
racc
|
|
110
|
+
prism (1.5.1)
|
|
107
111
|
protocol-hpack (1.4.2)
|
|
108
112
|
protocol-http (0.24.1)
|
|
109
113
|
protocol-http1 (0.15.0)
|
|
@@ -115,12 +119,13 @@ GEM
|
|
|
115
119
|
coderay (~> 1.1)
|
|
116
120
|
method_source (~> 1.0)
|
|
117
121
|
public_suffix (5.0.1)
|
|
122
|
+
racc (1.8.1)
|
|
118
123
|
rainbow (3.1.1)
|
|
119
124
|
rake (13.0.6)
|
|
120
125
|
rb-fsevent (0.11.2)
|
|
121
126
|
rb-inotify (0.10.1)
|
|
122
127
|
ffi (~> 1.0)
|
|
123
|
-
regexp_parser (2.
|
|
128
|
+
regexp_parser (2.11.3)
|
|
124
129
|
rexml (3.2.5)
|
|
125
130
|
rspec (3.12.0)
|
|
126
131
|
rspec-core (~> 3.12.0)
|
|
@@ -135,18 +140,21 @@ GEM
|
|
|
135
140
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
136
141
|
rspec-support (~> 3.12.0)
|
|
137
142
|
rspec-support (3.12.0)
|
|
138
|
-
rubocop (1.
|
|
143
|
+
rubocop (1.56.4)
|
|
144
|
+
base64 (~> 0.1.1)
|
|
139
145
|
json (~> 2.3)
|
|
146
|
+
language_server-protocol (>= 3.17.0)
|
|
140
147
|
parallel (~> 1.10)
|
|
141
|
-
parser (>= 3.2.
|
|
148
|
+
parser (>= 3.2.2.3)
|
|
142
149
|
rainbow (>= 2.2.2, < 4.0)
|
|
143
150
|
regexp_parser (>= 1.8, < 3.0)
|
|
144
151
|
rexml (>= 3.2.5, < 4.0)
|
|
145
|
-
rubocop-ast (>= 1.28.
|
|
152
|
+
rubocop-ast (>= 1.28.1, < 2.0)
|
|
146
153
|
ruby-progressbar (~> 1.7)
|
|
147
154
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
148
|
-
rubocop-ast (1.
|
|
149
|
-
parser (>= 3.
|
|
155
|
+
rubocop-ast (1.47.0)
|
|
156
|
+
parser (>= 3.3.7.2)
|
|
157
|
+
prism (~> 1.4)
|
|
150
158
|
ruby-progressbar (1.13.0)
|
|
151
159
|
ruby2_keywords (0.0.5)
|
|
152
160
|
rubyzip (2.3.2)
|
|
@@ -162,12 +170,12 @@ GEM
|
|
|
162
170
|
simplecov-html (0.12.3)
|
|
163
171
|
simplecov_json_formatter (0.1.4)
|
|
164
172
|
thor (1.2.1)
|
|
165
|
-
timecop (0.9.
|
|
173
|
+
timecop (0.9.10)
|
|
166
174
|
timers (4.3.5)
|
|
167
175
|
traces (0.9.1)
|
|
168
176
|
tzinfo (2.0.6)
|
|
169
177
|
concurrent-ruby (~> 1.0)
|
|
170
|
-
unicode-display_width (2.
|
|
178
|
+
unicode-display_width (2.6.0)
|
|
171
179
|
webmock (3.18.1)
|
|
172
180
|
addressable (>= 2.8.0)
|
|
173
181
|
crack (>= 0.3.2)
|
|
@@ -175,11 +183,12 @@ GEM
|
|
|
175
183
|
zeitwerk (2.6.7)
|
|
176
184
|
|
|
177
185
|
PLATFORMS
|
|
186
|
+
arm64-darwin-24
|
|
178
187
|
x86_64-darwin-22
|
|
179
188
|
|
|
180
189
|
DEPENDENCIES
|
|
181
190
|
app_store_dev_api!
|
|
182
|
-
bundler
|
|
191
|
+
bundler (~> 2.4, >= 2.4.0)
|
|
183
192
|
erb (~> 4.0.2)
|
|
184
193
|
factory_bot (~> 6.2.1)
|
|
185
194
|
github_changelog_generator (= 1.16.4)
|
|
@@ -187,11 +196,11 @@ DEPENDENCIES
|
|
|
187
196
|
pry (~> 0.14.1)
|
|
188
197
|
rake (~> 13.0)
|
|
189
198
|
rspec (~> 3.12.0)
|
|
190
|
-
rubocop (~> 1.
|
|
191
|
-
rubyzip
|
|
199
|
+
rubocop (~> 1.56.4)
|
|
200
|
+
rubyzip (~> 2.3)
|
|
192
201
|
semantic (~> 1.6.1)
|
|
193
202
|
simplecov (~> 0.22.0)
|
|
194
|
-
timecop (~> 0.9.
|
|
203
|
+
timecop (~> 0.9.8)
|
|
195
204
|
webmock (~> 3.18.1)
|
|
196
205
|
|
|
197
206
|
BUNDLED WITH
|