diff options
Diffstat (limited to 'test/ios/codesigning')
7 files changed, 128 insertions, 0 deletions
diff --git a/test/ios/codesigning/UnitTestsApp.app.xcent.template b/test/ios/codesigning/UnitTestsApp.app.xcent.template new file mode 100644 index 0000000000..a851541766 --- /dev/null +++ b/test/ios/codesigning/UnitTestsApp.app.xcent.template @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$TEAM_ID.com.mapbox.UnitTestsApp</string> + <key>com.apple.developer.team-identifier</key> + <string>$TEAM_ID</string> + <key>get-task-allow</key> + <true/> + <key>keychain-access-groups</key> + <array> + <string>$TEAM_ID.com.mapbox.UnitTestsApp</string> + </array> +</dict> +</plist>
\ No newline at end of file diff --git a/test/ios/codesigning/UnitTestsAppTests.xctest.xcent.template b/test/ios/codesigning/UnitTestsAppTests.xctest.xcent.template new file mode 100644 index 0000000000..72b2dbbb9d --- /dev/null +++ b/test/ios/codesigning/UnitTestsAppTests.xctest.xcent.template @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + <key>com.apple.developer.team-identifier</key> + <string>$TEAM_ID</string> + <key>get-task-allow</key> + <true/> + <key>keychain-access-groups</key> + <array> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + </array> +</dict> +</plist>
\ No newline at end of file diff --git a/test/ios/codesigning/XCTAutomationSupport.framework.xcent.template b/test/ios/codesigning/XCTAutomationSupport.framework.xcent.template new file mode 100644 index 0000000000..72b2dbbb9d --- /dev/null +++ b/test/ios/codesigning/XCTAutomationSupport.framework.xcent.template @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + <key>com.apple.developer.team-identifier</key> + <string>$TEAM_ID</string> + <key>get-task-allow</key> + <true/> + <key>keychain-access-groups</key> + <array> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + </array> +</dict> +</plist>
\ No newline at end of file diff --git a/test/ios/codesigning/XCTest.framework.xcent.template b/test/ios/codesigning/XCTest.framework.xcent.template new file mode 100644 index 0000000000..72b2dbbb9d --- /dev/null +++ b/test/ios/codesigning/XCTest.framework.xcent.template @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + <key>com.apple.developer.team-identifier</key> + <string>$TEAM_ID</string> + <key>get-task-allow</key> + <true/> + <key>keychain-access-groups</key> + <array> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + </array> +</dict> +</plist>
\ No newline at end of file diff --git a/test/ios/codesigning/codesign_all.sh b/test/ios/codesigning/codesign_all.sh new file mode 100755 index 0000000000..1a6007ea94 --- /dev/null +++ b/test/ios/codesigning/codesign_all.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +codesign --force --sign $CODESIGNIDENTITY --entitlements ../codesigning/UnitTestsApp.app.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app +codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/libXCTestSwiftSupport.dylib +codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/libXCTestBundleInject.dylib +codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/XCTAutomationSupport.framework +codesign --force --sign $CODESIGNIDENTITY --deep --preserve-metadata=identifier,entitlements,flags --timestamp=none ./Release-iphoneos/UnitTestsApp.app/Frameworks/XCTest.framework +codesign --force --sign $CODESIGNIDENTITY --deep --entitlements ../codesigning/UnitTestsAppTests.xctest.xcent --timestamp=none ./Release-iphoneos/UnitTestsApp.app/PlugIns/UnitTestsAppTests.xctest diff --git a/test/ios/codesigning/generate-entitlements.swift b/test/ios/codesigning/generate-entitlements.swift new file mode 100755 index 0000000000..83834483bf --- /dev/null +++ b/test/ios/codesigning/generate-entitlements.swift @@ -0,0 +1,40 @@ +#!/usr/bin/swift + +/// Generates Entitlement files .xcent for codesigning, containing the correct team id +import Swift +import Foundation + +let fileManager = FileManager.default + +let contentsOfCurrentWorkingDirectory = try FileManager.default.contentsOfDirectory(at: URL(fileURLWithPath: "./codesigning/"), includingPropertiesForKeys: nil, options: []) + +guard let rawTeamIdEnv = getenv("IOS_DEVELOPMENT_TEAM") else { + print("Please add a IOS_DEVELOPMENT_TEAM environment variable.") + exit(1) +} + +let teamId2 = String(utf8String: rawTeamIdEnv) + +for file in contentsOfCurrentWorkingDirectory { + if (file.pathExtension == "template") { + var content = "" + do { + content = try String(contentsOf: file, encoding: .utf8) + } + catch { + print("Error reading xcent file: \(error).") + } + + content = content.replacingOccurrences(of: "$TEAM_ID", with: teamId2!) + + var targetFile = file + targetFile.deletePathExtension() + do { + try content.write(to: targetFile, atomically: false, encoding: .utf8) + print("Entitlement " + targetFile.absoluteString + " generated.") + } + catch { + print("Error writing xcent file: \(error).") + } + } +}
\ No newline at end of file diff --git a/test/ios/codesigning/libXCTestSwiftSupport.dylib.xcent.template b/test/ios/codesigning/libXCTestSwiftSupport.dylib.xcent.template new file mode 100644 index 0000000000..72b2dbbb9d --- /dev/null +++ b/test/ios/codesigning/libXCTestSwiftSupport.dylib.xcent.template @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>application-identifier</key> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + <key>com.apple.developer.team-identifier</key> + <string>$TEAM_ID</string> + <key>get-task-allow</key> + <true/> + <key>keychain-access-groups</key> + <array> + <string>$TEAM_ID.com.mapbox.UnitTestsAppTests</string> + </array> +</dict> +</plist>
\ No newline at end of file |