diff --git a/.travis.yml b/.travis.yml index a26b6b7..e5b2e0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,8 @@ addons: before_install: - echo -e "machine github.com\n login $GITHUB_ACCESS_TOKEN" >> ~/.netrc install: - - gem update fastlane - - gem install xcodeproj + - gem install bundler + - bundle install before_script: - pod install - git diff --quiet "$TRAVIS_COMMIT_RANGE" -- ; GIT_DIFF_EXIT_CODE=$? @@ -38,11 +38,14 @@ before_script: ./gopenpgp_build.sh fi script: - - if [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_EVENT_TYPE" = "push" ]; then fastlane test && fastlane beta; else fastlane test; fi + - if [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_EVENT_TYPE" = "push" ]; then bundle exec fastlane test && bundle exec fastlane "$CHANNEL"; else bundle exec fastlane test; fi cache: directories: - Carthage - go/dist env: + jobs: + - CHANNEL=beta + - CHANNEL=release global: - secure: NsbIgKZAO1Rhr/QUFsvs5LjOGf4vFIWqCJNr+zhw9DKnOd+G8m1z9wsfNyUhg+v1eUONVMxI/FTeAobnn20kxetw1dMQn4/rL4+IB4UsmODuwcFF7JCUAzEB2Wv82O91nVwT48zEmNyOG2VkgfqOgHeASStQyDPFzJuyXFy+RzoBNKK3X7Uxk19UQI80UmXvW9bmQuY8O37g/qwFj4mnluNvPIvGHry0LPMlbh6fRPsHwXlDmD2FSLoW3GI3PLN1pWsIXLURUr3bioLBJ3E0tzZsFA4AM0xs9Y7Td9f87zo4pRTAH5p2EieSq5IfNS2RDQh5aftrLFBZPUui/86yc9hoceLuOVQKkByBavMBVzfIAiAoJZdBX9cTNDh+zzFs+WZKfP4jYnN1xrFPBmHOG5kVRiA++UbepferDjr80A5aXU3FLjOeuKKrkLvAphGRMwsbx9omYHjAa2eaf2oaLeKLENkl/C/6CeG4D1F/PLsdsjilfHEQKroDRWgxU2Se+bKYucmpBXa8fjWHUyr4pfcgc6qB/R62TxYBI94QSbWAEwE6eEzUlmBoids1l5KTWqnMqXYHlxNXNao2RxV2aqwq5OuWqg1hYBxXVBUKGvzXYONnsxfgcc7NLuTPfeR/h1v7CYcs6VG+z2rYJNY5pBTHrYzeNG0RbDNq3ofMl+M= diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..19c9b51 --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "fastlane" +gem "xcodeproj" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..2b94d92 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,179 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + atomos (0.1.3) + aws-eventstream (1.1.0) + aws-partitions (1.343.0) + aws-sdk-core (3.104.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.36.0) + aws-sdk-core (~> 3, >= 3.99.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.74.0) + aws-sdk-core (~> 3, >= 3.102.1) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.2.1) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.3) + claide (1.0.3) + colored (1.2) + colored2 (3.1.2) + commander-fastlane (4.4.6) + highline (~> 1.7.2) + declarative (0.0.20) + declarative-option (0.1.0) + digest-crc (0.6.1) + rake (~> 13.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.6) + emoji_regex (3.0.0) + excon (0.75.0) + faraday (0.17.3) + multipart-post (>= 1.2, < 3) + faraday-cookie_jar (0.0.6) + faraday (>= 0.7.4) + http-cookie (~> 1.0.0) + faraday_middleware (0.14.0) + faraday (>= 0.7.4, < 1.0) + fastimage (2.1.7) + fastlane (2.152.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.3, < 3.0.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander-fastlane (>= 4.4.6, < 5.0.0) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (>= 0.17, < 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (>= 0.13.1, < 2.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-api-client (>= 0.37.0, < 0.39.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) + highline (>= 1.7.2, < 2.0.0) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (~> 2.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + slack-notifier (>= 2.0.0, < 3.0.0) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-api-client (0.38.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.12) + google-cloud-core (1.5.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.3.3) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.1) + google-cloud-storage (1.26.2) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-api-client (~> 0.33) + google-cloud-core (~> 1.2) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.13.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + highline (1.7.10) + http-cookie (1.0.3) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.4.0) + json (2.3.1) + jwt (2.2.1) + memoist (0.16.2) + mini_magick (4.10.1) + mini_mime (1.0.2) + multi_json (1.15.0) + multipart-post (2.0.0) + nanaimo (0.3.0) + naturally (2.2.0) + os (1.1.0) + plist (3.5.0) + public_suffix (4.0.5) + rake (13.0.1) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rouge (2.0.7) + rubyzip (2.3.0) + security (0.1.3) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.8) + CFPropertyList + naturally + slack-notifier (2.3.2) + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + word_wrap (1.0.0) + xcodeproj (1.17.1) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.0) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + +DEPENDENCIES + fastlane + xcodeproj + +BUNDLED WITH + 2.1.4 diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 973c2c3..d280f5a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -1,5 +1,30 @@ default_platform :ios +lane :prepare do + cocoapods + carthage(cache_builds: true, platform: "iOS") + sh "./gopenpgp_build.sh" +end + +lane :reset_build_number do + increment_build_number( + build_number: 0, + xcodeproj: "pass.xcodeproj" + ) +end + +lane :match_development do + app_identifier = "me.mssun.passforios" + match( + type: "development", + app_identifier: [app_identifier, + "#{app_identifier}.find-login-action-extension", + "#{app_identifier}.auto-fill-credential-extension", + "#{app_identifier}.shortcuts"], + readonly: true + ) +end + platform :ios do desc "Runs all tests" lane :test do @@ -9,53 +34,94 @@ platform :ios do desc "Submit a new Beta Build to Apple TestFlight" desc "This will also make sure the profile is up to date" lane :beta do + app_identifier = "me.mssun.passforiosbeta" + create_keychain( name: ENV["MATCH_KEYCHAIN_NAME"], password: ENV["MATCH_KEYCHAIN_PASSWORD"], - default_keychain: true, + default_keychain: false, unlock: true, timeout: 3600, add_to_search_list: true ) match( type: "appstore", - app_identifier: "me.mssun.passforios", - keychain_name: ENV["MATCH_KEYCHAIN_NAME"], - keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"], - readonly: true - ) - match( - type: "appstore", - app_identifier: "me.mssun.passforios.find-login-action-extension", - keychain_name: ENV["MATCH_KEYCHAIN_NAME"], - keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"], - readonly: true - ) - match( - type: "appstore", - app_identifier: "me.mssun.passforios.auto-fill-credential-extension", - keychain_name: ENV["MATCH_KEYCHAIN_NAME"], - keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"], - readonly: true - ) - match( - type: "appstore", - app_identifier: "me.mssun.passforios.shortcuts", + app_identifier: [app_identifier, + "#{app_identifier}.find-login-action-extension", + "#{app_identifier}.auto-fill-credential-extension", + "#{app_identifier}.shortcuts"], keychain_name: ENV["MATCH_KEYCHAIN_NAME"], keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"], readonly: true ) increment_build_number( - build_number: latest_testflight_build_number(version: get_version_number(target: "pass"), initial_build_number: 0) + 1, + build_number: latest_testflight_build_number( + version: get_version_number(target: "pass"), + app_identifier: app_identifier, + initial_build_number: 0 + ) + 1, xcodeproj: "pass.xcodeproj" ) build_app( scheme: "pass", + configuration: "Beta", verbose: true ) upload_to_testflight( + app_identifier: app_identifier, skip_waiting_for_build_processing: true ) + if ENV['CI'] == "true" + notify_dev + end + end + + desc "Submit a new build to AppStore" + lane :release do + app_identifier = "me.mssun.passforios" + + create_keychain( + name: ENV["MATCH_KEYCHAIN_NAME"], + password: ENV["MATCH_KEYCHAIN_PASSWORD"], + default_keychain: false, + unlock: true, + timeout: 3600, + add_to_search_list: true + ) + match( + type: "appstore", + app_identifier: [app_identifier, + "#{app_identifier}.find-login-action-extension", + "#{app_identifier}.auto-fill-credential-extension", + "#{app_identifier}.shortcuts"], + keychain_name: ENV["MATCH_KEYCHAIN_NAME"], + keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"], + readonly: true + ) + increment_build_number( + build_number: latest_testflight_build_number( + version: get_version_number(target: "pass"), + app_identifier: app_identifier, + initial_build_number: 0 + ) + 1, + xcodeproj: "pass.xcodeproj" + ) + build_app( + scheme: "pass", + configuration: "Release", + verbose: true + ) + upload_to_testflight( + app_identifier: app_identifier, + skip_waiting_for_build_processing: true + ) + if ENV['CI'] == "true" + notify_dev + end + end + + desc 'Notify developers' + lane :notify_dev do mailgun( postmaster: ENV["MY_POSTMASTER"], apikey: ENV["MY_API_KEY"], diff --git a/fastlane/Matchfile b/fastlane/Matchfile index 249baae..b08862c 100644 --- a/fastlane/Matchfile +++ b/fastlane/Matchfile @@ -1,2 +1,2 @@ -git_url "https://github.com/mssun/certificates-passforios.git" +git_url "git@github.com:mssun/certificates-passforios.git" type "development" diff --git a/icon/icon.sketch b/icon/icon.sketch index e34a81c..d2d0136 100644 Binary files a/icon/icon.sketch and b/icon/icon.sketch differ diff --git a/pass.xcodeproj/project.pbxproj b/pass.xcodeproj/project.pbxproj index f687fcd..3f2be65 100644 --- a/pass.xcodeproj/project.pbxproj +++ b/pass.xcodeproj/project.pbxproj @@ -61,7 +61,7 @@ 30A1D2AA21B32A0100E2D1F7 /* OTPTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2A921B32A0100E2D1F7 /* OTPTypeTest.swift */; }; 30A1D2AC21B32C2A00E2D1F7 /* TokenBuilderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A1D2AB21B32C2A00E2D1F7 /* TokenBuilderTest.swift */; }; 30A69948240EED5E00B7D967 /* IntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A69947240EED5E00B7D967 /* IntentHandler.swift */; }; - 30A6995D240EED5F00B7D967 /* PassShortcuts.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 30A69945240EED5E00B7D967 /* PassShortcuts.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 30A6995D240EED5F00B7D967 /* passShortcuts.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 30A69945240EED5E00B7D967 /* passShortcuts.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 30A86F95230F237000F821A4 /* CryptoFrameworkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30A86F94230F237000F821A4 /* CryptoFrameworkTest.swift */; }; 30B04860209A5141001013CA /* PasswordTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B0485F209A5141001013CA /* PasswordTest.swift */; }; 30B4C7BA24084AAA008B86F7 /* PasswordGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B4C7B924084AAA008B86F7 /* PasswordGenerator.swift */; }; @@ -250,7 +250,7 @@ dstSubfolderSpec = 13; files = ( A267002E1EEC466A00176B8A /* passExtension.appex in Embed App Extensions */, - 30A6995D240EED5F00B7D967 /* PassShortcuts.appex in Embed App Extensions */, + 30A6995D240EED5F00B7D967 /* passShortcuts.appex in Embed App Extensions */, A239F5A12158C08C00576CBF /* passAutoFillExtension.appex in Embed App Extensions */, ); name = "Embed App Extensions"; @@ -313,7 +313,7 @@ 30A1D2A721B2D53200E2D1F7 /* PasswordChange.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordChange.swift; sourceTree = ""; }; 30A1D2A921B32A0100E2D1F7 /* OTPTypeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTPTypeTest.swift; sourceTree = ""; }; 30A1D2AB21B32C2A00E2D1F7 /* TokenBuilderTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TokenBuilderTest.swift; sourceTree = ""; }; - 30A69945240EED5E00B7D967 /* PassShortcuts.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = PassShortcuts.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 30A69945240EED5E00B7D967 /* passShortcuts.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = passShortcuts.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 30A69947240EED5E00B7D967 /* IntentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentHandler.swift; sourceTree = ""; }; 30A69949240EED5E00B7D967 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 30A6994F240EED5F00B7D967 /* IntentsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IntentsUI.framework; path = System/Library/Frameworks/IntentsUI.framework; sourceTree = SDKROOT; }; @@ -345,9 +345,15 @@ 30EE3A1B241E98C6009FBB61 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Intents.strings; sourceTree = ""; }; 30FD2F77214D9E0E005E0A92 /* ParserTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParserTest.swift; sourceTree = ""; }; 3B2B2F844061EFA534FE9506 /* Pods_passKitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_passKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5B58C21A769D3A659BC3E706 /* Pods-passKitTests.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passKitTests.beta.xcconfig"; path = "Pods/Target Support Files/Pods-passKitTests/Pods-passKitTests.beta.xcconfig"; sourceTree = ""; }; + 60A3BC2FD124753767086BCC /* Pods-pass.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-pass.beta.xcconfig"; path = "Pods/Target Support Files/Pods-pass/Pods-pass.beta.xcconfig"; sourceTree = ""; }; 62DEE9943E0F2B8C79E3FC5B /* Pods-passExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passExtension.release.xcconfig"; path = "Pods/Target Support Files/Pods-passExtension/Pods-passExtension.release.xcconfig"; sourceTree = ""; }; 64AA8DF9E73F39CCC3317247 /* Pods-passKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passKit.release.xcconfig"; path = "Pods/Target Support Files/Pods-passKit/Pods-passKit.release.xcconfig"; sourceTree = ""; }; 7CAD21E487234A0631B52E20 /* Pods-passKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passKit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-passKit/Pods-passKit.debug.xcconfig"; sourceTree = ""; }; + 9A1EF0B324C50DD80074FEAC /* passBeta.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = passBeta.entitlements; sourceTree = ""; }; + 9A1EF0B424C50E780074FEAC /* passBetaAutoFillExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = passBetaAutoFillExtension.entitlements; sourceTree = ""; }; + 9A1EF0B524C50EE00074FEAC /* passBetaExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = passBetaExtension.entitlements; sourceTree = ""; }; + 9A1EF0B624C50FEA0074FEAC /* passBetaShortcuts.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = passBetaShortcuts.entitlements; sourceTree = ""; }; 9A652413244BB33300DA0A41 /* UIAlertActionExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIAlertActionExtension.swift; sourceTree = ""; }; 9AA710C923939C68009E3213 /* GitCredentialPassword.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GitCredentialPassword.swift; sourceTree = ""; }; 9ADC954024418A5F0005402E /* PasswordStoreTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordStoreTest.swift; sourceTree = ""; }; @@ -383,6 +389,8 @@ A2AA934322DE30DD00D79A00 /* PGPAgent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PGPAgent.swift; sourceTree = ""; }; A2AA934522DE3A8000D79A00 /* PGPAgentTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PGPAgentTest.swift; sourceTree = ""; }; A2BC54C71EEE5669001FAFBD /* Objective-CBridgingHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Objective-CBridgingHeader.h"; sourceTree = ""; }; + B85DE0C3FF07C938FF1B24D2 /* Pods-passKit.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passKit.beta.xcconfig"; path = "Pods/Target Support Files/Pods-passKit/Pods-passKit.beta.xcconfig"; sourceTree = ""; }; + C4C702DBCBA2374D32295603 /* Pods-passExtension.beta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-passExtension.beta.xcconfig"; path = "Pods/Target Support Files/Pods-passExtension/Pods-passExtension.beta.xcconfig"; sourceTree = ""; }; DC037CA51E4B883900609409 /* OpenSourceComponentsTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenSourceComponentsTableViewController.swift; sourceTree = ""; }; DC037CA71E4B898100609409 /* BasicStaticTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasicStaticTableViewController.swift; sourceTree = ""; }; DC037CA91E4B8EAE00609409 /* SpecialThanksTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpecialThanksTableViewController.swift; sourceTree = ""; }; @@ -406,7 +414,7 @@ DC5734AD1E439AD400D09270 /* PasswordsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PasswordsViewController.swift; sourceTree = ""; }; DC5F385A1E56AADB00C69ACA /* PGPKeyArmorImportTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PGPKeyArmorImportTableViewController.swift; sourceTree = ""; }; DC8963BF1E38EEB900828B09 /* SSHKeyUrlImportTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SSHKeyUrlImportTableViewController.swift; sourceTree = ""; }; - DC917BD31E2E8231000FDF54 /* pass.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = pass.app; sourceTree = BUILT_PRODUCTS_DIR; }; + DC917BD31E2E8231000FDF54 /* Pass.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Pass.app; sourceTree = BUILT_PRODUCTS_DIR; }; DC917BD61E2E8231000FDF54 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; DC917BDB1E2E8231000FDF54 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; DC917BDD1E2E8231000FDF54 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -529,6 +537,10 @@ 62DEE9943E0F2B8C79E3FC5B /* Pods-passExtension.release.xcconfig */, E8BA4183727AD2AF5E4CFF76 /* Pods-passKitTests.debug.xcconfig */, EFFF4527C3A296B53A10D7F7 /* Pods-passKitTests.release.xcconfig */, + 60A3BC2FD124753767086BCC /* Pods-pass.beta.xcconfig */, + C4C702DBCBA2374D32295603 /* Pods-passExtension.beta.xcconfig */, + B85DE0C3FF07C938FF1B24D2 /* Pods-passKit.beta.xcconfig */, + 5B58C21A769D3A659BC3E706 /* Pods-passKitTests.beta.xcconfig */, ); name = Pods; sourceTree = ""; @@ -557,6 +569,7 @@ 30A69947240EED5E00B7D967 /* IntentHandler.swift */, 30A69968240EF52E00B7D967 /* SyncRepositoryIntentHandler.swift */, 304E212C241AD0EB0047FB51 /* passShortcuts.entitlements */, + 9A1EF0B624C50FEA0074FEAC /* passBetaShortcuts.entitlements */, 30A69949240EED5E00B7D967 /* Info.plist */, ); path = passShortcuts; @@ -673,6 +686,7 @@ children = ( A239F5A921591E3700576CBF /* Controllers */, A239F59E2158C08C00576CBF /* passAutoFillExtension.entitlements */, + 9A1EF0B424C50E780074FEAC /* passBetaAutoFillExtension.entitlements */, A239F59A2158C08C00576CBF /* MainInterface.storyboard */, A239F59D2158C08C00576CBF /* Info.plist */, ); @@ -691,7 +705,6 @@ A26075791EEC6F34005DB03E /* passKit */ = { isa = PBXGroup; children = ( - 30CCA90C232584560048CA51 /* Crypto */, A2C532B9201DD07500DB9F53 /* Controllers */, 30B6AABA21F49095006B352D /* Extensions */, A2F4E20F1EED7F0A0011986E /* Helpers */, @@ -727,9 +740,11 @@ children = ( A2168A801EFD431A005EA873 /* Controllers */, A2168A811EFD4322005EA873 /* Helpers */, + 30CCA90C232584560048CA51 /* Crypto */, A2367B9F1EF0387000C8FE8B /* Assets.xcassets */, A26700351EEC475600176B8A /* passProcessor.js */, A26700331EEC46C900176B8A /* passExtension.entitlements */, + 9A1EF0B524C50EE00074FEAC /* passBetaExtension.entitlements */, A26700281EEC466A00176B8A /* MainInterface.storyboard */, A267002B1EEC466A00176B8A /* Info.plist */, ); @@ -875,13 +890,13 @@ DC917BD41E2E8231000FDF54 /* Products */ = { isa = PBXGroup; children = ( - DC917BD31E2E8231000FDF54 /* pass.app */, + DC917BD31E2E8231000FDF54 /* Pass.app */, DC13B14E1E8640810097803F /* passTests.xctest */, A26700241EEC466A00176B8A /* passExtension.appex */, A26075781EEC6F34005DB03E /* passKit.framework */, A26075801EEC6F34005DB03E /* passKitTests.xctest */, A239F5952158C08B00576CBF /* passAutoFillExtension.appex */, - 30A69945240EED5E00B7D967 /* PassShortcuts.appex */, + 30A69945240EED5E00B7D967 /* passShortcuts.appex */, ); name = Products; sourceTree = ""; @@ -895,6 +910,7 @@ DC917BDD1E2E8231000FDF54 /* Assets.xcassets */, DC917BD61E2E8231000FDF54 /* AppDelegate.swift */, A26700321EEC46C400176B8A /* pass.entitlements */, + 9A1EF0B324C50DD80074FEAC /* passBeta.entitlements */, DC917BDF1E2E8231000FDF54 /* LaunchScreen.storyboard */, DC917BDA1E2E8231000FDF54 /* Main.storyboard */, 30C25DBF21F3599E00BB27BB /* InfoPlist.strings */, @@ -956,7 +972,7 @@ ); name = passShortcuts; productName = passShortcuts; - productReference = 30A69945240EED5E00B7D967 /* PassShortcuts.appex */; + productReference = 30A69945240EED5E00B7D967 /* passShortcuts.appex */; productType = "com.apple.product-type.app-extension"; }; A239F5942158C08B00576CBF /* passAutoFillExtension */ = { @@ -1075,7 +1091,7 @@ ); name = pass; productName = pass; - productReference = DC917BD31E2E8231000FDF54 /* pass.app */; + productReference = DC917BD31E2E8231000FDF54 /* Pass.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -1715,7 +1731,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforios.shortcuts; - PRODUCT_NAME = PassShortcuts; + PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development me.mssun.passforios.shortcuts"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1742,7 +1758,7 @@ MARKETING_VERSION = 0.10.0; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforios.shortcuts; - PRODUCT_NAME = PassShortcuts; + PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforios.shortcuts"; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; @@ -1750,6 +1766,276 @@ }; name = Release; }; + 9A1EF0AB24C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE = NO; + ENABLE_BITCODE = NO; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_ON_DEMAND_RESOURCES = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/iOS"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(SDKROOT)/usr/include/libxml2", + "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", + ); + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforiosbeta; + PRODUCT_NAME = "Pass Beta"; + SDKROOT = iphoneos; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + VALIDATE_PRODUCT = YES; + }; + name = Beta; + }; + 9A1EF0AC24C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 60A3BC2FD124753767086BCC /* Pods-pass.beta.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIconBeta; + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; + CODE_SIGN_ENTITLEMENTS = pass/passBeta.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CURRENT_PROJECT_VERSION = 0; + DEFINES_MODULE = NO; + DEVELOPMENT_TEAM = 4WDM8E95VU; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/go/dist", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = pass/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 0.10.0; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "${inherited}"; + PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; + PROVISIONING_PROFILE = "ee6e841d-ef77-4f00-b534-d7f1fd25dc1d"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforiosbeta"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_OBJC_BRIDGING_HEADER = "pass/Helpers/Objective-CBridgingHeader.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Beta; + }; + 9A1EF0AD24C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + DEVELOPMENT_TEAM = 4WDM8E95VU; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = passTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).passTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; + }; + name = Beta; + }; + 9A1EF0AE24C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C4C702DBCBA2374D32295603 /* Pods-passExtension.beta.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = passExtension/passBetaExtension.entitlements; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + DEVELOPMENT_TEAM = 4WDM8E95VU; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = passExtension/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 0.10.0; + OTHER_CFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).find-login-action-extension"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = "cbd86628-6f3e-40f3-b518-20d2330db545"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforiosbeta.find-login-action-extension"; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Beta; + }; + 9A1EF0AF24C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B85DE0C3FF07C938FF1B24D2 /* Pods-passKit.beta.xcconfig */; + buildSettings = { + APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 0; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 0; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/go/dist", + ); + HEADER_SEARCH_PATHS = "$(inherited)"; + INFOPLIST_FILE = passKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + MARKETING_VERSION = 0.10.0; + MODULEMAP_FILE = ""; + OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = "$(inherited)"; + PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).passKit"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_INCLUDE_PATHS = ""; + SWIFT_OBJC_BRIDGING_HEADER = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Beta; + }; + 9A1EF0B024C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5B58C21A769D3A659BC3E706 /* Pods-passKitTests.beta.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/Carthage/Build/iOS/ObjectiveGit.framework/Headers/", + ); + INFOPLIST_FILE = passKitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 10.3; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER).passKitTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; + }; + name = Beta; + }; + 9A1EF0B124C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = passAutoFillExtension/passBetaAutoFillExtension.entitlements; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 4WDM8E95VU; + ENABLE_BITCODE = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = passAutoFillExtension/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + MARKETING_VERSION = 0.10.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "me.mssun.passforiosbeta.auto-fill-credential-extension"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforiosbeta.auto-fill-credential-extension"; + SKIP_INSTALL = YES; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Beta; + }; + 9A1EF0B224C4EB280074FEAC /* Beta */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = passShortcuts/passBetaShortcuts.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 4WDM8E95VU; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = passShortcuts/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + MARKETING_VERSION = 0.10.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforiosbeta.shortcuts; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforiosbeta.shortcuts"; + SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Beta; + }; A239F5A32158C08C00576CBF /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1816,11 +2102,11 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = 0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -1861,11 +2147,11 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 0; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; + DYLIB_CURRENT_VERSION = 0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -1901,6 +2187,7 @@ baseConfigurationReference = E8BA4183727AD2AF5E4CFF76 /* Pods-passKitTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -1913,7 +2200,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/pass.app/pass"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; }; name = Debug; }; @@ -1922,6 +2209,7 @@ baseConfigurationReference = EFFF4527C3A296B53A10D7F7 /* Pods-passKitTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; HEADER_SEARCH_PATHS = ( "$(inherited)", @@ -1934,7 +2222,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/pass.app/pass"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; }; name = Release; }; @@ -2013,7 +2301,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/pass.app/pass"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; }; name = Debug; }; @@ -2032,7 +2320,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/pass.app/pass"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pass.app/Pass"; }; name = Release; }; @@ -2097,6 +2385,7 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforios; + PRODUCT_NAME = Pass; SDKROOT = iphoneos; STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; @@ -2159,6 +2448,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 10.2; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = me.mssun.passforios; + PRODUCT_NAME = Pass; SDKROOT = iphoneos; STRIP_INSTALLED_PRODUCT = NO; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -2177,7 +2467,7 @@ CODE_SIGN_ENTITLEMENTS = pass/pass.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 0; DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 4WDM8E95VU; ENABLE_BITCODE = NO; @@ -2194,7 +2484,6 @@ OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "${inherited}"; PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "3c4f599a-ce77-4184-b4c4-edebf09cba3b"; PROVISIONING_PROFILE_SPECIFIER = "match Development me.mssun.passforios"; STRIP_INSTALLED_PRODUCT = NO; @@ -2215,7 +2504,7 @@ CODE_SIGN_ENTITLEMENTS = pass/pass.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - CURRENT_PROJECT_VERSION = 2; + CURRENT_PROJECT_VERSION = 0; DEFINES_MODULE = NO; DEVELOPMENT_TEAM = 4WDM8E95VU; ENABLE_BITCODE = NO; @@ -2232,7 +2521,6 @@ OTHER_CFLAGS = "$(inherited)"; OTHER_LDFLAGS = "${inherited}"; PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; - PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = "ee6e841d-ef77-4f00-b534-d7f1fd25dc1d"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore me.mssun.passforios"; STRIP_INSTALLED_PRODUCT = NO; @@ -2251,6 +2539,7 @@ buildConfigurations = ( 30A6995E240EED5F00B7D967 /* Debug */, 30A6995F240EED5F00B7D967 /* Release */, + 9A1EF0B224C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2260,6 +2549,7 @@ buildConfigurations = ( A239F5A32158C08C00576CBF /* Debug */, A239F5A42158C08C00576CBF /* Release */, + 9A1EF0B124C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2269,6 +2559,7 @@ buildConfigurations = ( A26075901EEC6F34005DB03E /* Debug */, A26075911EEC6F34005DB03E /* Release */, + 9A1EF0AF24C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2278,6 +2569,7 @@ buildConfigurations = ( A26075941EEC6F34005DB03E /* Debug */, A26075951EEC6F34005DB03E /* Release */, + 9A1EF0B024C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2287,6 +2579,7 @@ buildConfigurations = ( A26700301EEC466A00176B8A /* Debug */, A26700311EEC466A00176B8A /* Release */, + 9A1EF0AE24C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2296,6 +2589,7 @@ buildConfigurations = ( DC13B1551E8640810097803F /* Debug */, DC13B1561E8640810097803F /* Release */, + 9A1EF0AD24C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2305,6 +2599,7 @@ buildConfigurations = ( DC917BE31E2E8231000FDF54 /* Debug */, DC917BE41E2E8231000FDF54 /* Release */, + 9A1EF0AB24C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -2314,6 +2609,7 @@ buildConfigurations = ( DC917BE61E2E8231000FDF54 /* Debug */, DC917BE71E2E8231000FDF54 /* Release */, + 9A1EF0AC24C4EB280074FEAC /* Beta */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/pass.xcodeproj/xcshareddata/xcschemes/pass.xcscheme b/pass.xcodeproj/xcshareddata/xcschemes/pass.xcscheme index ec4bc14..c21f6bb 100644 --- a/pass.xcodeproj/xcshareddata/xcschemes/pass.xcscheme +++ b/pass.xcodeproj/xcshareddata/xcschemes/pass.xcscheme @@ -15,7 +15,7 @@ @@ -32,7 +32,7 @@ @@ -75,7 +75,7 @@ @@ -92,7 +92,7 @@ diff --git a/pass/Assets.xcassets/AppIcon.appiconset/Contents.json b/pass/Assets.xcassets/AppIcon.appiconset/Contents.json index 17a5f8a..ffe3703 100644 --- a/pass/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/pass/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,239 +1,242 @@ { "images" : [ { - "size" : "20x20", - "idiom" : "iphone", "filename" : "Icon-20@2x-1.png", - "scale" : "2x" - }, - { - "size" : "20x20", "idiom" : "iphone", - "filename" : "Icon-20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-30.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-29@2x-1.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-40@2x-1.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-40@3x.png", - "scale" : "3x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "Icon-57.png", - "scale" : "1x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "Icon-57@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-20.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-40@2x-2.png", - "scale" : "2x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "Icon-50.png", - "scale" : "1x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "Icon-50@2x.png", - "scale" : "2x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "Icon-72.png", - "scale" : "1x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "Icon-72@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-Store-iOS-1024@1x.png", - "scale" : "1x" - }, - { - "size" : "24x24", - "idiom" : "watch", - "filename" : "Icon-24@2x.png", "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-20@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "Icon-30.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@2x-1.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-40@2x-1.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-40@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "Icon-57.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "filename" : "Icon-57@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "Icon-60@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "Icon-60@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "Icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "Icon-20@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "Icon-40@2x-2.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-50.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "filename" : "Icon-50@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "filename" : "Icon-72.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "filename" : "Icon-72@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "filename" : "Icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "Icon-76@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "Icon-App-Store-iOS-1024@1x.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "Icon-24@2x.png", + "idiom" : "watch", "role" : "notificationCenter", + "scale" : "2x", + "size" : "24x24", "subtype" : "38mm" }, { - "size" : "27.5x27.5", - "idiom" : "watch", "filename" : "Icon-27.5@2x.png", - "scale" : "2x", + "idiom" : "watch", "role" : "notificationCenter", + "scale" : "2x", + "size" : "27.5x27.5", "subtype" : "42mm" }, { - "size" : "29x29", - "idiom" : "watch", "filename" : "Icon-29@2x-2.png", - "role" : "companionSettings", - "scale" : "2x" - }, - { - "size" : "29x29", "idiom" : "watch", - "filename" : "Icon-29@3x-1.png", "role" : "companionSettings", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "watch", - "filename" : "Icon-40@2x.png", "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@3x-1.png", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-40@2x.png", + "idiom" : "watch", "role" : "appLauncher", + "scale" : "2x", + "size" : "40x40", "subtype" : "38mm" }, { - "size" : "44x44", + "filename" : "Icon-44@2x.png", "idiom" : "watch", - "scale" : "2x", "role" : "appLauncher", + "scale" : "2x", + "size" : "44x44", "subtype" : "40mm" }, { - "size" : "50x50", + "filename" : "Icon-50@2x-1.png", "idiom" : "watch", - "scale" : "2x", "role" : "appLauncher", + "scale" : "2x", + "size" : "50x50", "subtype" : "44mm" }, { - "size" : "86x86", - "idiom" : "watch", "filename" : "Icon-86@2x.png", - "scale" : "2x", + "idiom" : "watch", "role" : "quickLook", + "scale" : "2x", + "size" : "86x86", "subtype" : "38mm" }, { - "size" : "98x98", - "idiom" : "watch", "filename" : "Icon-98@2x.png", - "scale" : "2x", + "idiom" : "watch", "role" : "quickLook", + "scale" : "2x", + "size" : "98x98", "subtype" : "42mm" }, { - "size" : "108x108", + "filename" : "Icon-108@2x.png", "idiom" : "watch", - "scale" : "2x", "role" : "quickLook", + "scale" : "2x", + "size" : "108x108", "subtype" : "44mm" }, { - "size" : "1024x1024", - "idiom" : "watch-marketing", "filename" : "Icon-Apple-Watch-App-Store-1024@1x.png", - "scale" : "1x" + "idiom" : "watch-marketing", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/pass/Assets.xcassets/AppIcon.appiconset/Icon-108@2x.png b/pass/Assets.xcassets/AppIcon.appiconset/Icon-108@2x.png new file mode 100644 index 0000000..e74050a Binary files /dev/null and b/pass/Assets.xcassets/AppIcon.appiconset/Icon-108@2x.png differ diff --git a/pass/Assets.xcassets/AppIcon.appiconset/Icon-44@2x.png b/pass/Assets.xcassets/AppIcon.appiconset/Icon-44@2x.png new file mode 100644 index 0000000..5e1a75f Binary files /dev/null and b/pass/Assets.xcassets/AppIcon.appiconset/Icon-44@2x.png differ diff --git a/pass/Assets.xcassets/AppIcon.appiconset/Icon-50@2x-1.png b/pass/Assets.xcassets/AppIcon.appiconset/Icon-50@2x-1.png new file mode 100644 index 0000000..df4300c Binary files /dev/null and b/pass/Assets.xcassets/AppIcon.appiconset/Icon-50@2x-1.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Contents.json b/pass/Assets.xcassets/AppIconBeta.appiconset/Contents.json new file mode 100644 index 0000000..1d7a57c --- /dev/null +++ b/pass/Assets.xcassets/AppIconBeta.appiconset/Contents.json @@ -0,0 +1,200 @@ +{ + "images" : [ + { + "filename" : "Icon-20@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-20@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "Icon-29@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-40@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-40@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "Icon-60@2x.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "Icon-60@3x.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "Icon-20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "Icon-20@2x-1.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "Icon-29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@2x-1.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "Icon-40@2x-1.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "Icon-76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "Icon-76@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "Icon-1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "Icon-24@2x.png", + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "24x24", + "subtype" : "38mm" + }, + { + "filename" : "Icon-27.5@2x.png", + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "27.5x27.5", + "subtype" : "42mm" + }, + { + "filename" : "Icon-29@2x-2.png", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "Icon-29@3x-1.png", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "Icon-40@2x-2.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "40x40", + "subtype" : "38mm" + }, + { + "filename" : "Icon-44@2x.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "44x44", + "subtype" : "40mm" + }, + { + "filename" : "Icon-50@2x.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "50x50", + "subtype" : "44mm" + }, + { + "filename" : "Icon-86@2x.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "86x86", + "subtype" : "38mm" + }, + { + "filename" : "Icon-98@2x.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "98x98", + "subtype" : "42mm" + }, + { + "filename" : "Icon-108@2x.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "108x108", + "subtype" : "44mm" + }, + { + "filename" : "Icon-1025.png", + "idiom" : "watch-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1024.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1024.png new file mode 100644 index 0000000..a3282e9 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1024.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1025.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1025.png new file mode 100644 index 0000000..a3282e9 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-1025.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-108@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-108@2x.png new file mode 100644 index 0000000..e51e412 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-108@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20.png new file mode 100644 index 0000000..db84c58 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x-1.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x-1.png new file mode 100644 index 0000000..c6c6a01 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x-1.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x.png new file mode 100644 index 0000000..c6c6a01 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@3x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@3x.png new file mode 100644 index 0000000..ccd524d Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-20@3x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-24@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-24@2x.png new file mode 100644 index 0000000..a809540 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-24@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-27.5@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-27.5@2x.png new file mode 100644 index 0000000..91da5a4 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-27.5@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29.png new file mode 100644 index 0000000..2e954e4 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-1.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-1.png new file mode 100644 index 0000000..4c04df3 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-1.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-2.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-2.png new file mode 100644 index 0000000..4c04df3 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x-2.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x.png new file mode 100644 index 0000000..4c04df3 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x-1.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x-1.png new file mode 100644 index 0000000..4cd5542 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x-1.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x.png new file mode 100644 index 0000000..4cd5542 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-29@3x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40.png new file mode 100644 index 0000000..6bc3087 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-1.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-1.png new file mode 100644 index 0000000..b315269 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-1.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-2.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-2.png new file mode 100644 index 0000000..b315269 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x-2.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x.png new file mode 100644 index 0000000..b315269 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@3x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@3x.png new file mode 100644 index 0000000..2ee53f5 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-40@3x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-44@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-44@2x.png new file mode 100644 index 0000000..10033f5 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-44@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-50@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-50@2x.png new file mode 100644 index 0000000..f7286fe Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-50@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@2x.png new file mode 100644 index 0000000..17797e0 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@3x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@3x.png new file mode 100644 index 0000000..c770268 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-60@3x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76.png new file mode 100644 index 0000000..983be70 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76@2x.png new file mode 100644 index 0000000..e673de1 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-76@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-83.5@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-83.5@2x.png new file mode 100644 index 0000000..3f3bee2 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-83.5@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-86@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-86@2x.png new file mode 100644 index 0000000..2e45d66 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-86@2x.png differ diff --git a/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-98@2x.png b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-98@2x.png new file mode 100644 index 0000000..4ba05c2 Binary files /dev/null and b/pass/Assets.xcassets/AppIconBeta.appiconset/Icon-98@2x.png differ diff --git a/pass/Info.plist b/pass/Info.plist index e031099..7faefec 100644 --- a/pass/Info.plist +++ b/pass/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - Pass + $(PRODUCT_NAME) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -28,7 +28,7 @@ CFBundleVersion - 1 + 0 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/pass/passBeta.entitlements b/pass/passBeta.entitlements new file mode 100644 index 0000000..5e2efc7 --- /dev/null +++ b/pass/passBeta.entitlements @@ -0,0 +1,18 @@ + + + + + com.apple.developer.authentication-services.autofill-credential-provider + + com.apple.developer.siri + + com.apple.security.application-groups + + group.me.mssun.passforiosbeta + + keychain-access-groups + + $(AppIdentifierPrefix)group.me.mssun.passforiosbeta + + + diff --git a/passAutoFillExtension/Info.plist b/passAutoFillExtension/Info.plist index e011a54..08c1087 100644 --- a/passAutoFillExtension/Info.plist +++ b/passAutoFillExtension/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - Pass + $(PRODUCT_NAME) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 1 + 0 NSExtension NSExtensionMainStoryboard diff --git a/passAutoFillExtension/passBetaAutoFillExtension.entitlements b/passAutoFillExtension/passBetaAutoFillExtension.entitlements new file mode 100644 index 0000000..272d9c8 --- /dev/null +++ b/passAutoFillExtension/passBetaAutoFillExtension.entitlements @@ -0,0 +1,16 @@ + + + + + com.apple.developer.authentication-services.autofill-credential-provider + + com.apple.security.application-groups + + group.me.mssun.passforiosbeta + + keychain-access-groups + + $(AppIdentifierPrefix)group.me.mssun.passforiosbeta + + + diff --git a/passKit/Crypto/GopenPGPInterface.swift b/passExtension/Crypto/GopenPGPInterface.swift similarity index 100% rename from passKit/Crypto/GopenPGPInterface.swift rename to passExtension/Crypto/GopenPGPInterface.swift diff --git a/passKit/Crypto/ObjectivePGPInterface.swift b/passExtension/Crypto/ObjectivePGPInterface.swift similarity index 100% rename from passKit/Crypto/ObjectivePGPInterface.swift rename to passExtension/Crypto/ObjectivePGPInterface.swift diff --git a/passKit/Crypto/PGPAgent.swift b/passExtension/Crypto/PGPAgent.swift similarity index 100% rename from passKit/Crypto/PGPAgent.swift rename to passExtension/Crypto/PGPAgent.swift diff --git a/passKit/Crypto/PGPInterface.swift b/passExtension/Crypto/PGPInterface.swift similarity index 100% rename from passKit/Crypto/PGPInterface.swift rename to passExtension/Crypto/PGPInterface.swift diff --git a/passExtension/Info.plist b/passExtension/Info.plist index 690c6d0..d4edf02 100644 --- a/passExtension/Info.plist +++ b/passExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 1 + 0 NSExtension NSExtensionAttributes diff --git a/passExtension/passBetaExtension.entitlements b/passExtension/passBetaExtension.entitlements new file mode 100644 index 0000000..9bcfd12 --- /dev/null +++ b/passExtension/passBetaExtension.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.application-groups + + group.me.mssun.passforiosbeta + + keychain-access-groups + + $(AppIdentifierPrefix)group.me.mssun.passforiosbeta + + + diff --git a/passKit/Helpers/Globals.swift b/passKit/Helpers/Globals.swift index 84cf4e6..3a92c23 100644 --- a/passKit/Helpers/Globals.swift +++ b/passKit/Helpers/Globals.swift @@ -10,7 +10,7 @@ import Foundation import UIKit public final class Globals { - public static let bundleIdentifier = "me.mssun.passforios" + public static let bundleIdentifier = Bundle.main.bundleIdentifier ?? "me.mssun.passforios" public static let groupIdentifier = "group." + bundleIdentifier public static let passKitBundleIdentifier = bundleIdentifier + ".passKit" diff --git a/passKit/Info.plist b/passKit/Info.plist index c2cfbfb..00cd2a5 100644 --- a/passKit/Info.plist +++ b/passKit/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - PassKit + $(PRODUCT_NAME) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 0 NSPrincipalClass diff --git a/passKitTests/Info.plist b/passKitTests/Info.plist index 6c6c23c..bac7bb4 100644 --- a/passKitTests/Info.plist +++ b/passKitTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.0 CFBundleVersion - 1 + 0 diff --git a/passShortcuts/Info.plist b/passShortcuts/Info.plist index 02982b5..beff16c 100644 --- a/passShortcuts/Info.plist +++ b/passShortcuts/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 1 + 0 NSExtension NSExtensionAttributes diff --git a/passShortcuts/passBetaShortcuts.entitlements b/passShortcuts/passBetaShortcuts.entitlements new file mode 100644 index 0000000..9bcfd12 --- /dev/null +++ b/passShortcuts/passBetaShortcuts.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.application-groups + + group.me.mssun.passforiosbeta + + keychain-access-groups + + $(AppIdentifierPrefix)group.me.mssun.passforiosbeta + + + diff --git a/passTests/Info.plist b/passTests/Info.plist index 2b23286..bac7bb4 100644 --- a/passTests/Info.plist +++ b/passTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.0 CFBundleVersion - 2 + 0