├── example
└── podSign
│ ├── bundleSign
│ ├── bundleSign
│ │ ├── Assets
│ │ │ ├── .gitkeep
│ │ │ └── screenshot-20220817-205345.png
│ │ └── Classes
│ │ │ ├── .gitkeep
│ │ │ └── ReplaceMe.m
│ ├── _Pods.xcodeproj
│ ├── Example
│ │ ├── Tests
│ │ │ ├── en.lproj
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── Tests-Prefix.pch
│ │ │ ├── Tests-Info.plist
│ │ │ └── Tests.m
│ │ ├── Podfile
│ │ ├── bundleSign.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ │ └── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ │ └── bundleSign-Example.xcscheme
│ │ │ └── project.pbxproj
│ │ └── Pods
│ │ │ └── Local Podspecs
│ │ │ └── bundleSign.podspec.json
│ ├── .travis.yml
│ ├── .gitignore
│ ├── README.md
│ ├── LICENSE
│ └── bundleSign.podspec
│ ├── podSign
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── ViewController.h
│ ├── AppDelegate.h
│ ├── SceneDelegate.h
│ ├── ViewController.m
│ ├── main.m
│ ├── Info.plist
│ ├── AppDelegate.m
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── SceneDelegate.m
│ ├── Gemfile
│ ├── podSign.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcuserdata
│ │ │ └── liuxiaoliang01.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── xcuserdata
│ │ └── liuxiaoliang01.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ └── project.pbxproj
│ ├── podSign.xcworkspace
│ ├── xcuserdata
│ │ └── liuxiaoliang01.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ ├── Podfile.lock
│ ├── Podfile
│ └── Gemfile.lock
├── lib
├── cocoapods-pod-sign.rb
├── cocoapods-pod-sign
│ ├── gem_version.rb
│ ├── pod_sign_storage.rb
│ ├── podfile_dsl.rb
│ └── pod_installer.rb
├── cocoapods_plugin.rb
└── .idea
│ ├── misc.xml
│ ├── vcs.xml
│ ├── .gitignore
│ ├── modules.xml
│ ├── inspectionProfiles
│ └── Project_Default.xml
│ └── lib.iml
├── Rakefile
├── Gemfile
├── spec
├── command
│ └── sign_spec.rb
└── spec_helper.rb
├── cocoapods-pod-sign.gemspec
├── LICENSE.txt
├── README.md
└── .gitignore
/example/podSign/bundleSign/bundleSign/Assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/bundleSign/Classes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/bundleSign/Classes/ReplaceMe.m:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------
/lib/cocoapods-pod-sign.rb:
--------------------------------------------------------------------------------
1 | require 'cocoapods-pod-sign/gem_version'
2 |
--------------------------------------------------------------------------------
/lib/cocoapods-pod-sign/gem_version.rb:
--------------------------------------------------------------------------------
1 | module CocoapodsPodSign
2 | VERSION = "1.3.0"
3 | end
4 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Tests/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/lib/cocoapods_plugin.rb:
--------------------------------------------------------------------------------
1 | require 'cocoapods-pod-sign/pod_installer'
2 | require 'cocoapods-pod-sign/podfile_dsl'
3 |
4 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 | target 'bundleSign_Tests' do
3 | pod 'bundleSign', :path => '../'
4 |
5 |
6 | end
7 |
--------------------------------------------------------------------------------
/example/podSign/Gemfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | source "https://rubygems.org"
4 |
5 | gem 'cocoapods-pod-sign', :path => '../../'
6 | gem 'cocoapods'
7 |
8 | # gem "rails"
9 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/bundleSign/Assets/screenshot-20220817-205345.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1677/CocoaPods-pod-sign/HEAD/example/podSign/bundleSign/bundleSign/Assets/screenshot-20220817-205345.png
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Tests/Tests-Prefix.pch:
--------------------------------------------------------------------------------
1 | // The contents of this file are implicitly included at the beginning of every test case source file.
2 |
3 | #ifdef __OBJC__
4 |
5 |
6 |
7 | #endif
8 |
--------------------------------------------------------------------------------
/lib/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/lib/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/lib/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcworkspace/xcuserdata/liuxiaoliang01.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1677/CocoaPods-pod-sign/HEAD/example/podSign/podSign.xcworkspace/xcuserdata/liuxiaoliang01.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/example/podSign/podSign/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/bundleSign.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require 'bundler/gem_tasks'
2 |
3 | def specs(dir)
4 | FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5 | end
6 |
7 | desc 'Runs all the specs'
8 | task :specs do
9 | sh "bundle exec bacon #{specs('**')}"
10 | end
11 |
12 | task :default => :specs
13 |
14 |
--------------------------------------------------------------------------------
/example/podSign/podSign/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import
9 |
10 | @interface AppDelegate : UIResponder
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # Specify your gem's dependencies in cocoapods-pod-sign.gemspec
4 | gemspec
5 |
6 | group :development do
7 | gem 'cocoapods'
8 |
9 | gem 'mocha'
10 | gem 'bacon'
11 | gem 'mocha-on-bacon'
12 | gem 'prettybacon'
13 | end
14 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcodeproj/project.xcworkspace/xcuserdata/liuxiaoliang01.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1677/CocoaPods-pod-sign/HEAD/example/podSign/podSign.xcodeproj/project.xcworkspace/xcuserdata/liuxiaoliang01.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/lib/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/lib/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spec/command/sign_spec.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../../spec_helper', __FILE__)
2 |
3 | module Pod
4 | describe Command::Sign do
5 | describe 'CLAide' do
6 | it 'registers it self' do
7 | Command.parse(%w{ sign }).should.be.instance_of Command::Sign
8 | end
9 | end
10 | end
11 | end
12 |
13 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/podSign/podSign/SceneDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // SceneDelegate.h
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import
9 |
10 | @interface SceneDelegate : UIResponder
11 |
12 | @property (strong, nonatomic) UIWindow * window;
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/podSign/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - bundleSign (0.1.0)
3 |
4 | DEPENDENCIES:
5 | - bundleSign (from `./bundleSign`)
6 |
7 | EXTERNAL SOURCES:
8 | bundleSign:
9 | :path: "./bundleSign"
10 |
11 | SPEC CHECKSUMS:
12 | bundleSign: 8fa720adfff2d8b5873bb9ca197d670614cce05f
13 |
14 | PODFILE CHECKSUM: 06f86eec5843bf02524d3efd1c1c857234a1aa84
15 |
16 | COCOAPODS: 1.10.2
17 |
--------------------------------------------------------------------------------
/example/podSign/podSign/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import "ViewController.h"
9 |
10 | @interface ViewController ()
11 |
12 | @end
13 |
14 | @implementation ViewController
15 |
16 | - (void)viewDidLoad {
17 | [super viewDidLoad];
18 | // Do any additional setup after loading the view.
19 | }
20 |
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/lib/cocoapods-pod-sign/pod_sign_storage.rb:
--------------------------------------------------------------------------------
1 | require 'singleton'
2 |
3 | class PodSignStorage
4 | include Singleton
5 |
6 | attr_writer :skip_sign
7 | attr_writer :configurations
8 |
9 | def skip_sign
10 | return @skip_sign if defined?(@skip_sign)
11 |
12 | @skip_sign = false
13 | end
14 |
15 | def configurations
16 | return @configurations if defined?(@configurations)
17 |
18 | @configurations = {}
19 | end
20 | end
21 |
22 |
23 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcodeproj/xcuserdata/liuxiaoliang01.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | podSign.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 3
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/example/podSign/podSign/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import
9 | #import "AppDelegate.h"
10 |
11 | int main(int argc, char * argv[]) {
12 | NSString * appDelegateClassName;
13 | @autoreleasepool {
14 | // Setup code that might create autoreleased objects goes here.
15 | appDelegateClassName = NSStringFromClass([AppDelegate class]);
16 | }
17 | return UIApplicationMain(argc, argv, nil, appDelegateClassName);
18 | }
19 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * https://www.objc.io/issues/6-build-tools/travis-ci/
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/bundleSign.xcworkspace -scheme bundleSign-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/lib/.idea/lib.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Pods/Local Podspecs/bundleSign.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bundleSign",
3 | "version": "0.1.0",
4 | "summary": "A short description of bundleSign.",
5 | "description": "TODO: Add long description of the pod here.",
6 | "homepage": "https://github.com/liuxiaoliang01/bundleSign",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "liuxiaoliang01": "liuxiaoliang.01@bytedance.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/liuxiaoliang01/bundleSign.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "10.0"
20 | },
21 | "source_files": "bundleSign/Classes/**/*"
22 | }
23 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Tests/Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIApplicationSceneManifest
6 |
7 | UIApplicationSupportsMultipleScenes
8 |
9 | UISceneConfigurations
10 |
11 | UIWindowSceneSessionRoleApplication
12 |
13 |
14 | UISceneConfigurationName
15 | Default Configuration
16 | UISceneDelegateClassName
17 | SceneDelegate
18 | UISceneStoryboardFile
19 | Main
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/Tests/Tests.m:
--------------------------------------------------------------------------------
1 | //
2 | // bundleSignTests.m
3 | // bundleSignTests
4 | //
5 | // Created by liuxiaoliang01 on 08/17/2022.
6 | // Copyright (c) 2022 liuxiaoliang01. All rights reserved.
7 | //
8 |
9 | @import XCTest;
10 |
11 | @interface Tests : XCTestCase
12 |
13 | @end
14 |
15 | @implementation Tests
16 |
17 | - (void)setUp
18 | {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown
24 | {
25 | // Put teardown code here. This method is called after the invocation of each test method in the class.
26 | [super tearDown];
27 | }
28 |
29 | - (void)testExample
30 | {
31 | XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__);
32 | }
33 |
34 | @end
35 |
36 |
--------------------------------------------------------------------------------
/example/podSign/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 |
5 | target 'podSign' do
6 | # Comment the next line if you don't want to use dynamic frameworks
7 | # use_frameworks!
8 |
9 | plugin 'cocoapods-pod-sign' # automatically read the bundle identifier(version 2.x.x no longer sets bundle identifier) and team from the main project.
10 | skip_pod_bundle_sign # forbid pod sign
11 |
12 | # manually specify the bundle identifier and team under different configs
13 | # config_pod_bundle_id_and_team_id({
14 | # 'Debug' => {:bundle_id => 'com.aaa.bbb', :team_id => 'ABCDEFG'},
15 | # 'Release' => {:bundle_id => 'com.ccc.ddd', :team_id => 'HIJKLMN'},
16 | # 'Profile' => {:bundle_id => 'com.xxx.eee', :team_id => 'ASDFGHJ'}
17 | # })
18 |
19 | # Pods for podSign
20 | pod 'bundleSign', :path => './bundleSign'
21 |
22 | end
23 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/.gitignore:
--------------------------------------------------------------------------------
1 | # macOS
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | *.moved-aside
17 | DerivedData
18 | *.hmap
19 | *.ipa
20 |
21 | # Bundler
22 | .bundle
23 |
24 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
25 | # Carthage/Checkouts
26 |
27 | Carthage/Build
28 |
29 | # We recommend against adding the Pods directory to your .gitignore. However
30 | # you should judge for yourself, the pros and cons are mentioned at:
31 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
32 | #
33 | # Note: if you ignore the Pods directory, make sure to uncomment
34 | # `pod install` in .travis.yml
35 | #
36 | # Pods/
37 |
--------------------------------------------------------------------------------
/cocoapods-pod-sign.gemspec:
--------------------------------------------------------------------------------
1 | # coding: utf-8
2 | lib = File.expand_path('../lib', __FILE__)
3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4 | require 'cocoapods-pod-sign/gem_version.rb'
5 |
6 | Gem::Specification.new do |spec|
7 | spec.name = 'cocoapods-pod-sign'
8 | spec.version = CocoapodsPodSign::VERSION
9 | spec.authors = ['wosicuanqi']
10 | spec.email = ['1677746430@qq.com']
11 | spec.description = %q{help you setup CocoaPods bundle indentifier and team.}
12 | spec.summary = %q{help you setup CocoaPods bundle indentifier and team.}
13 | spec.homepage = 'https://github.com/1677/CocoaPods-pod-sign'
14 | spec.license = 'MIT'
15 |
16 | spec.files = `git ls-files`.split($/)
17 | spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18 | spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19 | spec.require_paths = ['lib']
20 |
21 | spec.add_development_dependency 'bundler', '~> 1.3'
22 | spec.add_development_dependency 'rake'
23 | end
24 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/README.md:
--------------------------------------------------------------------------------
1 | # bundleSign
2 |
3 | [](https://travis-ci.org/liuxiaoliang01/bundleSign)
4 | [](https://cocoapods.org/pods/bundleSign)
5 | [](https://cocoapods.org/pods/bundleSign)
6 | [](https://cocoapods.org/pods/bundleSign)
7 |
8 | ## Example
9 |
10 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
11 |
12 | ## Requirements
13 |
14 | ## Installation
15 |
16 | bundleSign is available through [CocoaPods](https://cocoapods.org). To install
17 | it, simply add the following line to your Podfile:
18 |
19 | ```ruby
20 | pod 'bundleSign'
21 | ```
22 |
23 | ## Author
24 |
25 | liuxiaoliang01, liuxiaoliang.01@bytedance.com
26 |
27 | ## License
28 |
29 | bundleSign is available under the MIT license. See the LICENSE file for more info.
30 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022 wosicuanqi <1677746430@qq.com>
2 |
3 | MIT License
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | "Software"), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022 liuxiaoliang01
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/lib/cocoapods-pod-sign/podfile_dsl.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'cocoapods-pod-sign/pod_sign_storage'
4 |
5 | module Pod
6 | class Podfile
7 | module DSL
8 |
9 | def config_pod_bundle_id_and_team_id(configurations)
10 | unless configurations.instance_of?(Hash)
11 | UI.info 'config_pod_bundle_id_and_team_id parameters not hash'.red
12 | return
13 | end
14 | configurations.each do |name, configuration|
15 | unless configuration.instance_of?(Hash)
16 | UI.info 'config_pod_bundle_id_and_team_id parameters not hash'.red
17 | return
18 | end
19 | unless configuration[:bundle_id] && configuration[:team_id]
20 | UI.info 'config_pod_bundle_id_and_team_id parameters parameters error'.red
21 | return
22 | end
23 | end
24 | UI.info 'config_pod_bundle_id_and_team_id parameters setup success'
25 | storage = PodSignStorage.instance
26 | storage.configurations = configurations
27 | end
28 |
29 | def skip_pod_bundle_sign
30 | storage = PodSignStorage.instance
31 | storage.skip_sign = true
32 | end
33 | end
34 | end
35 | end
36 |
--------------------------------------------------------------------------------
/spec/spec_helper.rb:
--------------------------------------------------------------------------------
1 | require 'pathname'
2 | ROOT = Pathname.new(File.expand_path('../../', __FILE__))
3 | $:.unshift((ROOT + 'lib').to_s)
4 | $:.unshift((ROOT + 'spec').to_s)
5 |
6 | require 'bundler/setup'
7 | require 'bacon'
8 | require 'mocha-on-bacon'
9 | require 'pretty_bacon'
10 | require 'pathname'
11 | require 'cocoapods'
12 |
13 | Mocha::Configuration.prevent(:stubbing_non_existent_method)
14 |
15 | require 'cocoapods_plugin'
16 |
17 | #-----------------------------------------------------------------------------#
18 |
19 | module Pod
20 |
21 | # Disable the wrapping so the output is deterministic in the tests.
22 | #
23 | UI.disable_wrap = true
24 |
25 | # Redirects the messages to an internal store.
26 | #
27 | module UI
28 | @output = ''
29 | @warnings = ''
30 |
31 | class << self
32 | attr_accessor :output
33 | attr_accessor :warnings
34 |
35 | def puts(message = '')
36 | @output << "#{message}\n"
37 | end
38 |
39 | def warn(message = '', actions = [])
40 | @warnings << "#{message}\n"
41 | end
42 |
43 | def print(message)
44 | @output << message
45 | end
46 | end
47 | end
48 | end
49 |
50 | #-----------------------------------------------------------------------------#
51 |
--------------------------------------------------------------------------------
/example/podSign/podSign/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import "AppDelegate.h"
9 |
10 | @interface AppDelegate ()
11 |
12 | @end
13 |
14 | @implementation AppDelegate
15 |
16 |
17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
18 | // Override point for customization after application launch.
19 | return YES;
20 | }
21 |
22 |
23 | #pragma mark - UISceneSession lifecycle
24 |
25 |
26 | - (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options {
27 | // Called when a new scene session is being created.
28 | // Use this method to select a configuration to create the new scene with.
29 | return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
30 | }
31 |
32 |
33 | - (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions {
34 | // Called when the user discards a scene session.
35 | // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
36 | // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
37 | }
38 |
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/bundleSign.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint bundleSign.podspec' to ensure this is a
3 | # valid spec before submitting.
4 | #
5 | # Any lines starting with a # are optional, but their use is encouraged
6 | # To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
7 | #
8 |
9 | Pod::Spec.new do |s|
10 | s.name = 'bundleSign'
11 | s.version = '0.1.0'
12 | s.summary = 'A short description of bundleSign.'
13 |
14 | # This description is used to generate tags and improve search results.
15 | # * Think: What does it do? Why did you write it? What is the focus?
16 | # * Try to keep it short, snappy and to the point.
17 | # * Write the description between the DESC delimiters below.
18 | # * Finally, don't worry about the indent, CocoaPods strips it!
19 |
20 | s.description = <<-DESC
21 | TODO: Add long description of the pod here.
22 | DESC
23 |
24 | s.homepage = 'https://github.com/liuxiaoliang01/bundleSign'
25 | # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
26 | s.license = { :type => 'MIT', :file => 'LICENSE' }
27 | s.author = { 'liuxiaoliang01' => 'liuxiaoliang.01@bytedance.com' }
28 | s.source = { :git => 'https://github.com/liuxiaoliang01/bundleSign.git', :tag => s.version.to_s }
29 | # s.social_media_url = 'https://twitter.com/'
30 |
31 | s.ios.deployment_target = '10.0'
32 |
33 | s.source_files = 'bundleSign/Classes/**/*'
34 |
35 | s.resource_bundles = {
36 | 'bundleSign' => ['bundleSign/Assets/*.png']
37 | }
38 |
39 | # s.public_header_files = 'Pod/Classes/**/*.h'
40 | # s.frameworks = 'UIKit', 'MapKit'
41 | # s.dependency 'AFNetworking', '~> 2.3'
42 | end
43 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # cocoapods-pod-sign
2 |
3 | ## ⚠️DEPRECATED
4 | Since the Cocoapods 1.12.0 version has resolved this problem, this code repository is no longer updated
5 |
6 | ## English | [中文](https://www.jianshu.com/p/58d3202411c0)
7 |
8 | cocoapods-pod-sign is a tool to help you set cocopads bundle identifier and team. In order to solve the compilation error of Xcode14.
9 |
10 | ## Installation
11 |
12 | $ gem install cocoapods-pod-sign
13 |
14 | ## Usage
15 |
16 | ### Recommended
17 |
18 | I have received several user feedback encountering errors. I just added a new method to skip the signature. I recommend using the skip signature setting.
19 |
20 | ```
21 | plugin 'cocoapods-pod-sign'
22 | skip_pod_bundle_sign
23 | ```
24 |
25 | ## No recommended
26 |
27 | There are two ways to use it, one is to automatically obtain the bundle identifier and team, and the other is to set it manually.
28 |
29 | ### Automatically
30 |
31 | Just write the following code into the Podfile, it will automatically read the bundle identifier(version 1.3.x no longer sets bundle identifier) and team from the main project.
32 |
33 | plugin 'cocoapods-pod-sign'
34 |
35 | ### Manually
36 |
37 | You can also manually specify the bundle identifier and team under different configs. For example:
38 |
39 | > Debug
40 | bundle identifier: com.aaa.bbb
41 | team: ABCDEFG
42 |
43 | > Release
44 | bundle identifier: com.ccc.ddd
45 | team: HIJKLMN
46 |
47 | > Profile
48 | bundle identifier: com.xxx.eee
49 | team: ASDFGHJ
50 |
51 |
52 |
53 | ```
54 | plugin 'cocoapods-pod-sign'
55 | config_pod_bundle_id_and_team_id({
56 | 'Debug' => {:bundle_id => 'com.aaa.bbb', :team_id => 'ABCDEFG'},
57 | 'Release' => {:bundle_id => 'com.ccc.ddd', :team_id => 'HIJKLMN'},
58 | 'Profile' => {:bundle_id => 'com.xxx.eee', :team_id => 'ASDFGHJ'}
59 | })
60 | ```
61 |
62 |
--------------------------------------------------------------------------------
/example/podSign/podSign/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "2x",
6 | "size" : "20x20"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "scale" : "3x",
11 | "size" : "20x20"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "scale" : "2x",
16 | "size" : "29x29"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "scale" : "3x",
21 | "size" : "29x29"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "2x",
26 | "size" : "40x40"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "scale" : "3x",
31 | "size" : "40x40"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "scale" : "2x",
36 | "size" : "60x60"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "scale" : "3x",
41 | "size" : "60x60"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "scale" : "1x",
46 | "size" : "20x20"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "scale" : "2x",
51 | "size" : "20x20"
52 | },
53 | {
54 | "idiom" : "ipad",
55 | "scale" : "1x",
56 | "size" : "29x29"
57 | },
58 | {
59 | "idiom" : "ipad",
60 | "scale" : "2x",
61 | "size" : "29x29"
62 | },
63 | {
64 | "idiom" : "ipad",
65 | "scale" : "1x",
66 | "size" : "40x40"
67 | },
68 | {
69 | "idiom" : "ipad",
70 | "scale" : "2x",
71 | "size" : "40x40"
72 | },
73 | {
74 | "idiom" : "ipad",
75 | "scale" : "2x",
76 | "size" : "76x76"
77 | },
78 | {
79 | "idiom" : "ipad",
80 | "scale" : "2x",
81 | "size" : "83.5x83.5"
82 | },
83 | {
84 | "idiom" : "ios-marketing",
85 | "scale" : "1x",
86 | "size" : "1024x1024"
87 | }
88 | ],
89 | "info" : {
90 | "author" : "xcode",
91 | "version" : 1
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/example/podSign/podSign/SceneDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // SceneDelegate.m
3 | // podSign
4 | //
5 | // Created by liuxiaoliang01 on 2022/8/17.
6 | //
7 |
8 | #import "SceneDelegate.h"
9 |
10 | @interface SceneDelegate ()
11 |
12 | @end
13 |
14 | @implementation SceneDelegate
15 |
16 |
17 | - (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
18 | // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
19 | // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
20 | // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
21 | }
22 |
23 |
24 | - (void)sceneDidDisconnect:(UIScene *)scene {
25 | // Called as the scene is being released by the system.
26 | // This occurs shortly after the scene enters the background, or when its session is discarded.
27 | // Release any resources associated with this scene that can be re-created the next time the scene connects.
28 | // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
29 | }
30 |
31 |
32 | - (void)sceneDidBecomeActive:(UIScene *)scene {
33 | // Called when the scene has moved from an inactive state to an active state.
34 | // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
35 | }
36 |
37 |
38 | - (void)sceneWillResignActive:(UIScene *)scene {
39 | // Called when the scene will move from an active state to an inactive state.
40 | // This may occur due to temporary interruptions (ex. an incoming phone call).
41 | }
42 |
43 |
44 | - (void)sceneWillEnterForeground:(UIScene *)scene {
45 | // Called as the scene transitions from the background to the foreground.
46 | // Use this method to undo the changes made on entering the background.
47 | }
48 |
49 |
50 | - (void)sceneDidEnterBackground:(UIScene *)scene {
51 | // Called as the scene transitions from the foreground to the background.
52 | // Use this method to save data, release shared resources, and store enough scene-specific state information
53 | // to restore the scene back to its current state.
54 | }
55 |
56 |
57 | @end
58 |
--------------------------------------------------------------------------------
/example/podSign/Gemfile.lock:
--------------------------------------------------------------------------------
1 | PATH
2 | remote: ../..
3 | specs:
4 | cocoapods-pod-sign (1.3.0)
5 |
6 | GEM
7 | remote: https://rubygems.org/
8 | specs:
9 | CFPropertyList (3.0.5)
10 | rexml
11 | activesupport (5.2.6)
12 | concurrent-ruby (~> 1.0, >= 1.0.2)
13 | i18n (>= 0.7, < 2)
14 | minitest (~> 5.1)
15 | tzinfo (~> 1.1)
16 | addressable (2.8.0)
17 | public_suffix (>= 2.0.2, < 5.0)
18 | algoliasearch (1.27.5)
19 | httpclient (~> 2.8, >= 2.8.3)
20 | json (>= 1.5.1)
21 | atomos (0.1.3)
22 | claide (1.0.3)
23 | cocoapods (1.10.2)
24 | addressable (~> 2.6)
25 | claide (>= 1.0.2, < 2.0)
26 | cocoapods-core (= 1.10.2)
27 | cocoapods-deintegrate (>= 1.0.3, < 2.0)
28 | cocoapods-downloader (>= 1.4.0, < 2.0)
29 | cocoapods-plugins (>= 1.0.0, < 2.0)
30 | cocoapods-search (>= 1.0.0, < 2.0)
31 | cocoapods-trunk (>= 1.4.0, < 2.0)
32 | cocoapods-try (>= 1.1.0, < 2.0)
33 | colored2 (~> 3.1)
34 | escape (~> 0.0.4)
35 | fourflusher (>= 2.3.0, < 3.0)
36 | gh_inspector (~> 1.0)
37 | molinillo (~> 0.6.6)
38 | nap (~> 1.0)
39 | ruby-macho (~> 1.4)
40 | xcodeproj (>= 1.19.0, < 2.0)
41 | cocoapods-core (1.10.2)
42 | activesupport (> 5.0, < 6)
43 | addressable (~> 2.6)
44 | algoliasearch (~> 1.0)
45 | concurrent-ruby (~> 1.1)
46 | fuzzy_match (~> 2.0.4)
47 | nap (~> 1.0)
48 | netrc (~> 0.11)
49 | public_suffix
50 | typhoeus (~> 1.0)
51 | cocoapods-deintegrate (1.0.5)
52 | cocoapods-downloader (1.6.3)
53 | cocoapods-plugins (1.0.0)
54 | nap
55 | cocoapods-search (1.0.1)
56 | cocoapods-trunk (1.6.0)
57 | nap (>= 0.8, < 2.0)
58 | netrc (~> 0.11)
59 | cocoapods-try (1.2.0)
60 | colored2 (3.1.2)
61 | concurrent-ruby (1.1.10)
62 | escape (0.0.4)
63 | ethon (0.15.0)
64 | ffi (>= 1.15.0)
65 | ffi (1.15.5)
66 | fourflusher (2.3.1)
67 | fuzzy_match (2.0.4)
68 | gh_inspector (1.1.3)
69 | httpclient (2.8.3)
70 | i18n (1.12.0)
71 | concurrent-ruby (~> 1.0)
72 | json (2.6.2)
73 | minitest (5.16.2)
74 | molinillo (0.6.6)
75 | nanaimo (0.3.0)
76 | nap (1.1.0)
77 | netrc (0.11.0)
78 | public_suffix (4.0.7)
79 | rexml (3.2.5)
80 | ruby-macho (1.4.0)
81 | thread_safe (0.3.6)
82 | typhoeus (1.4.0)
83 | ethon (>= 0.9.0)
84 | tzinfo (1.2.9)
85 | thread_safe (~> 0.1)
86 | xcodeproj (1.22.0)
87 | CFPropertyList (>= 2.3.3, < 4.0)
88 | atomos (~> 0.1.3)
89 | claide (>= 1.0.2, < 2.0)
90 | colored2 (~> 3.1)
91 | nanaimo (~> 0.3.0)
92 | rexml (~> 3.2.4)
93 |
94 | PLATFORMS
95 | x86_64-darwin-21
96 |
97 | DEPENDENCIES
98 | cocoapods
99 | cocoapods-pod-sign!
100 |
101 | BUNDLED WITH
102 | 2.3.17
103 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.gem
2 | *.rbc
3 | /.config
4 | /coverage/
5 | /InstalledFiles
6 | /pkg/
7 | /spec/reports/
8 | /spec/examples.txt
9 | /test/tmp/
10 | /test/version_tmp/
11 | /tmp/
12 | .idea/
13 |
14 |
15 | # Used by dotenv library to load environment variables.
16 | # .env
17 |
18 | # Ignore Byebug command history file.
19 | .byebug_history
20 |
21 | ## Specific to RubyMotion:
22 | .dat*
23 | .repl_history
24 | build/
25 | *.bridgesupport
26 | build-iPhoneOS/
27 | build-iPhoneSimulator/
28 |
29 | ## Specific to RubyMotion (use of CocoaPods):
30 | #
31 | # We recommend against adding the Pods directory to your .gitignore. However
32 | # you should judge for yourself, the pros and cons are mentioned at:
33 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
34 | #
35 | # vendor/Pods/
36 |
37 | ## Documentation cache and generated files:
38 | /.yardoc/
39 | /_yardoc/
40 | /doc/
41 | /rdoc/
42 |
43 | ## Environment normalization:
44 | /.bundle/
45 | /vendor/bundle
46 | /lib/bundler/man/
47 |
48 | # for a library or gem, you might want to ignore these files since the code is
49 | # intended to run in multiple environments; otherwise, check them in:
50 | # Gemfile.lock
51 | # .ruby-version
52 | # .ruby-gemset
53 |
54 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
55 | .rvmrc
56 |
57 | # Used by RuboCop. Remote config files pulled in from inherit_from directive.
58 | # .rubocop-https?--*
59 |
60 | # Xcode
61 | #
62 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
63 |
64 | ## Build generated
65 | build/
66 | DerivedData/
67 |
68 | ## Various settings
69 | *.pbxuser
70 | !default.pbxuser
71 | *.mode1v3
72 | !default.mode1v3
73 | *.mode2v3
74 | !default.mode2v3
75 | *.perspectivev3
76 | !default.perspectivev3
77 | xcuserdata/
78 |
79 | ## Other
80 | *.moved-aside
81 | *.xcuserstate
82 |
83 | ## Obj-C/Swift specific
84 | *.hmap
85 | *.ipa
86 | *.dSYM.zip
87 | *.dSYM
88 |
89 | # CocoaPods
90 | #
91 | # We recommend against adding the Pods directory to your .gitignore. However
92 | # you should judge for yourself, the pros and cons are mentioned at:
93 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
94 | #
95 | Pods/
96 |
97 | # Carthage
98 | #
99 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
100 | # Carthage/Checkouts
101 |
102 | Carthage/Build
103 |
104 | # fastlane
105 | #
106 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
107 | # screenshots whenever they are needed.
108 | # For more information about the recommended setup visit:
109 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
110 |
111 | fastlane/report.xml
112 | fastlane/screenshots
113 |
114 | #Code Injection
115 | #
116 | # After new code Injection tools there's a generated folder /iOSInjectionProject
117 | # https://github.com/johnno1962/injectionforxcode
118 |
119 | iOSInjectionProject/
--------------------------------------------------------------------------------
/lib/cocoapods-pod-sign/pod_installer.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'cocoapods-pod-sign/pod_sign_storage'
3 |
4 | module Pod
5 | class Installer
6 |
7 | alias_method :origin_run_podfile_post_install_hook, :run_podfile_post_install_hook
8 | def run_podfile_post_install_hook
9 |
10 | storage = PodSignStorage.instance
11 |
12 | pod_sign_extract_team_id_from_user_project if storage.configurations.empty? && !storage.skip_sign
13 |
14 | targets = if installation_options.generate_multiple_pod_projects
15 | pod_target_subprojects.flat_map { |p| p.targets }
16 | else
17 | pods_project.targets
18 | end
19 | targets.each do |target|
20 | next unless target.respond_to?('product_type') && target.product_type == 'com.apple.product-type.bundle'
21 |
22 | target.build_configurations.each do |config|
23 | if storage.skip_sign
24 | config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
25 | next
26 | end
27 | sign_config = storage.configurations[config.name]
28 | next unless sign_config.instance_of?(Hash)
29 |
30 | config.build_settings['PRODUCT_BUNDLE_IDENTIFIER'] = sign_config[:bundle_id] unless sign_config[:bundle_id].nil?
31 | config.build_settings['DEVELOPMENT_TEAM'] = sign_config[:team_id]
32 | config.build_settings['CODE_SIGN_STYLE'] = if sign_config[:sign_style]
33 | sign_config[:sign_style]
34 | else
35 | config.type == :debug ? 'Automatic' : 'Manual'
36 | end
37 | config.build_settings['CODE_SIGN_IDENTITY'] = if sign_config[:sign_identity]
38 | sign_config[:sign_identity]
39 | else
40 | config.type == :debug ? 'Apple Development' : 'Apple Distribution'
41 | end
42 | end
43 | end
44 |
45 | origin_run_podfile_post_install_hook
46 | true
47 | end
48 |
49 | private
50 |
51 | def pod_sign_extract_team_id_from_user_project
52 | target = aggregate_targets.first.user_project.root_object.targets.first
53 | target&.build_configurations&.each do |config|
54 | xcconfig_hash ||=
55 | if config.base_configuration_reference&.real_path&.exist?
56 | Xcodeproj::Config.new(config.base_configuration_reference.real_path).to_hash
57 | else
58 | {}
59 | end
60 | pod_sign_extract_team_id(xcconfig_hash, config.name)
61 | pod_sign_extract_team_id(config.build_settings, config.name)
62 | end
63 | end
64 |
65 | def pod_sign_extract_team_id(build_settings, config_name)
66 | team_id = build_settings['DEVELOPMENT_TEAM']
67 | sign_style = build_settings['CODE_SIGN_STYLE']
68 | sign_identity = build_settings['CODE_SIGN_IDENTITY']
69 | return unless team_id && config_name
70 |
71 | storage = PodSignStorage.instance
72 | storage.configurations[config_name] = { team_id: team_id,
73 | sign_style: sign_style,
74 | sign_identity: sign_identity }
75 |
76 | end
77 | end
78 | end
79 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/bundleSign.xcodeproj/xcshareddata/xcschemes/bundleSign-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
66 |
72 |
73 |
74 |
75 |
76 |
77 |
83 |
85 |
91 |
92 |
93 |
94 |
96 |
97 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/example/podSign/bundleSign/Example/bundleSign.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
11 | 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
12 | 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
13 | 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; };
14 | 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; };
15 | 6003F59E195388D20070C39A /* WOAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F59D195388D20070C39A /* WOAppDelegate.m */; };
16 | 6003F5A7195388D20070C39A /* WOViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5A6195388D20070C39A /* WOViewController.m */; };
17 | 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; };
18 | 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; };
19 | 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
20 | 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
21 | 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
22 | 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
23 | 71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; };
24 | 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
25 | /* End PBXBuildFile section */
26 |
27 | /* Begin PBXFileReference section */
28 | 477D29B7AD6C89EE9A30FF67 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; name = README.md; path = ../README.md; sourceTree = ""; };
29 | 4AD000E700F252B88C85E5DF /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
30 | 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
31 | 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
32 | 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
33 | 6003F595195388D20070C39A /* bundleSign-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "bundleSign-Info.plist"; sourceTree = ""; };
34 | 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
35 | 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
36 | 6003F59B195388D20070C39A /* bundleSign-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "bundleSign-Prefix.pch"; sourceTree = ""; };
37 | 6003F59D195388D20070C39A /* WOAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WOAppDelegate.m; sourceTree = ""; };
38 | 6003F5A6195388D20070C39A /* WOViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WOViewController.m; sourceTree = ""; };
39 | 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
40 | 6003F5AE195388D20070C39A /* bundleSign_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = bundleSign_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
42 | 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; };
43 | 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
44 | 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; };
45 | 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; };
46 | 63B1BCC44052ABEACC9641CC /* bundleSign.podspec */ = {isa = PBXFileReference; includeInIndex = 1; name = bundleSign.podspec; path = ../bundleSign.podspec; sourceTree = ""; };
47 | 71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
48 | 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Base.lproj/Main.storyboard; sourceTree = ""; };
49 | /* End PBXFileReference section */
50 |
51 | /* Begin PBXFrameworksBuildPhase section */
52 | 6003F5AB195388D20070C39A /* Frameworks */ = {
53 | isa = PBXFrameworksBuildPhase;
54 | buildActionMask = 2147483647;
55 | files = (
56 | 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
57 | 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
58 | 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
59 | );
60 | runOnlyForDeploymentPostprocessing = 0;
61 | };
62 | /* End PBXFrameworksBuildPhase section */
63 |
64 | /* Begin PBXGroup section */
65 | 6003F581195388D10070C39A = {
66 | isa = PBXGroup;
67 | children = (
68 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */,
69 | 6003F5B5195388D20070C39A /* Tests */,
70 | 6003F58C195388D20070C39A /* Frameworks */,
71 | 6003F58B195388D20070C39A /* Products */,
72 | );
73 | sourceTree = "";
74 | };
75 | 6003F58B195388D20070C39A /* Products */ = {
76 | isa = PBXGroup;
77 | children = (
78 | 6003F5AE195388D20070C39A /* bundleSign_Tests.xctest */,
79 | );
80 | name = Products;
81 | sourceTree = "";
82 | };
83 | 6003F58C195388D20070C39A /* Frameworks */ = {
84 | isa = PBXGroup;
85 | children = (
86 | 6003F58D195388D20070C39A /* Foundation.framework */,
87 | 6003F58F195388D20070C39A /* CoreGraphics.framework */,
88 | 6003F591195388D20070C39A /* UIKit.framework */,
89 | 6003F5AF195388D20070C39A /* XCTest.framework */,
90 | );
91 | name = Frameworks;
92 | sourceTree = "";
93 | };
94 | 6003F5B5195388D20070C39A /* Tests */ = {
95 | isa = PBXGroup;
96 | children = (
97 | 6003F5BB195388D20070C39A /* Tests.m */,
98 | 6003F5B6195388D20070C39A /* Supporting Files */,
99 | );
100 | path = Tests;
101 | sourceTree = "";
102 | };
103 | 6003F5B6195388D20070C39A /* Supporting Files */ = {
104 | isa = PBXGroup;
105 | children = (
106 | 6003F5B7195388D20070C39A /* Tests-Info.plist */,
107 | 6003F5B8195388D20070C39A /* InfoPlist.strings */,
108 | 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */,
109 | );
110 | name = "Supporting Files";
111 | sourceTree = "";
112 | };
113 | 60FF7A9C1954A5C5007DD14C /* Podspec Metadata */ = {
114 | isa = PBXGroup;
115 | children = (
116 | 63B1BCC44052ABEACC9641CC /* bundleSign.podspec */,
117 | 477D29B7AD6C89EE9A30FF67 /* README.md */,
118 | 4AD000E700F252B88C85E5DF /* LICENSE */,
119 | );
120 | name = "Podspec Metadata";
121 | sourceTree = "";
122 | };
123 | /* End PBXGroup section */
124 |
125 | /* Begin PBXNativeTarget section */
126 | 6003F5AD195388D20070C39A /* bundleSign_Tests */ = {
127 | isa = PBXNativeTarget;
128 | buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "bundleSign_Tests" */;
129 | buildPhases = (
130 | 6003F5AA195388D20070C39A /* Sources */,
131 | 6003F5AB195388D20070C39A /* Frameworks */,
132 | 6003F5AC195388D20070C39A /* Resources */,
133 | );
134 | buildRules = (
135 | );
136 | dependencies = (
137 | );
138 | name = bundleSign_Tests;
139 | productName = bundleSignTests;
140 | productReference = 6003F5AE195388D20070C39A /* bundleSign_Tests.xctest */;
141 | productType = "com.apple.product-type.bundle.unit-test";
142 | };
143 | /* End PBXNativeTarget section */
144 |
145 | /* Begin PBXProject section */
146 | 6003F582195388D10070C39A /* Project object */ = {
147 | isa = PBXProject;
148 | attributes = {
149 | CLASSPREFIX = WO;
150 | LastUpgradeCheck = 0720;
151 | ORGANIZATIONNAME = liuxiaoliang01;
152 | TargetAttributes = {
153 | 6003F5AD195388D20070C39A = {
154 | TestTargetID = 6003F589195388D20070C39A;
155 | };
156 | };
157 | };
158 | buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "PROJECT" */;
159 | compatibilityVersion = "Xcode 3.2";
160 | developmentRegion = English;
161 | hasScannedForEncodings = 0;
162 | knownRegions = (
163 | en,
164 | Base,
165 | );
166 | mainGroup = 6003F581195388D10070C39A;
167 | productRefGroup = 6003F58B195388D20070C39A /* Products */;
168 | projectDirPath = "";
169 | projectRoot = "";
170 | targets = (
171 | 6003F5AD195388D20070C39A /* bundleSign_Tests */,
172 | );
173 | };
174 | /* End PBXProject section */
175 |
176 | /* Begin PBXResourcesBuildPhase section */
177 | 6003F5AC195388D20070C39A /* Resources */ = {
178 | isa = PBXResourcesBuildPhase;
179 | buildActionMask = 2147483647;
180 | files = (
181 | 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */,
182 | );
183 | runOnlyForDeploymentPostprocessing = 0;
184 | };
185 | /* End PBXResourcesBuildPhase section */
186 |
187 | /* Begin PBXSourcesBuildPhase section */
188 | 6003F5AA195388D20070C39A /* Sources */ = {
189 | isa = PBXSourcesBuildPhase;
190 | buildActionMask = 2147483647;
191 | files = (
192 | 6003F5BC195388D20070C39A /* Tests.m in Sources */,
193 | );
194 | runOnlyForDeploymentPostprocessing = 0;
195 | };
196 | /* End PBXSourcesBuildPhase section */
197 |
198 | /* Begin PBXVariantGroup section */
199 | 6003F596195388D20070C39A /* InfoPlist.strings */ = {
200 | isa = PBXVariantGroup;
201 | children = (
202 | 6003F597195388D20070C39A /* en */,
203 | );
204 | name = InfoPlist.strings;
205 | sourceTree = "";
206 | };
207 | 6003F5B8195388D20070C39A /* InfoPlist.strings */ = {
208 | isa = PBXVariantGroup;
209 | children = (
210 | 6003F5B9195388D20070C39A /* en */,
211 | );
212 | name = InfoPlist.strings;
213 | sourceTree = "";
214 | };
215 | 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */ = {
216 | isa = PBXVariantGroup;
217 | children = (
218 | 71719F9E1E33DC2100824A3D /* Base */,
219 | );
220 | name = LaunchScreen.storyboard;
221 | sourceTree = "";
222 | };
223 | /* End PBXVariantGroup section */
224 |
225 | /* Begin XCBuildConfiguration section */
226 | 6003F5BD195388D20070C39A /* Debug */ = {
227 | isa = XCBuildConfiguration;
228 | buildSettings = {
229 | ALWAYS_SEARCH_USER_PATHS = NO;
230 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
231 | CLANG_CXX_LIBRARY = "libc++";
232 | CLANG_ENABLE_MODULES = YES;
233 | CLANG_ENABLE_OBJC_ARC = YES;
234 | CLANG_WARN_BOOL_CONVERSION = YES;
235 | CLANG_WARN_CONSTANT_CONVERSION = YES;
236 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
237 | CLANG_WARN_EMPTY_BODY = YES;
238 | CLANG_WARN_ENUM_CONVERSION = YES;
239 | CLANG_WARN_INT_CONVERSION = YES;
240 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
241 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
242 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
243 | COPY_PHASE_STRIP = NO;
244 | ENABLE_TESTABILITY = YES;
245 | GCC_C_LANGUAGE_STANDARD = gnu99;
246 | GCC_DYNAMIC_NO_PIC = NO;
247 | GCC_OPTIMIZATION_LEVEL = 0;
248 | GCC_PREPROCESSOR_DEFINITIONS = (
249 | "DEBUG=1",
250 | "$(inherited)",
251 | );
252 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
253 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
254 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
255 | GCC_WARN_UNDECLARED_SELECTOR = YES;
256 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
257 | GCC_WARN_UNUSED_FUNCTION = YES;
258 | GCC_WARN_UNUSED_VARIABLE = YES;
259 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
260 | ONLY_ACTIVE_ARCH = YES;
261 | SDKROOT = iphoneos;
262 | TARGETED_DEVICE_FAMILY = "1,2";
263 | };
264 | name = Debug;
265 | };
266 | 6003F5BE195388D20070C39A /* Release */ = {
267 | isa = XCBuildConfiguration;
268 | buildSettings = {
269 | ALWAYS_SEARCH_USER_PATHS = NO;
270 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
271 | CLANG_CXX_LIBRARY = "libc++";
272 | CLANG_ENABLE_MODULES = YES;
273 | CLANG_ENABLE_OBJC_ARC = YES;
274 | CLANG_WARN_BOOL_CONVERSION = YES;
275 | CLANG_WARN_CONSTANT_CONVERSION = YES;
276 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
277 | CLANG_WARN_EMPTY_BODY = YES;
278 | CLANG_WARN_ENUM_CONVERSION = YES;
279 | CLANG_WARN_INT_CONVERSION = YES;
280 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
281 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
282 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
283 | COPY_PHASE_STRIP = YES;
284 | ENABLE_NS_ASSERTIONS = NO;
285 | GCC_C_LANGUAGE_STANDARD = gnu99;
286 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
287 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
288 | GCC_WARN_UNDECLARED_SELECTOR = YES;
289 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
290 | GCC_WARN_UNUSED_FUNCTION = YES;
291 | GCC_WARN_UNUSED_VARIABLE = YES;
292 | IPHONEOS_DEPLOYMENT_TARGET = 9.3;
293 | SDKROOT = iphoneos;
294 | TARGETED_DEVICE_FAMILY = "1,2";
295 | VALIDATE_PRODUCT = YES;
296 | };
297 | name = Release;
298 | };
299 | 6003F5C0195388D20070C39A /* Debug */ = {
300 | isa = XCBuildConfiguration;
301 | buildSettings = {
302 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
303 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
304 | GCC_PREFIX_HEADER = "bundleSign/bundleSign-Prefix.pch";
305 | INFOPLIST_FILE = "bundleSign/bundleSign-Info.plist";
306 | MODULE_NAME = ExampleApp;
307 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
308 | PRODUCT_NAME = "$(TARGET_NAME)";
309 | SWIFT_VERSION = 4.0;
310 | WRAPPER_EXTENSION = app;
311 | };
312 | name = Debug;
313 | };
314 | 6003F5C1195388D20070C39A /* Release */ = {
315 | isa = XCBuildConfiguration;
316 | buildSettings = {
317 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
318 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
319 | GCC_PREFIX_HEADER = "bundleSign/bundleSign-Prefix.pch";
320 | INFOPLIST_FILE = "bundleSign/bundleSign-Info.plist";
321 | MODULE_NAME = ExampleApp;
322 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
323 | PRODUCT_NAME = "$(TARGET_NAME)";
324 | SWIFT_VERSION = 4.0;
325 | WRAPPER_EXTENSION = app;
326 | };
327 | name = Release;
328 | };
329 | 6003F5C3195388D20070C39A /* Debug */ = {
330 | isa = XCBuildConfiguration;
331 | buildSettings = {
332 | FRAMEWORK_SEARCH_PATHS = (
333 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
334 | "$(inherited)",
335 | "$(DEVELOPER_FRAMEWORKS_DIR)",
336 | );
337 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
338 | GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
339 | GCC_PREPROCESSOR_DEFINITIONS = (
340 | "DEBUG=1",
341 | "$(inherited)",
342 | );
343 | INFOPLIST_FILE = "Tests/Tests-Info.plist";
344 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
345 | PRODUCT_NAME = "$(TARGET_NAME)";
346 | SWIFT_VERSION = 4.0;
347 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bundleSign_Example.app/bundleSign_Example";
348 | WRAPPER_EXTENSION = xctest;
349 | };
350 | name = Debug;
351 | };
352 | 6003F5C4195388D20070C39A /* Release */ = {
353 | isa = XCBuildConfiguration;
354 | buildSettings = {
355 | FRAMEWORK_SEARCH_PATHS = (
356 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
357 | "$(inherited)",
358 | "$(DEVELOPER_FRAMEWORKS_DIR)",
359 | );
360 | GCC_PRECOMPILE_PREFIX_HEADER = YES;
361 | GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
362 | INFOPLIST_FILE = "Tests/Tests-Info.plist";
363 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
364 | PRODUCT_NAME = "$(TARGET_NAME)";
365 | SWIFT_VERSION = 4.0;
366 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bundleSign_Example.app/bundleSign_Example";
367 | WRAPPER_EXTENSION = xctest;
368 | };
369 | name = Release;
370 | };
371 | /* End XCBuildConfiguration section */
372 |
373 | /* Begin XCConfigurationList section */
374 | 6003F585195388D10070C39A /* Build configuration list for PBXProject "PROJECT" */ = {
375 | isa = XCConfigurationList;
376 | buildConfigurations = (
377 | 6003F5BD195388D20070C39A /* Debug */,
378 | 6003F5BE195388D20070C39A /* Release */,
379 | );
380 | defaultConfigurationIsVisible = 0;
381 | defaultConfigurationName = Release;
382 | };
383 | 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "bundleSign_Tests" */ = {
384 | isa = XCConfigurationList;
385 | buildConfigurations = (
386 | 6003F5C3195388D20070C39A /* Debug */,
387 | 6003F5C4195388D20070C39A /* Release */,
388 | );
389 | defaultConfigurationIsVisible = 0;
390 | defaultConfigurationName = Release;
391 | };
392 | /* End XCConfigurationList section */
393 | };
394 | rootObject = 6003F582195388D10070C39A /* Project object */;
395 | }
396 |
--------------------------------------------------------------------------------
/example/podSign/podSign.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 55;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 2229B7E228AD16850038653C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2229B7E128AD16850038653C /* AppDelegate.m */; };
11 | 2229B7E528AD16850038653C /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2229B7E428AD16850038653C /* SceneDelegate.m */; };
12 | 2229B7E828AD16850038653C /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2229B7E728AD16850038653C /* ViewController.m */; };
13 | 2229B7EB28AD16850038653C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2229B7E928AD16850038653C /* Main.storyboard */; };
14 | 2229B7ED28AD16870038653C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2229B7EC28AD16870038653C /* Assets.xcassets */; };
15 | 2229B7F028AD16870038653C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2229B7EE28AD16870038653C /* LaunchScreen.storyboard */; };
16 | 2229B7F328AD16870038653C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2229B7F228AD16870038653C /* main.m */; };
17 | 2E3CEF12322AA2E7389B54C9 /* libPods-podSign.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E68FEE90580D7ADB2484B312 /* libPods-podSign.a */; };
18 | /* End PBXBuildFile section */
19 |
20 | /* Begin PBXFileReference section */
21 | 033D405A2FB545AE554ACFE9 /* Pods-podSign.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-podSign.profile.xcconfig"; path = "Target Support Files/Pods-podSign/Pods-podSign.profile.xcconfig"; sourceTree = ""; };
22 | 0CFF07BBF1AE520F3A4E351F /* Pods-podSign.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-podSign.debug.xcconfig"; path = "Target Support Files/Pods-podSign/Pods-podSign.debug.xcconfig"; sourceTree = ""; };
23 | 1A6DFECA83645495A261B2C9 /* Pods-podSign.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-podSign.release.xcconfig"; path = "Target Support Files/Pods-podSign/Pods-podSign.release.xcconfig"; sourceTree = ""; };
24 | 2229B7DD28AD16850038653C /* podSign.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = podSign.app; sourceTree = BUILT_PRODUCTS_DIR; };
25 | 2229B7E028AD16850038653C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
26 | 2229B7E128AD16850038653C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
27 | 2229B7E328AD16850038653C /* SceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = ""; };
28 | 2229B7E428AD16850038653C /* SceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = ""; };
29 | 2229B7E628AD16850038653C /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
30 | 2229B7E728AD16850038653C /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
31 | 2229B7EA28AD16850038653C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
32 | 2229B7EC28AD16870038653C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
33 | 2229B7EF28AD16870038653C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
34 | 2229B7F128AD16870038653C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
35 | 2229B7F228AD16870038653C /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
36 | E68FEE90580D7ADB2484B312 /* libPods-podSign.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-podSign.a"; sourceTree = BUILT_PRODUCTS_DIR; };
37 | /* End PBXFileReference section */
38 |
39 | /* Begin PBXFrameworksBuildPhase section */
40 | 2229B7DA28AD16850038653C /* Frameworks */ = {
41 | isa = PBXFrameworksBuildPhase;
42 | buildActionMask = 2147483647;
43 | files = (
44 | 2E3CEF12322AA2E7389B54C9 /* libPods-podSign.a in Frameworks */,
45 | );
46 | runOnlyForDeploymentPostprocessing = 0;
47 | };
48 | /* End PBXFrameworksBuildPhase section */
49 |
50 | /* Begin PBXGroup section */
51 | 2229B7D428AD16850038653C = {
52 | isa = PBXGroup;
53 | children = (
54 | 2229B7DF28AD16850038653C /* podSign */,
55 | 2229B7DE28AD16850038653C /* Products */,
56 | 37A5A9EAF7A15FF1C10AEC48 /* Pods */,
57 | CA92FB517EC1635A83158A31 /* Frameworks */,
58 | );
59 | sourceTree = "";
60 | };
61 | 2229B7DE28AD16850038653C /* Products */ = {
62 | isa = PBXGroup;
63 | children = (
64 | 2229B7DD28AD16850038653C /* podSign.app */,
65 | );
66 | name = Products;
67 | sourceTree = "";
68 | };
69 | 2229B7DF28AD16850038653C /* podSign */ = {
70 | isa = PBXGroup;
71 | children = (
72 | 2229B7E028AD16850038653C /* AppDelegate.h */,
73 | 2229B7E128AD16850038653C /* AppDelegate.m */,
74 | 2229B7E328AD16850038653C /* SceneDelegate.h */,
75 | 2229B7E428AD16850038653C /* SceneDelegate.m */,
76 | 2229B7E628AD16850038653C /* ViewController.h */,
77 | 2229B7E728AD16850038653C /* ViewController.m */,
78 | 2229B7E928AD16850038653C /* Main.storyboard */,
79 | 2229B7EC28AD16870038653C /* Assets.xcassets */,
80 | 2229B7EE28AD16870038653C /* LaunchScreen.storyboard */,
81 | 2229B7F128AD16870038653C /* Info.plist */,
82 | 2229B7F228AD16870038653C /* main.m */,
83 | );
84 | path = podSign;
85 | sourceTree = "";
86 | };
87 | 37A5A9EAF7A15FF1C10AEC48 /* Pods */ = {
88 | isa = PBXGroup;
89 | children = (
90 | 0CFF07BBF1AE520F3A4E351F /* Pods-podSign.debug.xcconfig */,
91 | 1A6DFECA83645495A261B2C9 /* Pods-podSign.release.xcconfig */,
92 | 033D405A2FB545AE554ACFE9 /* Pods-podSign.profile.xcconfig */,
93 | );
94 | path = Pods;
95 | sourceTree = "";
96 | };
97 | CA92FB517EC1635A83158A31 /* Frameworks */ = {
98 | isa = PBXGroup;
99 | children = (
100 | E68FEE90580D7ADB2484B312 /* libPods-podSign.a */,
101 | );
102 | name = Frameworks;
103 | sourceTree = "";
104 | };
105 | /* End PBXGroup section */
106 |
107 | /* Begin PBXNativeTarget section */
108 | 2229B7DC28AD16850038653C /* podSign */ = {
109 | isa = PBXNativeTarget;
110 | buildConfigurationList = 2229B7F628AD16870038653C /* Build configuration list for PBXNativeTarget "podSign" */;
111 | buildPhases = (
112 | DB94DF9930CB0BB9200BEF40 /* [CP] Check Pods Manifest.lock */,
113 | 2229B7D928AD16850038653C /* Sources */,
114 | 2229B7DA28AD16850038653C /* Frameworks */,
115 | 2229B7DB28AD16850038653C /* Resources */,
116 | C7A659FC510D477DD25605D1 /* [CP] Copy Pods Resources */,
117 | );
118 | buildRules = (
119 | );
120 | dependencies = (
121 | );
122 | name = podSign;
123 | productName = podSign;
124 | productReference = 2229B7DD28AD16850038653C /* podSign.app */;
125 | productType = "com.apple.product-type.application";
126 | };
127 | /* End PBXNativeTarget section */
128 |
129 | /* Begin PBXProject section */
130 | 2229B7D528AD16850038653C /* Project object */ = {
131 | isa = PBXProject;
132 | attributes = {
133 | BuildIndependentTargetsInParallel = 1;
134 | LastUpgradeCheck = 1340;
135 | TargetAttributes = {
136 | 2229B7DC28AD16850038653C = {
137 | CreatedOnToolsVersion = 13.4.1;
138 | };
139 | };
140 | };
141 | buildConfigurationList = 2229B7D828AD16850038653C /* Build configuration list for PBXProject "podSign" */;
142 | compatibilityVersion = "Xcode 13.0";
143 | developmentRegion = en;
144 | hasScannedForEncodings = 0;
145 | knownRegions = (
146 | en,
147 | Base,
148 | );
149 | mainGroup = 2229B7D428AD16850038653C;
150 | productRefGroup = 2229B7DE28AD16850038653C /* Products */;
151 | projectDirPath = "";
152 | projectRoot = "";
153 | targets = (
154 | 2229B7DC28AD16850038653C /* podSign */,
155 | );
156 | };
157 | /* End PBXProject section */
158 |
159 | /* Begin PBXResourcesBuildPhase section */
160 | 2229B7DB28AD16850038653C /* Resources */ = {
161 | isa = PBXResourcesBuildPhase;
162 | buildActionMask = 2147483647;
163 | files = (
164 | 2229B7F028AD16870038653C /* LaunchScreen.storyboard in Resources */,
165 | 2229B7ED28AD16870038653C /* Assets.xcassets in Resources */,
166 | 2229B7EB28AD16850038653C /* Main.storyboard in Resources */,
167 | );
168 | runOnlyForDeploymentPostprocessing = 0;
169 | };
170 | /* End PBXResourcesBuildPhase section */
171 |
172 | /* Begin PBXShellScriptBuildPhase section */
173 | C7A659FC510D477DD25605D1 /* [CP] Copy Pods Resources */ = {
174 | isa = PBXShellScriptBuildPhase;
175 | buildActionMask = 2147483647;
176 | files = (
177 | );
178 | inputFileListPaths = (
179 | "${PODS_ROOT}/Target Support Files/Pods-podSign/Pods-podSign-resources-${CONFIGURATION}-input-files.xcfilelist",
180 | );
181 | name = "[CP] Copy Pods Resources";
182 | outputFileListPaths = (
183 | "${PODS_ROOT}/Target Support Files/Pods-podSign/Pods-podSign-resources-${CONFIGURATION}-output-files.xcfilelist",
184 | );
185 | runOnlyForDeploymentPostprocessing = 0;
186 | shellPath = /bin/sh;
187 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-podSign/Pods-podSign-resources.sh\"\n";
188 | showEnvVarsInLog = 0;
189 | };
190 | DB94DF9930CB0BB9200BEF40 /* [CP] Check Pods Manifest.lock */ = {
191 | isa = PBXShellScriptBuildPhase;
192 | buildActionMask = 2147483647;
193 | files = (
194 | );
195 | inputFileListPaths = (
196 | );
197 | inputPaths = (
198 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
199 | "${PODS_ROOT}/Manifest.lock",
200 | );
201 | name = "[CP] Check Pods Manifest.lock";
202 | outputFileListPaths = (
203 | );
204 | outputPaths = (
205 | "$(DERIVED_FILE_DIR)/Pods-podSign-checkManifestLockResult.txt",
206 | );
207 | runOnlyForDeploymentPostprocessing = 0;
208 | shellPath = /bin/sh;
209 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
210 | showEnvVarsInLog = 0;
211 | };
212 | /* End PBXShellScriptBuildPhase section */
213 |
214 | /* Begin PBXSourcesBuildPhase section */
215 | 2229B7D928AD16850038653C /* Sources */ = {
216 | isa = PBXSourcesBuildPhase;
217 | buildActionMask = 2147483647;
218 | files = (
219 | 2229B7E828AD16850038653C /* ViewController.m in Sources */,
220 | 2229B7E228AD16850038653C /* AppDelegate.m in Sources */,
221 | 2229B7F328AD16870038653C /* main.m in Sources */,
222 | 2229B7E528AD16850038653C /* SceneDelegate.m in Sources */,
223 | );
224 | runOnlyForDeploymentPostprocessing = 0;
225 | };
226 | /* End PBXSourcesBuildPhase section */
227 |
228 | /* Begin PBXVariantGroup section */
229 | 2229B7E928AD16850038653C /* Main.storyboard */ = {
230 | isa = PBXVariantGroup;
231 | children = (
232 | 2229B7EA28AD16850038653C /* Base */,
233 | );
234 | name = Main.storyboard;
235 | sourceTree = "";
236 | };
237 | 2229B7EE28AD16870038653C /* LaunchScreen.storyboard */ = {
238 | isa = PBXVariantGroup;
239 | children = (
240 | 2229B7EF28AD16870038653C /* Base */,
241 | );
242 | name = LaunchScreen.storyboard;
243 | sourceTree = "";
244 | };
245 | /* End PBXVariantGroup section */
246 |
247 | /* Begin XCBuildConfiguration section */
248 | 2229B7F428AD16870038653C /* Debug */ = {
249 | isa = XCBuildConfiguration;
250 | buildSettings = {
251 | ALWAYS_SEARCH_USER_PATHS = NO;
252 | CLANG_ANALYZER_NONNULL = YES;
253 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
254 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
255 | CLANG_ENABLE_MODULES = YES;
256 | CLANG_ENABLE_OBJC_ARC = YES;
257 | CLANG_ENABLE_OBJC_WEAK = YES;
258 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
259 | CLANG_WARN_BOOL_CONVERSION = YES;
260 | CLANG_WARN_COMMA = YES;
261 | CLANG_WARN_CONSTANT_CONVERSION = YES;
262 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
263 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
264 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
265 | CLANG_WARN_EMPTY_BODY = YES;
266 | CLANG_WARN_ENUM_CONVERSION = YES;
267 | CLANG_WARN_INFINITE_RECURSION = YES;
268 | CLANG_WARN_INT_CONVERSION = YES;
269 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
270 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
271 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
272 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
273 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
274 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
275 | CLANG_WARN_STRICT_PROTOTYPES = YES;
276 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
277 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
278 | CLANG_WARN_UNREACHABLE_CODE = YES;
279 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
280 | COPY_PHASE_STRIP = NO;
281 | DEBUG_INFORMATION_FORMAT = dwarf;
282 | ENABLE_STRICT_OBJC_MSGSEND = YES;
283 | ENABLE_TESTABILITY = YES;
284 | GCC_C_LANGUAGE_STANDARD = gnu11;
285 | GCC_DYNAMIC_NO_PIC = NO;
286 | GCC_NO_COMMON_BLOCKS = YES;
287 | GCC_OPTIMIZATION_LEVEL = 0;
288 | GCC_PREPROCESSOR_DEFINITIONS = (
289 | "DEBUG=1",
290 | "$(inherited)",
291 | );
292 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
293 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
294 | GCC_WARN_UNDECLARED_SELECTOR = YES;
295 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
296 | GCC_WARN_UNUSED_FUNCTION = YES;
297 | GCC_WARN_UNUSED_VARIABLE = YES;
298 | IPHONEOS_DEPLOYMENT_TARGET = 15.5;
299 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
300 | MTL_FAST_MATH = YES;
301 | ONLY_ACTIVE_ARCH = YES;
302 | SDKROOT = iphoneos;
303 | };
304 | name = Debug;
305 | };
306 | 2229B7F528AD16870038653C /* Release */ = {
307 | isa = XCBuildConfiguration;
308 | buildSettings = {
309 | ALWAYS_SEARCH_USER_PATHS = NO;
310 | CLANG_ANALYZER_NONNULL = YES;
311 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
312 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
313 | CLANG_ENABLE_MODULES = YES;
314 | CLANG_ENABLE_OBJC_ARC = YES;
315 | CLANG_ENABLE_OBJC_WEAK = YES;
316 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
317 | CLANG_WARN_BOOL_CONVERSION = YES;
318 | CLANG_WARN_COMMA = YES;
319 | CLANG_WARN_CONSTANT_CONVERSION = YES;
320 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
321 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
322 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
323 | CLANG_WARN_EMPTY_BODY = YES;
324 | CLANG_WARN_ENUM_CONVERSION = YES;
325 | CLANG_WARN_INFINITE_RECURSION = YES;
326 | CLANG_WARN_INT_CONVERSION = YES;
327 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
328 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
329 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
330 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
331 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
332 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
333 | CLANG_WARN_STRICT_PROTOTYPES = YES;
334 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
335 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
336 | CLANG_WARN_UNREACHABLE_CODE = YES;
337 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
338 | COPY_PHASE_STRIP = NO;
339 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
340 | ENABLE_NS_ASSERTIONS = NO;
341 | ENABLE_STRICT_OBJC_MSGSEND = YES;
342 | GCC_C_LANGUAGE_STANDARD = gnu11;
343 | GCC_NO_COMMON_BLOCKS = YES;
344 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
345 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
346 | GCC_WARN_UNDECLARED_SELECTOR = YES;
347 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
348 | GCC_WARN_UNUSED_FUNCTION = YES;
349 | GCC_WARN_UNUSED_VARIABLE = YES;
350 | IPHONEOS_DEPLOYMENT_TARGET = 15.5;
351 | MTL_ENABLE_DEBUG_INFO = NO;
352 | MTL_FAST_MATH = YES;
353 | SDKROOT = iphoneos;
354 | VALIDATE_PRODUCT = YES;
355 | };
356 | name = Release;
357 | };
358 | 2229B7F728AD16870038653C /* Debug */ = {
359 | isa = XCBuildConfiguration;
360 | baseConfigurationReference = 0CFF07BBF1AE520F3A4E351F /* Pods-podSign.debug.xcconfig */;
361 | buildSettings = {
362 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
363 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
364 | CODE_SIGN_IDENTITY = "Apple Development";
365 | CODE_SIGN_STYLE = Automatic;
366 | CURRENT_PROJECT_VERSION = 1;
367 | DEVELOPMENT_TEAM = YYLJMVA5FX;
368 | GENERATE_INFOPLIST_FILE = YES;
369 | INFOPLIST_FILE = podSign/Info.plist;
370 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
371 | INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
372 | INFOPLIST_KEY_UIMainStoryboardFile = Main;
373 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
374 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
375 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
376 | LD_RUNPATH_SEARCH_PATHS = (
377 | "$(inherited)",
378 | "@executable_path/Frameworks",
379 | );
380 | MARKETING_VERSION = 1.0;
381 | PRODUCT_BUNDLE_IDENTIFIER = com.lvsongguo.www.app;
382 | PRODUCT_NAME = "$(TARGET_NAME)";
383 | PROVISIONING_PROFILE_SPECIFIER = "";
384 | SWIFT_EMIT_LOC_STRINGS = YES;
385 | TARGETED_DEVICE_FAMILY = "1,2";
386 | };
387 | name = Debug;
388 | };
389 | 2229B7F828AD16870038653C /* Release */ = {
390 | isa = XCBuildConfiguration;
391 | baseConfigurationReference = 1A6DFECA83645495A261B2C9 /* Pods-podSign.release.xcconfig */;
392 | buildSettings = {
393 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
394 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
395 | CODE_SIGN_STYLE = Manual;
396 | CURRENT_PROJECT_VERSION = 1;
397 | DEVELOPMENT_TEAM = "";
398 | GENERATE_INFOPLIST_FILE = YES;
399 | INFOPLIST_FILE = podSign/Info.plist;
400 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
401 | INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
402 | INFOPLIST_KEY_UIMainStoryboardFile = Main;
403 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
404 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
405 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
406 | LD_RUNPATH_SEARCH_PATHS = (
407 | "$(inherited)",
408 | "@executable_path/Frameworks",
409 | );
410 | MARKETING_VERSION = 1.0;
411 | PRODUCT_BUNDLE_IDENTIFIER = com.ccc.ddd;
412 | PRODUCT_NAME = "$(TARGET_NAME)";
413 | PROVISIONING_PROFILE_SPECIFIER = "";
414 | SWIFT_EMIT_LOC_STRINGS = YES;
415 | TARGETED_DEVICE_FAMILY = "1,2";
416 | };
417 | name = Release;
418 | };
419 | 2288DF7028AD1EC300983D40 /* Profile */ = {
420 | isa = XCBuildConfiguration;
421 | buildSettings = {
422 | ALWAYS_SEARCH_USER_PATHS = NO;
423 | CLANG_ANALYZER_NONNULL = YES;
424 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
425 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
426 | CLANG_ENABLE_MODULES = YES;
427 | CLANG_ENABLE_OBJC_ARC = YES;
428 | CLANG_ENABLE_OBJC_WEAK = YES;
429 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
430 | CLANG_WARN_BOOL_CONVERSION = YES;
431 | CLANG_WARN_COMMA = YES;
432 | CLANG_WARN_CONSTANT_CONVERSION = YES;
433 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
434 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
435 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
436 | CLANG_WARN_EMPTY_BODY = YES;
437 | CLANG_WARN_ENUM_CONVERSION = YES;
438 | CLANG_WARN_INFINITE_RECURSION = YES;
439 | CLANG_WARN_INT_CONVERSION = YES;
440 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
441 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
442 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
443 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
444 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
445 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
446 | CLANG_WARN_STRICT_PROTOTYPES = YES;
447 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
448 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
449 | CLANG_WARN_UNREACHABLE_CODE = YES;
450 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
451 | COPY_PHASE_STRIP = NO;
452 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
453 | ENABLE_NS_ASSERTIONS = NO;
454 | ENABLE_STRICT_OBJC_MSGSEND = YES;
455 | GCC_C_LANGUAGE_STANDARD = gnu11;
456 | GCC_NO_COMMON_BLOCKS = YES;
457 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
458 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
459 | GCC_WARN_UNDECLARED_SELECTOR = YES;
460 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
461 | GCC_WARN_UNUSED_FUNCTION = YES;
462 | GCC_WARN_UNUSED_VARIABLE = YES;
463 | IPHONEOS_DEPLOYMENT_TARGET = 15.5;
464 | MTL_ENABLE_DEBUG_INFO = NO;
465 | MTL_FAST_MATH = YES;
466 | SDKROOT = iphoneos;
467 | VALIDATE_PRODUCT = YES;
468 | };
469 | name = Profile;
470 | };
471 | 2288DF7128AD1EC300983D40 /* Profile */ = {
472 | isa = XCBuildConfiguration;
473 | baseConfigurationReference = 033D405A2FB545AE554ACFE9 /* Pods-podSign.profile.xcconfig */;
474 | buildSettings = {
475 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
476 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
477 | CODE_SIGN_IDENTITY = "Apple Development";
478 | CODE_SIGN_STYLE = Manual;
479 | CURRENT_PROJECT_VERSION = 1;
480 | DEVELOPMENT_TEAM = "";
481 | GENERATE_INFOPLIST_FILE = YES;
482 | INFOPLIST_FILE = podSign/Info.plist;
483 | INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
484 | INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
485 | INFOPLIST_KEY_UIMainStoryboardFile = Main;
486 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
487 | INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
488 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
489 | LD_RUNPATH_SEARCH_PATHS = (
490 | "$(inherited)",
491 | "@executable_path/Frameworks",
492 | );
493 | MARKETING_VERSION = 1.0;
494 | PRODUCT_BUNDLE_IDENTIFIER = com.lvsongguo.www.app;
495 | PRODUCT_NAME = "$(TARGET_NAME)";
496 | PROVISIONING_PROFILE_SPECIFIER = "";
497 | SWIFT_EMIT_LOC_STRINGS = YES;
498 | TARGETED_DEVICE_FAMILY = "1,2";
499 | };
500 | name = Profile;
501 | };
502 | /* End XCBuildConfiguration section */
503 |
504 | /* Begin XCConfigurationList section */
505 | 2229B7D828AD16850038653C /* Build configuration list for PBXProject "podSign" */ = {
506 | isa = XCConfigurationList;
507 | buildConfigurations = (
508 | 2229B7F428AD16870038653C /* Debug */,
509 | 2229B7F528AD16870038653C /* Release */,
510 | 2288DF7028AD1EC300983D40 /* Profile */,
511 | );
512 | defaultConfigurationIsVisible = 0;
513 | defaultConfigurationName = Release;
514 | };
515 | 2229B7F628AD16870038653C /* Build configuration list for PBXNativeTarget "podSign" */ = {
516 | isa = XCConfigurationList;
517 | buildConfigurations = (
518 | 2229B7F728AD16870038653C /* Debug */,
519 | 2229B7F828AD16870038653C /* Release */,
520 | 2288DF7128AD1EC300983D40 /* Profile */,
521 | );
522 | defaultConfigurationIsVisible = 0;
523 | defaultConfigurationName = Release;
524 | };
525 | /* End XCConfigurationList section */
526 | };
527 | rootObject = 2229B7D528AD16850038653C /* Project object */;
528 | }
529 |
--------------------------------------------------------------------------------