diff --git a/.gitignore b/.gitignore index 4ab29506a..da6478527 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,10 @@ ## User settings xcuserdata/ +.env +master.key + + ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) *.xcscmblueprint *.xccheckout diff --git a/14th-team5-iOS/App/Project.swift b/14th-team5-iOS/App/Project.swift index a6502d0ac..8aabad546 100644 --- a/14th-team5-iOS/App/Project.swift +++ b/14th-team5-iOS/App/Project.swift @@ -15,10 +15,11 @@ private let targets: [Target] = [ products: .app, dependencies: ModuleLayer.App.dependencies, bundleId: "com.5ing.bibbi", - infoPlist: .extendingDefault(with: [ - "CFBundleVersion": .string("1"), + infoPlist: .extendingDefault(with: [ "CFBundleDisplayName": .string("Bibbi"), + "CFBundleVersion": .string("1"), "CFBuildVersion": .string("0"), + "CFBundleShortVersionString": .string("1.0.1"), "UILaunchStoryboardName": .string("Launch Screen"), "UISupportedInterfaceOrientations": .array([.string("UIInterfaceOrientationPortrait")]), "UIUserInterfaceStyle": .string("Light"), diff --git a/pippi.xcworkspace/.tuist-generated b/Derived/.fl25C0AF36 similarity index 100% rename from pippi.xcworkspace/.tuist-generated rename to Derived/.fl25C0AF36 diff --git a/Derived/signing.keychain b/Derived/signing.keychain new file mode 100644 index 000000000..5e722ce05 Binary files /dev/null and b/Derived/signing.keychain differ diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..7a118b49b --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..7d52a7762 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,214 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.3.0) + aws-partitions (1.878.0) + aws-sdk-core (3.190.2) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.8) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.76.0) + aws-sdk-core (~> 3, >= 3.188.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.142.0) + aws-sdk-core (~> 3, >= 3.189.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.109.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.3.0) + fastlane (2.219.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + 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-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.2) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + webrick + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.7.1) + jwt (2.7.1) + mini_magick (4.12.0) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.3.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.4.0) + os (1.1.4) + plist (3.7.1) + public_suffix (5.0.4) + rake (13.1.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.6) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.18.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.5.0) + webrick (1.8.1) + word_wrap (1.0.0) + xcodeproj (1.23.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.4.10 diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 94ac068aa..5e9cf31b3 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -58,7 +58,10 @@ extension Project { name: name, settings: .settings( base: [ - "OTHER_LDFLAGS": ["-ObjC"] + "OTHER_LDFLAGS": ["-ObjC"], + "MARKETING_VERSION": "1.0", + "CURRENT_PROJECT_VERSION": "1", + "VERSIONING_SYSTEM": "apple-generic" ], configurations: [ .build(.dev, name: name), diff --git a/Tuist/Signing/App.DEV.mobileprovision b/Tuist/Signing/App.DEV.mobileprovision new file mode 100644 index 000000000..f5c3c85e5 Binary files /dev/null and b/Tuist/Signing/App.DEV.mobileprovision differ diff --git a/Tuist/Signing/App.PRD.mobileprovision b/Tuist/Signing/App.PRD.mobileprovision new file mode 100644 index 000000000..ed3c43af3 Binary files /dev/null and b/Tuist/Signing/App.PRD.mobileprovision differ diff --git a/Tuist/Signing/WidgetExtension.DEV.mobileprovision b/Tuist/Signing/WidgetExtension.DEV.mobileprovision new file mode 100644 index 000000000..345fb7aef Binary files /dev/null and b/Tuist/Signing/WidgetExtension.DEV.mobileprovision differ diff --git a/Tuist/Signing/WidgetExtension.PRD.mobileprovision b/Tuist/Signing/WidgetExtension.PRD.mobileprovision new file mode 100644 index 000000000..4cfc2e806 Binary files /dev/null and b/Tuist/Signing/WidgetExtension.PRD.mobileprovision differ diff --git a/Tuist/Signing/dev.cer.encrypted b/Tuist/Signing/dev.cer.encrypted new file mode 100644 index 000000000..6de0e034f --- /dev/null +++ b/Tuist/Signing/dev.cer.encrypted @@ -0,0 +1 @@ +8swITUEudH2irvn3VenCtQ==-h7DUWmHhbKO+aU5iODXAlhwo22SMtBKUabf1T5mAM5Ct/+TSuWxubxX6+EdlCU/lVsAiNa9Re+4WNttcQ0slQLyMSQXiizj22nuT7aKywVxbYbksaK4EYgCAzTngP+niwh/5Yx9FS1MHpL483Uh3D40xK6iiEK7OPDijdLismi2JVCnzh2X5QavgS64CD+JAF0QaQm1qC2Nk8d39z/qDwxjzPfRLosgz/3mmULHVa5i2cF+eTolazYxiyZtv2DLrgk6OF0vJYcNjw4NiN2AaCjPR/FB+a0t2nNEvWb/o/iCNztjrdrXCX2TRUVtmZMkZGnP/WbDwFvS+1krCWF7Q49UQkKSREUKnuH33K+HZwiHvofBBBps2EVHbPLesONglkeK2bOYRa0iPOw9zoP1h0+Slb25wEcxOdYlhG8Du+kFA5oQ+aH8MKtwMntORmnwF0ttbQCQNUWGhpipJN4kBfAHoEP/BRC7yQVcXSY36gg6HTOG+sRnPRmzxsKu3ycJhWXi68oTk0qg1RyRSuw07/WrziP8kd1Pimw1AzREORg9HdXrXXU1OASkTFHaz6p2N+6yzVGionEMFaNdscjzInLKeLdzmTt7i6sG+hyPtndqlp9ompqE7NghpJkOfPZfkvfGxbJOa05AgC80LIttvUKPUqn3HjUcZcj4/UImZm0vOXWqvpCpnUQSjqJiC6qLz7+w8kM/qpbtCGSCzfwr+7SgTn7+1vahJTLzUNKzLSyxgOijl4ufThRNPh2/VFRVezU/LmqgkdNlVTxlaN7AlxIEs+ODMw4fDb4vLBrwtmxWdDzVevHFUfKrXWmCFR/IXvOehwBwJba7q3h2W3g/lNt+gWOkBKmH5MfaSZwgLxjJNDHFOVk2ofCzBOA9J8cfh21vk4VWqbLyu/wb9GY4JhlHJTw2w6JOpCoon3lW6ySZWKv0I+gaDKutyZBPQykkWtVeUlqHjp54Z40YYFs7PqJmvx6YQMVLbzrB86ecUudNGaMWNIqEbIr9QO9IjBweHaylYFo9NtOd4a2So8OuXM88iAubrATspaIqu+q3wrOJAey8YWOeI7uCosxwlM613/9Wjt7bOEP7gOMlXFXSSD45eXlwZFRAu8haacQlEixkv6UdA+2aMxvA/CnQNqtBp2+Gi9TNyFRUtZqJTn59K33FgvBCENW0NfBgcpBoPpicHfTptnTf1YaXAUNZAPZdY87zCfNcu5++O8nPhzjJIaq3dXnojTilWeyqk1+sJBl/xCHtjWueExpLM+seyg/VzLhO1u70XWfZFPUoJH6HIg0wUc/ZpWFW6PFa83RirOqp2keXlJvZwmMLRvF494fKy6Z0FjAxTdS77RUCT9pOwi7MsqKiggJdlmtHnv67bjJFp3pa26potL01Sy0M43lxBn7G81s1r34FDlGCc8PnOW9yvYmpe1aD3x2aklRrDuwtCLu34SEgsf4uZlXwxnTilJp9V1fsnp+/Ul6qI0XmnKpnNTXomDl1kY1Uj+2dnbdl43RfFIWcO/KPcgC1KYeSpVFMrI8A1+8jplBxcBgBqU9b7PPn8ksjS56mpD9bML1JpLTze+moI3ltRGQLvD7l7sqH1HuDtUE4NsmHDSkq3UxZdAD+cNdAKduRM+sAgxGz47abjxid6q/dlLDRYbhOacniK2TcZDUGpsfSGWy0/A+Dk769pI6PFxDaQ5SfVcxhFuXDfRVMZDz0R6nKrJiwfVGiH638z9yB1E6lfb572wcYJvuKQu6SG4x9CgGPORppxS5I4c1Ve2HeH8dNS9wB6qlygMXvndZOtuSBk5pG3dt25+RAWW2C9o+Xuqt0FP6ZCZyi1VUwK9BYLO3R9+81Ml6vsKCznls73YTKPMC/5Qh6yjQ9aDGLD9VGr7OY0XF93dkKBxJ5YOZboUBpaaQ5KSwv5DMhm4uan6KX1W41Csxub440WgPIzTxajcrYnGMbkAesk8IcRzAxwD7w= \ No newline at end of file diff --git a/Tuist/Signing/dev.p12.encrypted b/Tuist/Signing/dev.p12.encrypted new file mode 100644 index 000000000..5dec0c9dd --- /dev/null +++ b/Tuist/Signing/dev.p12.encrypted @@ -0,0 +1 @@ +MSjX1AoIhvMnupeCRWmz+g==-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 \ No newline at end of file diff --git a/Tuist/Signing/prd.cer.encrypted b/Tuist/Signing/prd.cer.encrypted new file mode 100644 index 000000000..ee11af14f --- /dev/null +++ b/Tuist/Signing/prd.cer.encrypted @@ -0,0 +1 @@ +Jz/iFxko5ojRoPV823rn7g==-Mrj5yXoNiRUfG1JZchAH1FymrfUk68o9RLyqjIe5dKGxoPUyKOb8mLvnyNyG3LEdvT1CTjEMVij5JG3VPPOv31HhjmjFRCz59fP55lAoSfGagFL1ytCprePRhQJOLW7Cvqg/npg1ELeYQ9Q6p8qCDkE3wD4xaD7fWtZElc3liIqLXb4FjZ0E8L+G1oTjDb7Bv4o6EdEdlo5wdb82g2sHJBmN78NbhsgJTBTroXd0gbf/HN9P/OC8M84/QgQyw7zVlZETpJBmXJCrpkcZFFxikQ3CtOj4EZiAehtoMlJprtmYeXplSnReqDTfqFbfSQ2qTP7R/eMI3b3g24/49taViFx+qnVD5FPXE9d8kKvt6E3OS+bhUYsPPU+fOwmrvIEV+SdG/nPSSIqGAKKDtfr0b22RjdQMpeJi3lPfoqqtnrjGpcgfATYvZHUGp9nKNiS8Y+d0EkVDE09bByarbmbVJUUN0dUris74ppRAREKwAY/MXMDXqn9th45oqwqzwVwztLD95+Ok9qzapziNcrxRM2iOcX4O4V20Ak3j6tIywGBHcy9QPFQXz4orgprRRu8QAtat87A1OwD27cD6nwN9+G26Qy+PBbJYUweFQt0X+wKHimgk2Ag7nQonU4kK9tspKCjjVbSgOnhApU3E+ChI381pq4s+5DVqH9S6wZTZGqR2knY8FFJnPL8t4/PiOyqB5wmKNOOZD79Qv//FV4kir1lHhepHEnS8XCBtg/0fcZK1O4/fum6WxsL3wszX/ooUfDaDTEd4ucgjFJfT8ttkRE1XyFw+Qsrn2h4IGe//pObVQuVosd3iMM4mQYNC9dIfTJ36voNbJfldIDn9yWsNZ6Qz7RfvrONYrvWYI2YjV3vmjllRusSN0AXv3IrNIrVstQ/QVqo+9PUTTWD1T/PpnDn27ZTOKZ1DE7SkOObp4SkzfhIVbEekqt+jK9kVOOffYXs+EPDS5t3GOst+rvM5BH8xhQ1Bm9+l1WzKCSo9z8Nj2Vk/fll9TiOCvSDR/gMdmsPvmieRbRn4OPGKjueo2KX2xVE81+7WVtxMoqsLJVy2m62xWTMcL0bYfZhsTH0FIsCp8mKFdExPTypBXxLjFFEWFLy42YamektZLKkjzWn7bLwOXzvqHxzxK/u+qrkXGK4sDGyAI7CXQVr9n6VuUPW/hPFBaLY6Q1jnnlVOi3oItxMYMSC0ILObWOGJX/61oq7Mmb+zEdGxGN4ZGi5YUT6Em++C0BX/ii/9/1c8N8pF1059JJak/NniVtb8iDYNkja136bDfLfKtPWhb1M6fWUAKXOksYvAwVM9EeHh2M8elvQiw3qlhI9NAFaybiYmIA5iY+GhQLaEiC89iNiSN+l8JI83V2se1CLuxe3/GKfPeFcaFSXz+7/yg2WnUgpb6S603+8Bb3CKJqSXBfgoPHOzz09NpwauDU2HpqWlF17xaxTpxFdoLhhE/aLK+VXKN8CjwxWLiziiJsP9wJdpCQFJKL0Pk4XicD0bw3iT1dNRzFfxyMY+nf6BrOlPHQeWY0zoJpxtUIGx0yYDwkkTSVrwdXA3lxIuIzMD9ok3kvWixH0KR7pXval/HABntm8FQ9PHrJlLFDx4eIvjjL7iPQH6PKsiiBo3IPlENoM4cfjMMl3VIgn/svxVB06P7Kw7SVDG3vjWLDrzDTg1g1MW6P9nQX8vGM+v0u2gvF3HSM15We++XXFICSQM7DrVU2A6W9GAvuJrZNsemzKJpplH6bQdtNLDrxQHz8JX0aIP4k9HPT8LZ3muSNlPvvST89fDZvqcf+NVmWKEWdL0nqXrmRYOTh/uRGthn0gIkqFJAZtFunpXokyAlQrpZWHaN1syEzjbM0kkcS3HUNUp8Dw6Clmjq0dEmoLLA6fMvey0cAnVcPdjhu9nPHFe9SK5uioUQslI1vD8wSvk9GSqvFQr+wBJpt/oo1HlHPV9iWoxizRu5uXSdwjLncpknGyZ \ No newline at end of file diff --git a/Tuist/Signing/prd.p12.encrypted b/Tuist/Signing/prd.p12.encrypted new file mode 100644 index 000000000..9fa38611c --- /dev/null +++ b/Tuist/Signing/prd.p12.encrypted @@ -0,0 +1 @@ +/BYbMJdVzq+j1Zl0YF5zyg==-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 \ No newline at end of file diff --git a/fastlane/Appfile b/fastlane/Appfile new file mode 100644 index 000000000..cc0715d35 --- /dev/null +++ b/fastlane/Appfile @@ -0,0 +1,10 @@ +# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app +# apple_id("[[APPLE_ID]]") # Your Apple Developer Portal username + + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile + +gem "dotenv" + +app_identifier(ENV["BUNDLE_ID"]) \ No newline at end of file diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 000000000..a2ecad070 --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,218 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +#✅ 상수 +APP_NAME = ENV["APP_NAME"] +WIDGET_NAME = ENV["WIDGET_NAME"] + +PRD_SCHEME = ENV["PRD_SCHEME"] +DEV_SCHEME = ENV["DEV_SCHEME"] +BUNDLE_ID = ENV["BUNDLE_ID"] +WIDGET_BUNDLE_ID = ENV["WIDGET_BUNDLE_ID"] + +APP_STORE_CONNECT_KEY_ID = ENV["APP_STORE_CONNECT_API_KEY_KEY_ID"] +APP_STORE_CONNECT_ISSUER_ID = ENV["APP_STORE_CONNECT_API_KEY_ISSUER_ID"] +APP_STORE_CONNECT_API_KEY = ENV["APP_STORE_CONNECT_API_KEY_KEY"] + +KEYCHAIN_NAME = ENV["KEYCHAIN_NAME"] +KEYCHAIN_PASSWORD = ENV["KEYCHAIN_PASSWORD"] + +PROJECT_PATH = ENV["PROJECT_PATH"] +SLACK_HOOK_URL = ENV["SLACK_HOOK_URL"] + + +default_platform(:ios) + +platform :ios do + #✅ 인증서를 키체인에 저장 + lane :setup_keychain do + create_keychain( + name: "#{KEYCHAIN_NAME}", + password: "#{KEYCHAIN_PASSWORD}", + default_keychain: true, + unlock: true, + timeout: 3600, + lock_when_sleeps: true + ) + + import_certificate( + certificate_path: "Tuist/Signing/prd.cer", + keychain_name: "#{KEYCHAIN_NAME}", + keychain_password: "#{KEYCHAIN_PASSWORD}" + ) + + import_certificate( + certificate_path: "Tuist/Signing/prd.p12", + keychain_name: "#{KEYCHAIN_NAME}", + keychain_password: "#{KEYCHAIN_PASSWORD}" + ) + + import_certificate( + certificate_path: "Tuist/Signing/dev.cer", + keychain_name: "#{KEYCHAIN_NAME}", + keychain_password: "#{KEYCHAIN_PASSWORD}" + ) + + import_certificate( + certificate_path: "Tuist/Signing/dev.p12", + keychain_name: "#{KEYCHAIN_NAME}", + keychain_password: "#{KEYCHAIN_PASSWORD}" + ) + + install_provisioning_profile(path: "Tuist/Signing/#{APP_NAME}.PRD.mobileprovision") + install_provisioning_profile(path: "Tuist/Signing/#{APP_NAME}.DEV.mobileprovision") + + install_provisioning_profile(path: "Tuist/Signing/#{WIDGET_NAME}.PRD.mobileprovision") + install_provisioning_profile(path: "Tuist/Signing/#{WIDGET_NAME}.DEV.mobileprovision") + end + + + + + #✅ 테스트 플라이트에 PRD 업로드 + lane :upload_prd_to_testflight do |options| + app_store_connect_api_key( + key_id: "#{APP_STORE_CONNECT_KEY_ID}", + issuer_id: "#{APP_STORE_CONNECT_ISSUER_ID}", + key_content: "#{APP_STORE_CONNECT_API_KEY}", + is_key_content_base64: true, + in_house: false + ) + + new_build_number = latest_testflight_build_number() + 1 + + increment_build_number( + xcodeproj: "#{PROJECT_PATH}", + build_number: new_build_number + ) + + build_app( + workspace: "#{APP_NAME}.xcworkspace", + scheme: "#{PRD_SCHEME}", + export_method: "app-store", + export_options: { + method: "app-store", + provisioningProfiles: { + "#{BUNDLE_ID}" => "App.PRD", + "#{WIDGET_BUNDLE_ID}" => "WidgetExtension.PRD", + } + } + ) + + upload_to_testflight(skip_waiting_for_build_processing: true) + + slack( + message: "⭐️ 테스트 플라이트 업로드 성공", + slack_url: "#{SLACK_HOOK_URL}", + username: "오잉봇", + icon_url: "https://avatars.githubusercontent.com/u/21079970?v=4", + payload: { + "Build Date" => Time.new.to_s, + }, + attachment_properties: { + fields: [ + { + title: "Scheme", + value: "#{PRD_SCHEME}", + }, + { + title: "Build Number", + value: "#{new_build_number.to_s}", + } + ] + }, + success: true + ) + end + + #✅ 테스트 플라이트에 DEV 업로드 + lane :upload_dev_to_testflight do |options| + app_store_connect_api_key( + key_id: "#{APP_STORE_CONNECT_KEY_ID}", + issuer_id: "#{APP_STORE_CONNECT_ISSUER_ID}", + key_content: "#{APP_STORE_CONNECT_API_KEY}", + is_key_content_base64: true, + in_house: false + ) + + new_build_number = latest_testflight_build_number() + 1 + + increment_build_number( + xcodeproj: "#{PROJECT_PATH}", + build_number: new_build_number + ) + + build_app( + workspace: "#{APP_NAME}.xcworkspace", + scheme: "#{DEV_SCHEME}", + export_method: "app-store", + export_options: { + method: "app-store", + provisioningProfiles: { + "#{BUNDLE_ID}" => "App.DEV", + "#{WIDGET_BUNDLE_ID}" => "WidgetExtension.DEV", + } + } + ) + + upload_to_testflight(skip_waiting_for_build_processing: true) + + slack( + message: "⭐️ 테스트 플라이트 업로드 성공", + slack_url: "#{SLACK_HOOK_URL}", + username: "오잉봇", + icon_url: "https://avatars.githubusercontent.com/u/21079970?v=4", + payload: { + "Build Date" => Time.new.to_s, + }, + attachment_properties: { + fields: [ + { + title: "Scheme", + value: "#{DEV_SCHEME}-DEV", + }, + { + title: "Build Number", + value: "#{new_build_number.to_s}", + } + ] + }, + success: true + ) + end + + + + + #🔴 예외 처리 + error do |lane, exception, options| + slack( + message: "❗️ 테스트 플라이트 업로드 실패", + slack_url: "#{SLACK_HOOK_URL}", + username: "오잉봇", + icon_url: "https://avatars.githubusercontent.com/u/21079970?v=4", + success: false, + attachment_properties: { + fields: [ + { + title: "Error message", + value: "#{exception.to_s}", + short: false + } + ] + }, + ) + end +end diff --git a/fastlane/README.md b/fastlane/README.md new file mode 100644 index 000000000..0033236ef --- /dev/null +++ b/fastlane/README.md @@ -0,0 +1,48 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## iOS + +### ios setup_keychain + +```sh +[bundle exec] fastlane ios setup_keychain +``` + + + +### ios upload_prd_to_testflight + +```sh +[bundle exec] fastlane ios upload_prd_to_testflight +``` + + + +### ios upload_dev_to_testflight + +```sh +[bundle exec] fastlane ios upload_dev_to_testflight +``` + + + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/pippi.xcworkspace/contents.xcworkspacedata b/pippi.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 76c7ae11b..000000000 --- a/pippi.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pippi.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/pippi.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/pippi.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/pippi.xcworkspace/xcshareddata/xcschemes/pippi-Workspace.xcscheme b/pippi.xcworkspace/xcshareddata/xcschemes/pippi-Workspace.xcscheme deleted file mode 100644 index c0d13346c..000000000 --- a/pippi.xcworkspace/xcshareddata/xcschemes/pippi-Workspace.xcscheme +++ /dev/null @@ -1,902 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -