diff --git a/pkg/apple/fastlane/Fastfile b/pkg/apple/fastlane/Fastfile index a212166b42..bbb8193b24 100644 --- a/pkg/apple/fastlane/Fastfile +++ b/pkg/apple/fastlane/Fastfile @@ -33,6 +33,7 @@ platform :ios do ) ensure_git_status_clean git_pull + sh("git log -1") app_store_build_number( app_identifier: "com.libretro.dist.RetroArch", platform: "ios", @@ -61,14 +62,41 @@ platform :ios do plist["CFBundleShortVersionString"] = next_version_number end ) + update_code_signing_settings( + targets: "RetroArchiOS", + use_automatic_signing: false, + path: "RetroArch_iOS13.xcodeproj", + team_id: "UK699V5ZS8", + code_sign_identity: "iPhone Distribution", + sdk: "iphoneos*", + profile_name: "App Store Distribution" + ) + update_code_signing_settings( + targets: "RetroArchWidgetExtensionExtension", + use_automatic_signing: false, + path: "RetroArch_iOS13.xcodeproj", + team_id: "UK699V5ZS8", + bundle_identifier: "com.libretro.dist.RetroArch.RetroArchWidgetExtension", + code_sign_identity: "iPhone Distribution", + sdk: "iphoneos*", + profile_name: "App Store Widget" + ) build_app( workspace: "RetroArch.xcworkspace", scheme: "RetroArch iOS Release", - xcconfig: "iOS/AppStore.xcconfig" + xcconfig: "iOS/AppStore.xcconfig", + xcodebuild_formatter: 'xcbeautify --renderer github-actions', + buildlog_path: "buildlog", + export_options: { + provisioningProfiles: { + "com.libretro.dist.RetroArch" => "App Store Distribution", + "com.libretro.dist.RetroArch.RetroArchWidgetExtension" => "App Store Widget" + } + } ) upload_to_testflight( distribute_external: true, - groups: "Invaders, Patreons", + groups: ['Invaders', 'Patreons'], changelog: "Rebuild frontend from latest master branch and take latest build of all cores." ) end @@ -92,6 +120,7 @@ platform :appletvos do ) ensure_git_status_clean git_pull + sh("git log -1") app_store_build_number( app_identifier: "com.libretro.dist.RetroArch", platform: "appletvos", @@ -120,14 +149,41 @@ platform :appletvos do plist["CFBundleShortVersionString"] = next_version_number end ) + update_code_signing_settings( + targets: "RetroArchTV", + use_automatic_signing: false, + path: "RetroArch_iOS13.xcodeproj", + team_id: "UK699V5ZS8", + code_sign_identity: "iPhone Distribution", + sdk: "appletvos*", + profile_name: "tvOS App Store" + ) + update_code_signing_settings( + targets: "RetroArchTopShelfExtension", + use_automatic_signing: false, + path: "RetroArch_iOS13.xcodeproj", + team_id: "UK699V5ZS8", + bundle_identifier: "com.libretro.dist.RetroArch.RetroArchTopShelfExtension", + code_sign_identity: "iPhone Distribution", + sdk: "appletvos*", + profile_name: "tvOS Top Shelf App Store" + ) build_app( workspace: "RetroArch.xcworkspace", scheme: "RetroArch tvOS Release", - xcconfig: "iOS/AppStore.xcconfig" + xcconfig: "iOS/AppStore.xcconfig", + xcodebuild_formatter: 'xcbeautify --renderer github-actions', + buildlog_path: "buildlog", + export_options: { + provisioningProfiles: { + "com.libretro.dist.RetroArch" => "tvOS App Store", + "com.libretro.dist.RetroArch.RetroArchTopShelfExtension" => "tvOS Top Shelf App Store" + } + } ) upload_to_testflight( distribute_external: true, - groups: "Invaders, Patreons", + groups: ['Invaders', 'Patreons'], changelog: "Rebuild frontend from latest master branch and take latest build of all cores." ) end diff --git a/pkg/apple/iOS/Info.plist b/pkg/apple/iOS/Info.plist index 16c7212a9b..d72be980e5 100644 --- a/pkg/apple/iOS/Info.plist +++ b/pkg/apple/iOS/Info.plist @@ -83,6 +83,8 @@ NSBluetoothAlwaysUsageDescription RetroArch uses direct Bluetooth communication for some types of controllers + NSBluetoothPeripheralUsageDescription + RetroArch uses direct Bluetooth communication for some types of controllers NSBonjourServices _altserver._tcp diff --git a/pkg/apple/make-frameworks.sh b/pkg/apple/make-frameworks.sh index 3e1680e8ba..a0ba3b9cfe 100755 --- a/pkg/apple/make-frameworks.sh +++ b/pkg/apple/make-frameworks.sh @@ -40,11 +40,11 @@ for dylib in $(find "$BASE_DIR"/modules -maxdepth 1 -type f -regex '.*libretro.* fwDir="${OUTDIR}/${fwName}.framework" mkdir -p "$fwDir" - lipo -create "$dylib" -output "$fwDir/$fwName" if [ "$PLATFORM_FAMILY_NAME" = "iOS" ] ; then build_sdk=$(vtool -show-build "$dylib" | grep sdk | awk '{print $2}') - vtool -set-version-min ios "${IPHONEOS_DEPLOYMENT_TARGET}" "${build_sdk}" -replace -output "$fwDir/$fwName" "$fwDir/$fwName" + vtool -set-build-version ios "${IPHONEOS_DEPLOYMENT_TARGET}" "${build_sdk}" -set-source-version 0.0 -replace -output "$dylib" "$dylib" fi + lipo -create "$dylib" -output "$fwDir/$fwName" sed -e "s,%CORE%,$fwName," -e "s,%BUNDLE%,$fwName," -e "s,%IDENTIFIER%,$fwName," iOS/fw.tmpl > "$fwDir/Info.plist" echo "signing $fwName" codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" "$fwDir"