mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-10 22:45:59 +05:45
* Create NanoPb code generation scripts (#8336) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update proto_generator.py * Update README.md * Create nanopb options file. (#8371) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update perf_metrics.options * Update options with map * Add generated proto files. * Update imports. * Convert Objective-C Classes to Nanopb (#8387) * Convert all traces to nanopb * Refactor for loop. * Add set has_application_info to true. * Incorporated comments. * Fix style * Create NanoPb code generation scripts (#8336) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update proto_generator.py * Update README.md * Create nanopb options file. (#8371) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update perf_metrics.options * Update options with map * Add generated proto files. * Update imports. * Convert Objective-C Classes to Nanopb (#8387) * Convert all traces to nanopb * Refactor for loop. * Add set has_application_info to true. * Incorporated comments. * Fix style * Fix style * Convert nanopb struct to GDTCOREventDataObject and update the source code to use nanopb struct. (#8439) * Convert all traces to nanopb * Refactor for loop. * WIP: nanopb conversion in FPRClient and FPREvent * Update FPRClientTest.m * Update FPRClient.m * Update FPRClientTest.m * Add set has_application_info to true. * Remove proto imports. * Set has_fields to be true in FPRTestUtils.m * Completed GDTEvent conversion. * Fix sampler tests. * Fix style * Refactor nanopb struct setter * Fix style * Fix pod-lib-lint failures. * Update FPRClient with decoded string * Set some "_has" fields to true. * Add prefix to extern methods. * Fix style. * Update FPRClient to use trace.name without FPRDecodeString * Fix style * Incorporate comments. * Integrate Performance with SPM (#8476) * Convert all traces to nanopb * Refactor for loop. * WIP: nanopb conversion in FPRClient and FPREvent * Update FPRClientTest.m * Update FPRClient.m * Update FPRClientTest.m * Add set has_application_info to true. * Remove proto imports. * Set has_fields to be true in FPRTestUtils.m * Completed GDTEvent conversion. * Fix sampler tests. * Fix style * Refactor nanopb struct setter * Fix style * Fix pod-lib-lint failures. * Update FPRClient with decoded string * Set some "_has" fields to true. * Add prefix to extern methods. * Fix style. * Update FPRClient to use trace.name without FPRDecodeString * Fix style * Update Package.swift * Update Package.swift * Update Package.swift * Made SDK and unit tests buildable. * Made all unit tests passing. * Update keyWindow style. * Add Performance to workflow. * Update FPRUIViewControllerInstrument.h * Incorporate comments. * Add Performance to SwiftPMTests. * Update style. * Fix Unit tests and update workflow. * Add FirebasePerformance wrapper * Update import statement. * Update style. * Update performance.yml * Create PerformanceUnit.xcscheme * Update objc-module.m * Update objc-module.m * Updae objc-header.m * Update objc-header.m * Incorporate feedback. * Update objc-header.m * Organize folder structure to fix the spm tests. * Update public import path * Delete xcodebuild.log * Update workflow files * Fix failing swift-test for Perf SPM (#8507) * Fix UIKit import * Update FPRNetworkTraceTest.m * Exclude TARGET_OS_MACCATALYST from objc header test * Update main.swift * Update main.swift Co-authored-by: Paul Beusterien <paulbeusterien@google.com> * Remove Protobuf dependency (#8511) * Remove protobuf dependency * Update FirebasePerformance.podspec * Incorporate comments. * Update UIKit import Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
119 lines
4.2 KiB
Ruby
119 lines
4.2 KiB
Ruby
Pod::Spec.new do |s|
|
|
s.name = 'FirebasePerformance'
|
|
s.version = '8.6.0'
|
|
s.summary = 'Firebase Performance'
|
|
|
|
s.description = <<-DESC
|
|
Firebase Performance library to measure performance of Mobile and Web Apps.
|
|
DESC
|
|
|
|
s.homepage = 'https://firebase.google.com'
|
|
s.license = { :type => 'Apache', :file => 'LICENSE' }
|
|
s.authors = 'Google, Inc.'
|
|
|
|
s.source = {
|
|
:git => 'https://github.com/firebase/firebase-ios-sdk.git',
|
|
:tag => 'CocoaPods-' + s.version.to_s
|
|
}
|
|
s.social_media_url = 'https://twitter.com/Firebase'
|
|
|
|
ios_deployment_target = '10.0'
|
|
tvos_deployment_target = '10.0'
|
|
|
|
s.ios.deployment_target = ios_deployment_target
|
|
s.tvos.deployment_target = tvos_deployment_target
|
|
|
|
s.cocoapods_version = '>= 1.4.0'
|
|
s.prefix_header_file = false
|
|
|
|
base_dir = "FirebasePerformance/"
|
|
s.source_files = [
|
|
base_dir + 'Sources/**/*.[cmh]',
|
|
'FirebaseCore/Sources/Private/*.h',
|
|
'FirebaseInstallations/Source/Library/Private/*.h',
|
|
'FirebaseRemoteConfig/Sources/Private/*.h',
|
|
]
|
|
|
|
s.requires_arc = [
|
|
base_dir + 'Sources/**/*.[mh]',
|
|
base_dir + 'Public/**/*.h',
|
|
]
|
|
|
|
s.public_header_files = base_dir + 'Sources/Public/FirebasePerformance/*.h'
|
|
|
|
preprocessor_definitions = 'FIRPerformance_LIB_VERSION=' + String(s.version)
|
|
preprocessor_definitions += ' PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1'
|
|
if ENV['FPR_UNSWIZZLE_AVAILABLE'] && ENV['FPR_UNSWIZZLE_AVAILABLE'] == '1' then
|
|
preprocessor_definitions += ' UNSWIZZLE_AVAILABLE=1'
|
|
end
|
|
|
|
s.pod_target_xcconfig = {
|
|
'GCC_C_LANGUAGE_STANDARD' => 'c99',
|
|
'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions,
|
|
# Unit tests do library imports using repo-root relative paths.
|
|
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"',
|
|
}
|
|
|
|
s.ios.framework = 'CoreTelephony'
|
|
s.framework = 'QuartzCore'
|
|
s.framework = 'SystemConfiguration'
|
|
s.dependency 'FirebaseCore', '~> 8.0'
|
|
s.dependency 'FirebaseInstallations', '~> 8.0'
|
|
s.dependency 'FirebaseRemoteConfig', '~> 8.0'
|
|
s.dependency 'GoogleDataTransport', '~> 9.0'
|
|
s.dependency 'GoogleUtilities/Environment', '~> 7.4'
|
|
s.dependency 'GoogleUtilities/ISASwizzler', '~> 7.4'
|
|
s.dependency 'GoogleUtilities/MethodSwizzler', '~> 7.4'
|
|
s.dependency 'nanopb', '~> 2.30908.0'
|
|
|
|
s.test_spec 'unit' do |unit_tests|
|
|
unit_tests.platforms = {:ios => ios_deployment_target, :tvos => tvos_deployment_target}
|
|
unit_tests.scheme = { :code_coverage => true }
|
|
unit_tests.source_files = [
|
|
'FirebasePerformance/Tests/Unit/**/*.{m,h,plist}',
|
|
'SharedTestUtilities/*.[hm]',
|
|
]
|
|
unit_tests.resources = ['FirebasePerformance/Tests/Unit/Server/*File']
|
|
unit_tests.requires_arc = true
|
|
unit_tests.requires_app_host = true
|
|
unit_tests.pod_target_xcconfig = {
|
|
'CLANG_ENABLE_OBJC_WEAK' => 'YES',
|
|
}
|
|
unit_tests.info_plist = {
|
|
'FPRTestingDummyFeature' => true,
|
|
'FPRScreenTracesForContainerVC' => true,
|
|
'FPRDelegateSwizzling' => true,
|
|
'FPRNSURLConnection' => true,
|
|
'FPRScreenTracesSwizzling' => true,
|
|
'FPRScreenTraces' => false,
|
|
}
|
|
|
|
unit_tests.dependency 'GoogleUtilities/SwizzlerTestHelpers'
|
|
unit_tests.dependency 'OCMock'
|
|
unit_tests.dependency 'GCDWebServer'
|
|
end
|
|
|
|
s.app_spec 'TestApp' do |app_spec|
|
|
app_spec.platforms = {:ios => ios_deployment_target, :tvos => tvos_deployment_target}
|
|
app_spec.source_files = ['FirebasePerformance/Tests/TestApp/Source/**/*.{m,h}']
|
|
ios_resources = ['FirebasePerformance/Tests/TestApp/Resources/*.*']
|
|
if ENV['FPR_AUTOPUSH_ENV'] && ENV['FPR_AUTOPUSH_ENV'] == '1' then
|
|
ios_resources += ['FirebasePerformance/Tests/TestApp/Plists/Autopush/**/*.plist']
|
|
app_spec.info_plist = {
|
|
'CFBundleIdentifier' => 'com.google.FIRPerfTestAppAutopush'
|
|
}
|
|
app_spec.scheme = {
|
|
:environment_variables => { "FPR_AUTOPUSH_ENV" => "1" }
|
|
}
|
|
else
|
|
ios_resources += ['FirebasePerformance/Tests/TestApp/Plists/Prod/**/*.plist']
|
|
app_spec.info_plist = {
|
|
'CFBundleIdentifier' => 'com.google.FIRPerfTestApp'
|
|
}
|
|
end
|
|
app_spec.ios.resources = ios_resources
|
|
app_spec.requires_arc = true
|
|
end
|
|
|
|
end
|