summaryrefslogtreecommitdiff
path: root/test/ios/codesigning
diff options
context:
space:
mode:
Diffstat (limited to 'test/ios/codesigning')
-rw-r--r--test/ios/codesigning/UnitTestsApp.app.xcent.template16
-rw-r--r--test/ios/codesigning/UnitTestsAppTests.xctest.xcent.template16
-rw-r--r--test/ios/codesigning/XCTAutomationSupport.framework.xcent.template16
-rw-r--r--test/ios/codesigning/XCTest.framework.xcent.template16
-rwxr-xr-xtest/ios/codesigning/codesign_all.sh8
-rwxr-xr-xtest/ios/codesigning/generate-entitlements.swift40
-rw-r--r--test/ios/codesigning/libXCTestSwiftSupport.dylib.xcent.template16
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