├── .prettierignore ├── dist ├── esm │ ├── definitions.js │ ├── definitions.js.map │ ├── index.d.ts │ ├── index.js │ ├── index.js.map │ ├── definitions.d.ts │ ├── web.d.ts │ ├── web.js.map │ └── web.js ├── plugin.cjs.js ├── plugin.js ├── plugin.js.map └── plugin.cjs.js.map ├── .DS_Store ├── .gitignore ├── .npmignore ├── ios ├── Pods │ ├── Target Support Files │ │ ├── Capacitor │ │ │ ├── Capacitor-dummy.m │ │ │ ├── Capacitor.modulemap │ │ │ ├── Capacitor-prefix.pch │ │ │ ├── Capacitor.debug.xcconfig │ │ │ ├── Capacitor.release.xcconfig │ │ │ └── Capacitor-Info.plist │ │ ├── CapacitorCordova │ │ │ ├── CapacitorCordova.modulemap │ │ │ ├── CapacitorCordova-dummy.m │ │ │ ├── CapacitorCordova-prefix.pch │ │ │ ├── CapacitorCordova.debug.xcconfig │ │ │ ├── CapacitorCordova.release.xcconfig │ │ │ └── CapacitorCordova-Info.plist │ │ ├── Pods-Plugin │ │ │ ├── Pods-Plugin.modulemap │ │ │ ├── Pods-Plugin-dummy.m │ │ │ ├── Pods-Plugin-umbrella.h │ │ │ ├── Pods-Plugin-Info.plist │ │ │ ├── Pods-Plugin.debug.xcconfig │ │ │ ├── Pods-Plugin.release.xcconfig │ │ │ ├── Pods-Plugin-acknowledgements.markdown │ │ │ └── Pods-Plugin-acknowledgements.plist │ │ └── Pods-PluginTests │ │ │ ├── Pods-PluginTests.modulemap │ │ │ ├── Pods-PluginTests-dummy.m │ │ │ ├── Pods-PluginTests-umbrella.h │ │ │ ├── Pods-PluginTests-Info.plist │ │ │ ├── Pods-PluginTests.debug.xcconfig │ │ │ ├── Pods-PluginTests.release.xcconfig │ │ │ ├── Pods-PluginTests-acknowledgements.markdown │ │ │ ├── Pods-PluginTests-acknowledgements.plist │ │ │ └── Pods-PluginTests-frameworks.sh │ ├── Manifest.lock │ ├── Pods.xcodeproj │ │ └── xcuserdata │ │ │ ├── mig.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ ├── Capacitor.xcscheme │ │ │ │ ├── Pods-Plugin.xcscheme │ │ │ │ ├── CapacitorCordova.xcscheme │ │ │ │ └── Pods-PluginTests.xcscheme │ │ │ ├── root.xcuserdatad │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ ├── Capacitor.xcscheme │ │ │ │ ├── Pods-Plugin.xcscheme │ │ │ │ ├── CapacitorCordova.xcscheme │ │ │ │ └── Pods-PluginTests.xcscheme │ │ │ └── migtam.xcuserdatad │ │ │ └── xcschemes │ │ │ ├── xcschememanagement.plist │ │ │ ├── Capacitor.xcscheme │ │ │ ├── Pods-Plugin.xcscheme │ │ │ ├── CapacitorCordova.xcscheme │ │ │ └── Pods-PluginTests.xcscheme │ └── Local Podspecs │ │ ├── CapacitorCordova.podspec.json │ │ └── Capacitor.podspec.json ├── Plugin.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── xcshareddata │ │ └── xcschemes │ │ │ ├── PluginTests.xcscheme │ │ │ └── Plugin.xcscheme │ └── project.pbxproj ├── Plugin.xcworkspace │ ├── xcuserdata │ │ └── migtam.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── Plugin │ ├── IOSAppTrackingPlugin.swift │ ├── IOSAppTrackingPluginPlugin.h │ ├── IOSAppTrackingPluginPlugin.m │ ├── Info.plist │ └── IOSAppTrackingPluginPlugin.swift ├── Podfile ├── Podfile.lock └── PluginTests │ ├── Info.plist │ └── IOSAppTrackingPluginPluginTests.swift ├── src ├── definitions.ts ├── index.ts └── web.ts ├── tsconfig.json ├── rollup.config.js ├── CapacitorIosAppTracking.podspec ├── CONTRIBUTING.md ├── package.json └── README.md /.prettierignore: -------------------------------------------------------------------------------- 1 | build 2 | dist 3 | -------------------------------------------------------------------------------- /dist/esm/definitions.js: -------------------------------------------------------------------------------- 1 | export {}; 2 | //# sourceMappingURL=definitions.js.map -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/migtam628/capacitor-ios-app-tracking/HEAD/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore 2 | node_modules 3 | .vscode 4 | package-lock.json 5 | capacitor-ios-app-tracking-0.1.0.tgz -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # .npmignore 2 | node_modules 3 | .vscode 4 | package-lock.json 5 | capacitor-ios-app-tracking-0.1.0.tgz 6 | -------------------------------------------------------------------------------- /dist/esm/definitions.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Capacitor : NSObject 3 | @end 4 | @implementation PodsDummy_Capacitor 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.modulemap: -------------------------------------------------------------------------------- 1 | framework module Cordova { 2 | umbrella header "CapacitorCordova.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Plugin { 2 | umbrella header "Pods-Plugin-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Plugin : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Plugin 5 | @end 6 | -------------------------------------------------------------------------------- /dist/esm/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { IOSAppTrackingPlugin } from './definitions'; 2 | declare const AppTrackingTransparency: IOSAppTrackingPlugin; 3 | export * from './definitions'; 4 | export { AppTrackingTransparency }; 5 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor.modulemap: -------------------------------------------------------------------------------- 1 | framework module Capacitor { 2 | umbrella header "Capacitor.h" 3 | exclude header "CAPBridgedJSTypes.h" 4 | 5 | export * 6 | module * { export * } 7 | } -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_PluginTests { 2 | umbrella header "Pods-PluginTests-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ios/Plugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_CapacitorCordova : NSObject 3 | @end 4 | @implementation PodsDummy_CapacitorCordova 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PluginTests : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PluginTests 5 | @end 6 | -------------------------------------------------------------------------------- /ios/Plugin.xcworkspace/xcuserdata/migtam.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/migtam628/capacitor-ios-app-tracking/HEAD/ios/Plugin.xcworkspace/xcuserdata/migtam.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ios/Plugin.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/Plugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /dist/esm/index.js: -------------------------------------------------------------------------------- 1 | import { registerPlugin } from '@capacitor/core'; 2 | const AppTrackingTransparency = registerPlugin('AppTrackingTransparency', { 3 | web: () => import('./web').then(m => new m.IOSAppTrackingWeb()), 4 | }); 5 | export * from './definitions'; 6 | export { AppTrackingTransparency }; 7 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /ios/Plugin.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/Plugin/IOSAppTrackingPlugin.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | @objc public class IOSAppTrackingPlugin: NSObject { 4 | 5 | @objc public func getTrackingStatus(_ value: String) -> String { 6 | return value 7 | } 8 | 9 | @objc public func requestPermission(_ value: String) -> String { 10 | return value 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /dist/esm/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,MAAM,uBAAuB,GAAG,cAAc,CAC1C,yBAAyB,EACzB;IACI,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;CAClE,CACJ,CAAC;AAEF,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,CAAC"} -------------------------------------------------------------------------------- /dist/esm/definitions.d.ts: -------------------------------------------------------------------------------- 1 | export interface IOSAppTrackingPlugin { 2 | getTrackingStatus(): Promise; 3 | requestPermission(): Promise; 4 | } 5 | export interface IOSAppTrackingResponse { 6 | code: string; 7 | status: IOSAppTrackingStatus; 8 | } 9 | export declare type IOSAppTrackingStatus = 'authorized' | 'denied' | 'unrequested' | 'restricted'; 10 | -------------------------------------------------------------------------------- /src/definitions.ts: -------------------------------------------------------------------------------- 1 | export interface IOSAppTrackingPlugin { 2 | getTrackingStatus(): Promise; 3 | requestPermission(): Promise; 4 | } 5 | 6 | export interface IOSAppTrackingResponse { 7 | code: string; 8 | status: IOSAppTrackingStatus; 9 | } 10 | 11 | export type IOSAppTrackingStatus = 'authorized' | 'denied' | 'unrequested' | 'restricted' 12 | 13 | 14 | -------------------------------------------------------------------------------- /ios/Plugin/IOSAppTrackingPluginPlugin.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | //! Project version number for Plugin. 4 | FOUNDATION_EXPORT double PluginVersionNumber; 5 | 6 | //! Project version string for Plugin. 7 | FOUNDATION_EXPORT const unsigned char PluginVersionString[]; 8 | 9 | // In this header, you should import all the public headers of your framework using statements like #import 10 | 11 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { registerPlugin } from '@capacitor/core'; 2 | 3 | import type { IOSAppTrackingPlugin } from './definitions'; 4 | 5 | const AppTrackingTransparency = registerPlugin( 6 | 'AppTrackingTransparency', 7 | { 8 | web: () => import('./web').then(m => new m.IOSAppTrackingWeb()), 9 | }, 10 | ); 11 | 12 | export * from './definitions'; 13 | export { AppTrackingTransparency }; -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_PluginVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_PluginVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '12.0' 2 | 3 | def capacitor_pods 4 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 5 | use_frameworks! 6 | pod 'Capacitor', :path => '../node_modules/@capacitor/ios' 7 | pod 'CapacitorCordova', :path => '../node_modules/@capacitor/ios' 8 | end 9 | 10 | target 'Plugin' do 11 | capacitor_pods 12 | end 13 | 14 | target 'PluginTests' do 15 | capacitor_pods 16 | end 17 | -------------------------------------------------------------------------------- /dist/esm/web.d.ts: -------------------------------------------------------------------------------- 1 | import { WebPlugin } from "@capacitor/core"; 2 | import type { IOSAppTrackingPlugin, IOSAppTrackingResponse, IOSAppTrackingStatus } from "./definitions"; 3 | export declare class IOSAppTrackingWeb extends WebPlugin implements IOSAppTrackingPlugin { 4 | constructor(); 5 | IOSAppTrackingStatus: IOSAppTrackingStatus; 6 | getTrackingStatus(): Promise; 7 | requestPermission(): Promise; 8 | } 9 | -------------------------------------------------------------------------------- /ios/Plugin/IOSAppTrackingPluginPlugin.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | // Define the plugin using the CAP_PLUGIN Macro, and 5 | // each method the plugin supports using the CAP_PLUGIN_METHOD macro. 6 | CAP_PLUGIN(IOSAppTracking, "AppTrackingTransparency", 7 | CAP_PLUGIN_METHOD(requestPermission, CAPPluginReturnPromise); 8 | CAP_PLUGIN_METHOD(getTrackingStatus, CAPPluginReturnPromise); 9 | ) 10 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_PluginTestsVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_PluginTestsVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /dist/esm/web.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAE9C;QACE,KAAK,CAAC;YACJ,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,CAAC,KAAK,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC/C,CAAC;CACF"} -------------------------------------------------------------------------------- /dist/esm/web.js: -------------------------------------------------------------------------------- 1 | import { WebPlugin } from "@capacitor/core"; 2 | export class IOSAppTrackingWeb extends WebPlugin { 3 | constructor() { 4 | super({ 5 | name: "IOSAppTracking", 6 | platforms: ["web"], 7 | }); 8 | } 9 | async getTrackingStatus() { 10 | return { code: '200', status: 'authorized' }; 11 | } 12 | async requestPermission() { 13 | return { code: '200', status: 'authorized' }; 14 | } 15 | } 16 | //# sourceMappingURL=web.js.map -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowSyntheticDefaultImports": true, 4 | "declaration": true, 5 | "experimentalDecorators": true, 6 | "lib": [ 7 | "dom", 8 | "es2017" 9 | ], 10 | "module": "ESNext", 11 | "moduleResolution": "node", 12 | "noImplicitAny": true, 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "outDir": "dist/esm", 16 | "sourceMap": true, 17 | "target": "es2017" 18 | }, 19 | "files": [ 20 | "src/index.ts" 21 | ] 22 | } -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | input: 'dist/esm/index.js', 3 | output: [ 4 | { 5 | file: 'dist/plugin.js', 6 | format: 'iife', 7 | name: 'capacitorIOSAppTrackingPlugin', 8 | globals: { 9 | '@capacitor/core': 'capacitorExports', 10 | }, 11 | sourcemap: true, 12 | inlineDynamicImports: true, 13 | }, 14 | { 15 | file: 'dist/plugin.cjs.js', 16 | format: 'cjs', 17 | sourcemap: true, 18 | inlineDynamicImports: true, 19 | }, 20 | ], 21 | external: ['@capacitor/core'], 22 | }; 23 | -------------------------------------------------------------------------------- /CapacitorIosAppTracking.podspec: -------------------------------------------------------------------------------- 1 | require 'json' 2 | 3 | package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) 4 | 5 | Pod::Spec.new do |s| 6 | s.name = 'CapacitorIosAppTracking' 7 | s.version = package['version'] 8 | s.summary = package['description'] 9 | s.license = package['license'] 10 | s.homepage = package['repository']['url'] 11 | s.author = package['author'] 12 | s.source = { :git => package['repository']['url'], :tag => s.version.to_s } 13 | s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}' 14 | s.ios.deployment_target = '12.0' 15 | s.dependency 'Capacitor' 16 | s.swift_version = '5.1' 17 | end 18 | 19 | 20 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Capacitor (3.1.2): 3 | - CapacitorCordova 4 | - CapacitorCordova (3.1.2) 5 | 6 | DEPENDENCIES: 7 | - "Capacitor (from `../node_modules/@capacitor/ios`)" 8 | - "CapacitorCordova (from `../node_modules/@capacitor/ios`)" 9 | 10 | EXTERNAL SOURCES: 11 | Capacitor: 12 | :path: "../node_modules/@capacitor/ios" 13 | CapacitorCordova: 14 | :path: "../node_modules/@capacitor/ios" 15 | 16 | SPEC CHECKSUMS: 17 | Capacitor: 9d06cf7a97c4752037907979baade2f79f2800fa 18 | CapacitorCordova: b8e7144f5dad047965035dbed9c9855b1f0f64e8 19 | 20 | PODFILE CHECKSUM: d908dea01cb4b1885654341d3f4274148fb6d382 21 | 22 | COCOAPODS: 1.10.1 23 | -------------------------------------------------------------------------------- /ios/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Capacitor (3.1.2): 3 | - CapacitorCordova 4 | - CapacitorCordova (3.1.2) 5 | 6 | DEPENDENCIES: 7 | - "Capacitor (from `../node_modules/@capacitor/ios`)" 8 | - "CapacitorCordova (from `../node_modules/@capacitor/ios`)" 9 | 10 | EXTERNAL SOURCES: 11 | Capacitor: 12 | :path: "../node_modules/@capacitor/ios" 13 | CapacitorCordova: 14 | :path: "../node_modules/@capacitor/ios" 15 | 16 | SPEC CHECKSUMS: 17 | Capacitor: 9d06cf7a97c4752037907979baade2f79f2800fa 18 | CapacitorCordova: b8e7144f5dad047965035dbed9c9855b1f0f64e8 19 | 20 | PODFILE CHECKSUM: d908dea01cb4b1885654341d3f4274148fb6d382 21 | 22 | COCOAPODS: 1.10.1 23 | -------------------------------------------------------------------------------- /src/web.ts: -------------------------------------------------------------------------------- 1 | import { WebPlugin } from "@capacitor/core"; 2 | import type { IOSAppTrackingPlugin, IOSAppTrackingResponse, IOSAppTrackingStatus } from "./definitions"; 3 | 4 | export class IOSAppTrackingWeb extends WebPlugin 5 | implements IOSAppTrackingPlugin { 6 | constructor() { 7 | super({ 8 | name: "IOSAppTracking", 9 | platforms: ["web"], 10 | }); 11 | } 12 | IOSAppTrackingStatus: IOSAppTrackingStatus 13 | async getTrackingStatus(): Promise { 14 | return { code: '200', status: 'authorized' }; 15 | } 16 | 17 | async requestPermission(): Promise { 18 | return { code: '200', status: 'authorized' }; 19 | } 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "WebKit" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@capacitor/ios 9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 13 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "WebKit" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@capacitor/ios 9 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 13 | -------------------------------------------------------------------------------- /ios/PluginTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/mig.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Capacitor.xcscheme 8 | 9 | isShown 10 | 11 | 12 | CapacitorCordova.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-Plugin.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Pods-PluginTests.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/root.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Capacitor.xcscheme 8 | 9 | isShown 10 | 11 | 12 | CapacitorCordova.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-Plugin.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Pods-PluginTests.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/migtam.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Capacitor.xcscheme 8 | 9 | isShown 10 | 11 | 12 | CapacitorCordova.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-Plugin.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Pods-PluginTests.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Capacitor 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@capacitor/ios 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Capacitor 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@capacitor/ios 10 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /ios/Pods/Local Podspecs/CapacitorCordova.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CapacitorCordova", 3 | "module_name": "Cordova", 4 | "version": "3.1.2", 5 | "summary": "Capacitor Cordova Compatibility Layer", 6 | "homepage": "https://capacitorjs.com", 7 | "license": "MIT", 8 | "authors": { 9 | "Ionic Team": "hi@ionicframework.com" 10 | }, 11 | "source": { 12 | "git": "https://github.com/ionic-team/capacitor", 13 | "tag": "3.1.2" 14 | }, 15 | "platforms": { 16 | "ios": "12.0" 17 | }, 18 | "source_files": "CapacitorCordova/**/*.{h,m}", 19 | "public_header_files": [ 20 | "CapacitorCordova/CapacitorCordova/Classes/Public/*.h", 21 | "CapacitorCordova/CapacitorCordova/CapacitorCordova.h" 22 | ], 23 | "module_map": "CapacitorCordova/CapacitorCordova/CapacitorCordova.modulemap", 24 | "requires_arc": true, 25 | "frameworks": "WebKit" 26 | } 27 | -------------------------------------------------------------------------------- /ios/Plugin/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /ios/PluginTests/IOSAppTrackingPluginPluginTests.swift: -------------------------------------------------------------------------------- 1 | import XCTest 2 | @testable import Plugin 3 | 4 | class IOSAppTrackingPluginTests: XCTestCase { 5 | override func setUp() { 6 | super.setUp() 7 | // Put setup code here. This method is called before the invocation of each test method in the class. 8 | } 9 | 10 | override func tearDown() { 11 | // Put teardown code here. This method is called after the invocation of each test method in the class. 12 | super.tearDown() 13 | } 14 | 15 | func testEcho() { 16 | // This is an example of a functional test case for a plugin. 17 | // Use XCTAssert and related functions to verify your tests produce the correct results. 18 | 19 | let implementation = IOSAppTrackingPlugin() 20 | let value = "Hello, World!" 21 | let result = implementation.echo(value) 22 | 23 | XCTAssertEqual(value, result) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Capacitor/Capacitor-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 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 3.1.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-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 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Local Podspecs/Capacitor.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Capacitor", 3 | "version": "3.1.2", 4 | "summary": "Capacitor for iOS", 5 | "social_media_url": "https://twitter.com/capacitorjs", 6 | "license": "MIT", 7 | "homepage": "https://capacitorjs.com/", 8 | "platforms": { 9 | "ios": "12.0" 10 | }, 11 | "authors": { 12 | "Ionic Team": "hi@ionicframework.com" 13 | }, 14 | "source": { 15 | "git": "https://github.com/ionic-team/capacitor.git", 16 | "tag": "3.1.2" 17 | }, 18 | "source_files": [ 19 | "Capacitor/Capacitor/*.{swift,h,m}", 20 | "Capacitor/Capacitor/Plugins/*.{swift,h,m}", 21 | "Capacitor/Capacitor/Plugins/**/*.{swift,h,m}" 22 | ], 23 | "module_map": "Capacitor/Capacitor/Capacitor.modulemap", 24 | "resources": [ 25 | "Capacitor/Capacitor/assets/native-bridge.js" 26 | ], 27 | "dependencies": { 28 | "CapacitorCordova": [ 29 | 30 | ] 31 | }, 32 | "swift_versions": "5.0", 33 | "swift_version": "5.0" 34 | } 35 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/CapacitorCordova/CapacitorCordova-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 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 3.1.2 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-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 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /dist/plugin.cjs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Object.defineProperty(exports, '__esModule', { value: true }); 4 | 5 | var core = require('@capacitor/core'); 6 | 7 | const AppTrackingTransparency = core.registerPlugin('AppTrackingTransparency', { 8 | web: () => Promise.resolve().then(function () { return web; }).then(m => new m.IOSAppTrackingWeb()), 9 | }); 10 | 11 | class IOSAppTrackingWeb extends core.WebPlugin { 12 | constructor() { 13 | super({ 14 | name: "IOSAppTracking", 15 | platforms: ["web"], 16 | }); 17 | } 18 | async getTrackingStatus() { 19 | return { code: '200', status: 'authorized' }; 20 | } 21 | async requestPermission() { 22 | return { code: '200', status: 'authorized' }; 23 | } 24 | } 25 | 26 | var web = /*#__PURE__*/Object.freeze({ 27 | __proto__: null, 28 | IOSAppTrackingWeb: IOSAppTrackingWeb 29 | }); 30 | 31 | exports.AppTrackingTransparency = AppTrackingTransparency; 32 | //# sourceMappingURL=plugin.cjs.js.map 33 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor/Capacitor.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova/Cordova.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "Capacitor" -framework "Cordova" -framework "WebKit" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin.release.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor/Capacitor.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova/Cordova.framework/Headers" 5 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' 6 | OTHER_LDFLAGS = $(inherited) -framework "Capacitor" -framework "Cordova" -framework "WebKit" 7 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 13 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 14 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor/Capacitor.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova/Cordova.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | OTHER_LDFLAGS = $(inherited) -framework "Capacitor" -framework "Cordova" -framework "WebKit" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO 3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova" 4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 5 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Capacitor/Capacitor.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CapacitorCordova/Cordova.framework/Headers" 6 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 7 | OTHER_LDFLAGS = $(inherited) -framework "Capacitor" -framework "Cordova" -framework "WebKit" 8 | OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS 9 | PODS_BUILD_DIR = ${BUILD_DIR} 10 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 11 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 12 | PODS_ROOT = ${SRCROOT}/Pods 13 | PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates 14 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 15 | -------------------------------------------------------------------------------- /dist/plugin.js: -------------------------------------------------------------------------------- 1 | var capacitorIOSAppTrackingPlugin = (function (exports, core) { 2 | 'use strict'; 3 | 4 | const AppTrackingTransparency = core.registerPlugin('AppTrackingTransparency', { 5 | web: () => Promise.resolve().then(function () { return web; }).then(m => new m.IOSAppTrackingWeb()), 6 | }); 7 | 8 | class IOSAppTrackingWeb extends core.WebPlugin { 9 | constructor() { 10 | super({ 11 | name: "IOSAppTracking", 12 | platforms: ["web"], 13 | }); 14 | } 15 | async getTrackingStatus() { 16 | return { code: '200', status: 'authorized' }; 17 | } 18 | async requestPermission() { 19 | return { code: '200', status: 'authorized' }; 20 | } 21 | } 22 | 23 | var web = /*#__PURE__*/Object.freeze({ 24 | __proto__: null, 25 | IOSAppTrackingWeb: IOSAppTrackingWeb 26 | }); 27 | 28 | exports.AppTrackingTransparency = AppTrackingTransparency; 29 | 30 | Object.defineProperty(exports, '__esModule', { value: true }); 31 | 32 | return exports; 33 | 34 | }({}, capacitorExports)); 35 | //# sourceMappingURL=plugin.js.map 36 | -------------------------------------------------------------------------------- /dist/plugin.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst AppTrackingTransparency = registerPlugin('AppTrackingTransparency', {\n web: () => import('./web').then(m => new m.IOSAppTrackingWeb()),\n});\nexport * from './definitions';\nexport { AppTrackingTransparency };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from \"@capacitor/core\";\nexport class IOSAppTrackingWeb extends WebPlugin {\n constructor() {\n super({\n name: \"IOSAppTracking\",\n platforms: [\"web\"],\n });\n }\n async getTrackingStatus() {\n return { code: '200', status: 'authorized' };\n }\n async requestPermission() {\n return { code: '200', status: 'authorized' };\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,uBAAuB,GAAGA,mBAAc,CAAC,yBAAyB,EAAE;IAC1E,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnE,CAAC;;ICFM,MAAM,iBAAiB,SAASC,cAAS,CAAC;IACjD,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,CAAC;IACd,YAAY,IAAI,EAAE,gBAAgB;IAClC,YAAY,SAAS,EAAE,CAAC,KAAK,CAAC;IAC9B,SAAS,CAAC,CAAC;IACX,KAAK;IACL,IAAI,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACrD,KAAK;IACL,IAAI,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACrD,KAAK;IACL;;;;;;;;;;;;;;;;;"} -------------------------------------------------------------------------------- /dist/plugin.cjs.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst AppTrackingTransparency = registerPlugin('AppTrackingTransparency', {\n web: () => import('./web').then(m => new m.IOSAppTrackingWeb()),\n});\nexport * from './definitions';\nexport { AppTrackingTransparency };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from \"@capacitor/core\";\nexport class IOSAppTrackingWeb extends WebPlugin {\n constructor() {\n super({\n name: \"IOSAppTracking\",\n platforms: [\"web\"],\n });\n }\n async getTrackingStatus() {\n return { code: '200', status: 'authorized' };\n }\n async requestPermission() {\n return { code: '200', status: 'authorized' };\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,uBAAuB,GAAGA,mBAAc,CAAC,yBAAyB,EAAE;AAC1E,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACnE,CAAC;;ACFM,MAAM,iBAAiB,SAASC,cAAS,CAAC;AACjD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC;AACd,YAAY,IAAI,EAAE,gBAAgB;AAClC,YAAY,SAAS,EAAE,CAAC,KAAK,CAAC;AAC9B,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACrD,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACrD,KAAK;AACL;;;;;;;;;"} -------------------------------------------------------------------------------- /ios/Plugin/IOSAppTrackingPluginPlugin.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import Capacitor 3 | import AppTrackingTransparency 4 | import AdSupport 5 | /** 6 | * Please read the Capacitor iOS Plugin Development Guide 7 | * here: https://capacitor.ionicframework.com/docs/plugins/ios 8 | */ 9 | @objc(IOSAppTracking) 10 | public class IOSAppTrackingPluginPlugin: CAPPlugin { 11 | 12 | @objc func getTrackingStatus(_ call: CAPPluginCall) { 13 | let advertising = ASIdentifierManager.init().advertisingIdentifier.uuidString 14 | if #available(iOS 14.0, *) { 15 | let status: ATTrackingManager.AuthorizationStatus = ATTrackingManager.trackingAuthorizationStatus 16 | call.resolve([ 17 | "value": advertising, "status": status.rawValue == 0 ? "unrequested" : status.rawValue == 1 ? "restricted" : status.rawValue == 2 ? "denied" : status.rawValue == 3 ? "authorized" : "" 18 | ]) 19 | } 20 | else { 21 | call.resolve([ "value": advertising, "status": "authorized" ]) 22 | } 23 | } 24 | 25 | @objc func requestPermission(_ call: CAPPluginCall) { 26 | if #available(iOS 14.0, *) { 27 | ATTrackingManager.requestTrackingAuthorization { (res) in 28 | let advertising = ASIdentifierManager.init().advertisingIdentifier.uuidString 29 | let status = res 30 | call.resolve([ 31 | "value": advertising, "status": status.rawValue == 0 ? "unrequested" : status.rawValue == 1 ? "restricted" : status.rawValue == 2 ? "denied" : status.rawValue == 3 ? "authorized" : "" 32 | ]) 33 | } 34 | } 35 | else { 36 | let advertising = ASIdentifierManager.init().advertisingIdentifier.uuidString 37 | call.resolve([ "value": advertising, "status": "authorized" ]) 38 | } 39 | } 40 | 41 | } 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | This guide provides instructions for contributing to this Capacitor plugin. 4 | 5 | ## Developing 6 | 7 | ### Local Setup 8 | 9 | 1. Fork and clone the repo. 10 | 1. Install the dependencies. 11 | 12 | ```shell 13 | npm install 14 | ``` 15 | 16 | 1. Install SwiftLint if you're on macOS. 17 | 18 | ```shell 19 | brew install swiftlint 20 | ``` 21 | 22 | ### Scripts 23 | 24 | #### `npm run build` 25 | 26 | Build the plugin web assets and generate plugin API documentation using [`@capacitor/docgen`](https://github.com/ionic-team/capacitor-docgen). 27 | 28 | It will compile the TypeScript code from `src/` into ESM JavaScript in `dist/esm/`. These files are used in apps with bundlers when your plugin is imported. 29 | 30 | Then, Rollup will bundle the code into a single file at `dist/plugin.js`. This file is used in apps without bundlers by including it as a script in `index.html`. 31 | 32 | #### `npm run verify` 33 | 34 | Build and validate the web and native projects. 35 | 36 | This is useful to run in CI to verify that the plugin builds for all platforms. 37 | 38 | #### `npm run lint` / `npm run fmt` 39 | 40 | Check formatting and code quality, autoformat/autofix if possible. 41 | 42 | This template is integrated with ESLint, Prettier, and SwiftLint. Using these tools is completely optional, but the [Capacitor Community](https://github.com/capacitor-community/) strives to have consistent code style and structure for easier cooperation. 43 | 44 | ## Publishing 45 | 46 | There is a `prepublishOnly` hook in `package.json` which prepares the plugin before publishing, so all you need to do is run: 47 | 48 | ```shell 49 | npm publish 50 | ``` 51 | 52 | > **Note**: The [`files`](https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files) array in `package.json` specifies which files get published. If you rename files/directories or add files elsewhere, you may need to update it. 53 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/mig.xcuserdatad/xcschemes/Capacitor.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/root.xcuserdatad/xcschemes/Capacitor.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/mig.xcuserdatad/xcschemes/Pods-Plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/migtam.xcuserdatad/xcschemes/Capacitor.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/root.xcuserdatad/xcschemes/Pods-Plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/migtam.xcuserdatad/xcschemes/Pods-Plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/mig.xcuserdatad/xcschemes/CapacitorCordova.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/mig.xcuserdatad/xcschemes/Pods-PluginTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/root.xcuserdatad/xcschemes/CapacitorCordova.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/root.xcuserdatad/xcschemes/Pods-PluginTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/migtam.xcuserdatad/xcschemes/CapacitorCordova.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Pods.xcodeproj/xcuserdata/migtam.xcuserdatad/xcschemes/Pods-PluginTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Capacitor 5 | 6 | Copyright 2017-present Ionic 7 | https://ionic.io 8 | 9 | MIT License 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining 12 | a copy of this software and associated documentation files (the 13 | "Software"), to deal in the Software without restriction, including 14 | without limitation the rights to use, copy, modify, merge, publish, 15 | distribute, sublicense, and/or sell copies of the Software, and to 16 | permit persons to whom the Software is furnished to do so, subject to 17 | the following conditions: 18 | 19 | The above copyright notice and this permission notice shall be 20 | included in all copies or substantial portions of the Software. 21 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 25 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 26 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 27 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 28 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 | 30 | 31 | ## CapacitorCordova 32 | 33 | Copyright 2017-present Ionic 34 | https://ionic.io 35 | 36 | MIT License 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining 39 | a copy of this software and associated documentation files (the 40 | "Software"), to deal in the Software without restriction, including 41 | without limitation the rights to use, copy, modify, merge, publish, 42 | distribute, sublicense, and/or sell copies of the Software, and to 43 | permit persons to whom the Software is furnished to do so, subject to 44 | the following conditions: 45 | 46 | The above copyright notice and this permission notice shall be 47 | included in all copies or substantial portions of the Software. 48 | 49 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 50 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 51 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 52 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 53 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 54 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 55 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 56 | 57 | Generated by CocoaPods - https://cocoapods.org 58 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Capacitor 5 | 6 | Copyright 2017-present Ionic 7 | https://ionic.io 8 | 9 | MIT License 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining 12 | a copy of this software and associated documentation files (the 13 | "Software"), to deal in the Software without restriction, including 14 | without limitation the rights to use, copy, modify, merge, publish, 15 | distribute, sublicense, and/or sell copies of the Software, and to 16 | permit persons to whom the Software is furnished to do so, subject to 17 | the following conditions: 18 | 19 | The above copyright notice and this permission notice shall be 20 | included in all copies or substantial portions of the Software. 21 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 23 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 24 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 25 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 26 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 27 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 28 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 29 | 30 | 31 | ## CapacitorCordova 32 | 33 | Copyright 2017-present Ionic 34 | https://ionic.io 35 | 36 | MIT License 37 | 38 | Permission is hereby granted, free of charge, to any person obtaining 39 | a copy of this software and associated documentation files (the 40 | "Software"), to deal in the Software without restriction, including 41 | without limitation the rights to use, copy, modify, merge, publish, 42 | distribute, sublicense, and/or sell copies of the Software, and to 43 | permit persons to whom the Software is furnished to do so, subject to 44 | the following conditions: 45 | 46 | The above copyright notice and this permission notice shall be 47 | included in all copies or substantial portions of the Software. 48 | 49 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 50 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 51 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 52 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 53 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 54 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 55 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 56 | 57 | Generated by CocoaPods - https://cocoapods.org 58 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "capacitor-ios-app-tracking", 3 | "version": "1.0.5rc1", 4 | "description": "App AD Tracking for iOS 14 and above", 5 | "main": "dist/plugin.cjs.js", 6 | "module": "dist/esm/index.js", 7 | "types": "dist/esm/index.d.ts", 8 | "unpkg": "dist/plugin.js", 9 | "scripts": { 10 | "verify": "npm run verify:ios && npm run verify:android && npm run verify:web", 11 | "verify:ios": "cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin && cd ..", 12 | "verify:android": "cd android && ./gradlew clean build test && cd ..", 13 | "verify:web": "npm run build", 14 | "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint", 15 | "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- autocorrect --format", 16 | "eslint": "eslint . --ext ts", 17 | "prettier": "prettier \"**/*.{css,html,ts,js,java}\"", 18 | "swiftlint": "node-swiftlint", 19 | "docgen": "docgen --api IOSAppTrackingPluginPlugin --output-readme README.md --output-json dist/docs.json", 20 | "build": "npm run clean && tsc && rollup -c rollup.config.js", 21 | "clean": "rimraf ./dist", 22 | "watch": "tsc --watch", 23 | "prepublishOnly": "npm run build" 24 | }, 25 | "author": "Mig Tam Rod", 26 | "license": "Apache-2.0", 27 | "peerDependencies": { 28 | "@capacitor/core": "latest" 29 | }, 30 | "prettier": "@ionic/prettier-config", 31 | "swiftlint": "@ionic/swiftlint-config", 32 | "eslintConfig": { 33 | "extends": "@ionic/eslint-config/recommended" 34 | }, 35 | "devDependencies": { 36 | "@capacitor/android": "^3.0.0", 37 | "@capacitor/core": "^3.0.0", 38 | "@capacitor/docgen": "^0.0.10", 39 | "@capacitor/ios": "^3.0.0", 40 | "@ionic/eslint-config": "^0.3.0", 41 | "@ionic/prettier-config": "^1.0.1", 42 | "@ionic/swiftlint-config": "^1.1.2", 43 | "eslint": "^7.11.0", 44 | "prettier": "~2.2.0", 45 | "prettier-plugin-java": "~1.0.0", 46 | "rimraf": "^3.0.2", 47 | "rollup": "^2.32.0", 48 | "swiftlint": "^1.0.1", 49 | "typescript": "~4.0.3" 50 | }, 51 | "files": [ 52 | "dist/", 53 | "ios/", 54 | "CapacitorIosAppTracking.podspec" 55 | ], 56 | "keywords": [ 57 | "capacitor", 58 | "plugin", 59 | "native" 60 | ], 61 | "capacitor": { 62 | "ios": { 63 | "src": "ios" 64 | } 65 | }, 66 | "repository": { 67 | "type": "git", 68 | "url": "https://github.com/migtam628/capacitor-ios-app-tracking.git" 69 | }, 70 | "bugs": { 71 | "url": "https://github.com/migtam628/capacitor-ios-app-tracking.git/issues" 72 | } 73 | } -------------------------------------------------------------------------------- /ios/Plugin.xcodeproj/xcshareddata/xcschemes/PluginTests.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 54 | 60 | 61 | 63 | 64 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /ios/Plugin.xcodeproj/xcshareddata/xcschemes/Plugin.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iOS-Capacitor-App-Tracking 2 | 3 | ### Adds App Tracking Transparency for iOS 14 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ## Release Note: 19 | 20 | ### v1.0.5rc1 21 | - [README updated] 22 | 23 | ### v1.0.4 24 | - Bug fixes. 25 | 26 | ### v1.0.3 27 | - Bug fixes. 28 | 29 | ### v1.0.2 30 | 31 | - Added Capacitor 3.0 Support. 32 | 33 | ### v0.1.1 34 | 35 | - iOS 14 and iOS 15 App Tracking Transparency. 36 | 37 | ## Supported Platform: 38 | 39 | - [x] iOS 40 | - [ ] Android 41 | - [ ] Web 42 | 43 | ## Supported methods 44 | 45 | | Name | Returns | Type | 46 | | :---------------- | ------------- | --------------------------------- | 47 | | getTrackingStatus | **`Promise`** | IOSAppTrackingStatus | 48 | | requestPermission | **`Promise`** | IOSAppTrackingStatus | 49 | 50 |
51 | 52 | ## Install 53 | 54 | ```bash 55 | npm install capacitor-ios-app-tracking 56 | npx cap sync 57 | ``` 58 | 59 |
60 |
61 | 62 | 63 | ## Info.plist 64 | ##### Add this 65 | ```xml 66 | NSUserTrackingUsageDescription 67 | This identifier will be used to deliver personalized ads to you. 68 | ``` 69 | 70 | ## API Usage 71 | 72 | 73 | - [`getTrackingStatus() => Promise)`](#getTrackingStatus) 74 | - [`requestPermission() => Promise)`](#requestPermission) 75 | 76 | 77 | 78 | 79 | 80 |
81 | 82 | ### getTrackingStatus() => Promise 83 | 84 | ```typescript 85 | import { AppTrackingTransparency } from "capacitor-ios-app-tracking"; 86 | 87 | useEffect(() => { 88 | AppTrackingTransparency.getTrackingStatus().then((status) => { 89 | console.log(status); 90 | }); 91 | }, []); 92 | 93 | 94 | ``` 95 | 96 | ### requestPermission() => Promise 97 | 98 | ```typescript 99 | import { AppTrackingTransparency } from "capacitor-ios-app-tracking"; 100 | 101 | useEffect(() => { 102 | AppTrackingTransparency.requestPermission().then((status) => { 103 | console.log(status); 104 | }); 105 | }, []); 106 | ``` 107 | 108 |
109 | 110 | - ### interface IOSAppTrackingPlugin 111 | 112 | ```typescript 113 | export interface IOSAppTrackingPlugin { 114 | getTrackingStatus(): Promise; 115 | requestPermission(): Promise; 116 | } 117 | ``` 118 | 119 |
120 |
121 | 122 | - ### interface IOSAppTrackingResponse 123 | 124 | ```typescript 125 | interface IOSAppTrackingResponse { 126 | code: string; 127 | status: IOSAppTrackingStatus; 128 | } 129 | ``` 130 | 131 |
132 |
133 | 134 | - ### type IOSAppTrackingStatus 135 | 136 | ```typescript 137 | type IOSAppTrackingStatus = 138 | | 'authorized' 139 | | 'denied' 140 | | 'unrequested' 141 | | 'restricted'; 142 | ``` 143 | 144 | --- 145 | 146 |
147 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-Plugin/Pods-Plugin-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright 2017-present Ionic 18 | https://ionic.io 19 | 20 | MIT License 21 | 22 | Permission is hereby granted, free of charge, to any person obtaining 23 | a copy of this software and associated documentation files (the 24 | "Software"), to deal in the Software without restriction, including 25 | without limitation the rights to use, copy, modify, merge, publish, 26 | distribute, sublicense, and/or sell copies of the Software, and to 27 | permit persons to whom the Software is furnished to do so, subject to 28 | the following conditions: 29 | 30 | The above copyright notice and this permission notice shall be 31 | included in all copies or substantial portions of the Software. 32 | 33 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 35 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 37 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 38 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 39 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 40 | 41 | License 42 | MIT 43 | Title 44 | Capacitor 45 | Type 46 | PSGroupSpecifier 47 | 48 | 49 | FooterText 50 | Copyright 2017-present Ionic 51 | https://ionic.io 52 | 53 | MIT License 54 | 55 | Permission is hereby granted, free of charge, to any person obtaining 56 | a copy of this software and associated documentation files (the 57 | "Software"), to deal in the Software without restriction, including 58 | without limitation the rights to use, copy, modify, merge, publish, 59 | distribute, sublicense, and/or sell copies of the Software, and to 60 | permit persons to whom the Software is furnished to do so, subject to 61 | the following conditions: 62 | 63 | The above copyright notice and this permission notice shall be 64 | included in all copies or substantial portions of the Software. 65 | 66 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 67 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 68 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 69 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 70 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 71 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 72 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 73 | 74 | License 75 | MIT 76 | Title 77 | CapacitorCordova 78 | Type 79 | PSGroupSpecifier 80 | 81 | 82 | FooterText 83 | Generated by CocoaPods - https://cocoapods.org 84 | Title 85 | 86 | Type 87 | PSGroupSpecifier 88 | 89 | 90 | StringsTable 91 | Acknowledgements 92 | Title 93 | Acknowledgements 94 | 95 | 96 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | Copyright 2017-present Ionic 18 | https://ionic.io 19 | 20 | MIT License 21 | 22 | Permission is hereby granted, free of charge, to any person obtaining 23 | a copy of this software and associated documentation files (the 24 | "Software"), to deal in the Software without restriction, including 25 | without limitation the rights to use, copy, modify, merge, publish, 26 | distribute, sublicense, and/or sell copies of the Software, and to 27 | permit persons to whom the Software is furnished to do so, subject to 28 | the following conditions: 29 | 30 | The above copyright notice and this permission notice shall be 31 | included in all copies or substantial portions of the Software. 32 | 33 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 35 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 37 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 38 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 39 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 40 | 41 | License 42 | MIT 43 | Title 44 | Capacitor 45 | Type 46 | PSGroupSpecifier 47 | 48 | 49 | FooterText 50 | Copyright 2017-present Ionic 51 | https://ionic.io 52 | 53 | MIT License 54 | 55 | Permission is hereby granted, free of charge, to any person obtaining 56 | a copy of this software and associated documentation files (the 57 | "Software"), to deal in the Software without restriction, including 58 | without limitation the rights to use, copy, modify, merge, publish, 59 | distribute, sublicense, and/or sell copies of the Software, and to 60 | permit persons to whom the Software is furnished to do so, subject to 61 | the following conditions: 62 | 63 | The above copyright notice and this permission notice shall be 64 | included in all copies or substantial portions of the Software. 65 | 66 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 67 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 68 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 69 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 70 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 71 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 72 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 73 | 74 | License 75 | MIT 76 | Title 77 | CapacitorCordova 78 | Type 79 | PSGroupSpecifier 80 | 81 | 82 | FooterText 83 | Generated by CocoaPods - https://cocoapods.org 84 | Title 85 | 86 | Type 87 | PSGroupSpecifier 88 | 89 | 90 | StringsTable 91 | Acknowledgements 92 | Title 93 | Acknowledgements 94 | 95 | 96 | -------------------------------------------------------------------------------- /ios/Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | set -u 4 | set -o pipefail 5 | 6 | function on_error { 7 | echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" 8 | } 9 | trap 'on_error $LINENO' ERR 10 | 11 | if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then 12 | # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy 13 | # frameworks to, so exit 0 (signalling the script phase was successful). 14 | exit 0 15 | fi 16 | 17 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 18 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 19 | 20 | COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" 21 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 22 | BCSYMBOLMAP_DIR="BCSymbolMaps" 23 | 24 | 25 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 26 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 27 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 28 | 29 | # Copies and strips a vendored framework 30 | install_framework() 31 | { 32 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 33 | local source="${BUILT_PRODUCTS_DIR}/$1" 34 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 35 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 36 | elif [ -r "$1" ]; then 37 | local source="$1" 38 | fi 39 | 40 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 41 | 42 | if [ -L "${source}" ]; then 43 | echo "Symlinked..." 44 | source="$(readlink "${source}")" 45 | fi 46 | 47 | if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then 48 | # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied 49 | find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do 50 | echo "Installing $f" 51 | install_bcsymbolmap "$f" "$destination" 52 | rm "$f" 53 | done 54 | rmdir "${source}/${BCSYMBOLMAP_DIR}" 55 | fi 56 | 57 | # Use filter instead of exclude so missing patterns don't throw errors. 58 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 59 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 60 | 61 | local basename 62 | basename="$(basename -s .framework "$1")" 63 | binary="${destination}/${basename}.framework/${basename}" 64 | 65 | if ! [ -r "$binary" ]; then 66 | binary="${destination}/${basename}" 67 | elif [ -L "${binary}" ]; then 68 | echo "Destination binary is symlinked..." 69 | dirname="$(dirname "${binary}")" 70 | binary="${dirname}/$(readlink "${binary}")" 71 | fi 72 | 73 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 74 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 75 | strip_invalid_archs "$binary" 76 | fi 77 | 78 | # Resign the code if required by the build settings to avoid unstable apps 79 | code_sign_if_enabled "${destination}/$(basename "$1")" 80 | 81 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 82 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 83 | local swift_runtime_libs 84 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) 85 | for lib in $swift_runtime_libs; do 86 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 87 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 88 | code_sign_if_enabled "${destination}/${lib}" 89 | done 90 | fi 91 | } 92 | # Copies and strips a vendored dSYM 93 | install_dsym() { 94 | local source="$1" 95 | warn_missing_arch=${2:-true} 96 | if [ -r "$source" ]; then 97 | # Copy the dSYM into the targets temp dir. 98 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" 99 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" 100 | 101 | local basename 102 | basename="$(basename -s .dSYM "$source")" 103 | binary_name="$(ls "$source/Contents/Resources/DWARF")" 104 | binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" 105 | 106 | # Strip invalid architectures from the dSYM. 107 | if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then 108 | strip_invalid_archs "$binary" "$warn_missing_arch" 109 | fi 110 | if [[ $STRIP_BINARY_RETVAL == 0 ]]; then 111 | # Move the stripped file into its final destination. 112 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" 113 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" 114 | else 115 | # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. 116 | touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" 117 | fi 118 | fi 119 | } 120 | 121 | # Used as a return value for each invocation of `strip_invalid_archs` function. 122 | STRIP_BINARY_RETVAL=0 123 | 124 | # Strip invalid architectures 125 | strip_invalid_archs() { 126 | binary="$1" 127 | warn_missing_arch=${2:-true} 128 | # Get architectures for current target binary 129 | binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" 130 | # Intersect them with the architectures we are building for 131 | intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" 132 | # If there are no archs supported by this binary then warn the user 133 | if [[ -z "$intersected_archs" ]]; then 134 | if [[ "$warn_missing_arch" == "true" ]]; then 135 | echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." 136 | fi 137 | STRIP_BINARY_RETVAL=1 138 | return 139 | fi 140 | stripped="" 141 | for arch in $binary_archs; do 142 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then 143 | # Strip non-valid architectures in-place 144 | lipo -remove "$arch" -output "$binary" "$binary" 145 | stripped="$stripped $arch" 146 | fi 147 | done 148 | if [[ "$stripped" ]]; then 149 | echo "Stripped $binary of architectures:$stripped" 150 | fi 151 | STRIP_BINARY_RETVAL=0 152 | } 153 | 154 | # Copies the bcsymbolmap files of a vendored framework 155 | install_bcsymbolmap() { 156 | local bcsymbolmap_path="$1" 157 | local destination="${BUILT_PRODUCTS_DIR}" 158 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" 159 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" 160 | } 161 | 162 | # Signs a framework with the provided identity 163 | code_sign_if_enabled() { 164 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 165 | # Use the current code_sign_identity 166 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 167 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" 168 | 169 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 170 | code_sign_cmd="$code_sign_cmd &" 171 | fi 172 | echo "$code_sign_cmd" 173 | eval "$code_sign_cmd" 174 | fi 175 | } 176 | 177 | if [[ "$CONFIGURATION" == "Debug" ]]; then 178 | install_framework "${BUILT_PRODUCTS_DIR}/Capacitor/Capacitor.framework" 179 | install_framework "${BUILT_PRODUCTS_DIR}/CapacitorCordova/Cordova.framework" 180 | fi 181 | if [[ "$CONFIGURATION" == "Release" ]]; then 182 | install_framework "${BUILT_PRODUCTS_DIR}/Capacitor/Capacitor.framework" 183 | install_framework "${BUILT_PRODUCTS_DIR}/CapacitorCordova/Cordova.framework" 184 | fi 185 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 186 | wait 187 | fi 188 | -------------------------------------------------------------------------------- /ios/Plugin.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 48; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 03FC29A292ACC40490383A1F /* Pods_Plugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B2A61DA5A1F2DD4F959604D /* Pods_Plugin.framework */; }; 11 | 20C0B05DCFC8E3958A738AF2 /* Pods_PluginTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6753A823D3815DB436415E3 /* Pods_PluginTests.framework */; }; 12 | 2F98D68224C9AAE500613A4C /* IOSAppTrackingPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F98D68124C9AAE400613A4C /* IOSAppTrackingPlugin.swift */; }; 13 | 50ADFF92201F53D600D50D53 /* Plugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50ADFF88201F53D600D50D53 /* Plugin.framework */; }; 14 | 50ADFF97201F53D600D50D53 /* IOSAppTrackingPluginPluginTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50ADFF96201F53D600D50D53 /* IOSAppTrackingPluginPluginTests.swift */; }; 15 | 50ADFF99201F53D600D50D53 /* IOSAppTrackingPluginPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ADFF8B201F53D600D50D53 /* IOSAppTrackingPluginPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; }; 16 | 50ADFFA42020D75100D50D53 /* Capacitor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50ADFFA52020D75100D50D53 /* Capacitor.framework */; }; 17 | 50ADFFA82020EE4F00D50D53 /* IOSAppTrackingPluginPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 50ADFFA72020EE4F00D50D53 /* IOSAppTrackingPluginPlugin.m */; }; 18 | 50E1A94820377CB70090CE1A /* IOSAppTrackingPluginPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E1A94720377CB70090CE1A /* IOSAppTrackingPluginPlugin.swift */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXContainerItemProxy section */ 22 | 50ADFF93201F53D600D50D53 /* PBXContainerItemProxy */ = { 23 | isa = PBXContainerItemProxy; 24 | containerPortal = 50ADFF7F201F53D600D50D53 /* Project object */; 25 | proxyType = 1; 26 | remoteGlobalIDString = 50ADFF87201F53D600D50D53; 27 | remoteInfo = Plugin; 28 | }; 29 | /* End PBXContainerItemProxy section */ 30 | 31 | /* Begin PBXFileReference section */ 32 | 2F98D68124C9AAE400613A4C /* IOSAppTrackingPlugin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IOSAppTrackingPlugin.swift; sourceTree = ""; }; 33 | 3B2A61DA5A1F2DD4F959604D /* Pods_Plugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Plugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 34 | 50ADFF88201F53D600D50D53 /* Plugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Plugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 35 | 50ADFF8B201F53D600D50D53 /* IOSAppTrackingPluginPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IOSAppTrackingPluginPlugin.h; sourceTree = ""; }; 36 | 50ADFF8C201F53D600D50D53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 37 | 50ADFF91201F53D600D50D53 /* PluginTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PluginTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 38 | 50ADFF96201F53D600D50D53 /* IOSAppTrackingPluginPluginTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IOSAppTrackingPluginPluginTests.swift; sourceTree = ""; }; 39 | 50ADFF98201F53D600D50D53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 40 | 50ADFFA52020D75100D50D53 /* Capacitor.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Capacitor.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | 50ADFFA72020EE4F00D50D53 /* IOSAppTrackingPluginPlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IOSAppTrackingPluginPlugin.m; sourceTree = ""; }; 42 | 50E1A94720377CB70090CE1A /* IOSAppTrackingPluginPlugin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IOSAppTrackingPluginPlugin.swift; sourceTree = ""; }; 43 | 5E23F77F099397094342571A /* Pods-Plugin.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Plugin.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Plugin/Pods-Plugin.debug.xcconfig"; sourceTree = ""; }; 44 | 91781294A431A2A7CC6EB714 /* Pods-Plugin.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Plugin.release.xcconfig"; path = "Pods/Target Support Files/Pods-Plugin/Pods-Plugin.release.xcconfig"; sourceTree = ""; }; 45 | 96ED1B6440D6672E406C8D19 /* Pods-PluginTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PluginTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.debug.xcconfig"; sourceTree = ""; }; 46 | F65BB2953ECE002E1EF3E424 /* Pods-PluginTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PluginTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-PluginTests/Pods-PluginTests.release.xcconfig"; sourceTree = ""; }; 47 | F6753A823D3815DB436415E3 /* Pods_PluginTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PluginTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 48 | /* End PBXFileReference section */ 49 | 50 | /* Begin PBXFrameworksBuildPhase section */ 51 | 50ADFF84201F53D600D50D53 /* Frameworks */ = { 52 | isa = PBXFrameworksBuildPhase; 53 | buildActionMask = 2147483647; 54 | files = ( 55 | 50ADFFA42020D75100D50D53 /* Capacitor.framework in Frameworks */, 56 | 03FC29A292ACC40490383A1F /* Pods_Plugin.framework in Frameworks */, 57 | ); 58 | runOnlyForDeploymentPostprocessing = 0; 59 | }; 60 | 50ADFF8E201F53D600D50D53 /* Frameworks */ = { 61 | isa = PBXFrameworksBuildPhase; 62 | buildActionMask = 2147483647; 63 | files = ( 64 | 50ADFF92201F53D600D50D53 /* Plugin.framework in Frameworks */, 65 | 20C0B05DCFC8E3958A738AF2 /* Pods_PluginTests.framework in Frameworks */, 66 | ); 67 | runOnlyForDeploymentPostprocessing = 0; 68 | }; 69 | /* End PBXFrameworksBuildPhase section */ 70 | 71 | /* Begin PBXGroup section */ 72 | 50ADFF7E201F53D600D50D53 = { 73 | isa = PBXGroup; 74 | children = ( 75 | 50ADFF8A201F53D600D50D53 /* Plugin */, 76 | 50ADFF95201F53D600D50D53 /* PluginTests */, 77 | 50ADFF89201F53D600D50D53 /* Products */, 78 | 8C8E7744173064A9F6D438E3 /* Pods */, 79 | A797B9EFA3DCEFEA1FBB66A9 /* Frameworks */, 80 | ); 81 | sourceTree = ""; 82 | }; 83 | 50ADFF89201F53D600D50D53 /* Products */ = { 84 | isa = PBXGroup; 85 | children = ( 86 | 50ADFF88201F53D600D50D53 /* Plugin.framework */, 87 | 50ADFF91201F53D600D50D53 /* PluginTests.xctest */, 88 | ); 89 | name = Products; 90 | sourceTree = ""; 91 | }; 92 | 50ADFF8A201F53D600D50D53 /* Plugin */ = { 93 | isa = PBXGroup; 94 | children = ( 95 | 50E1A94720377CB70090CE1A /* IOSAppTrackingPluginPlugin.swift */, 96 | 2F98D68124C9AAE400613A4C /* IOSAppTrackingPlugin.swift */, 97 | 50ADFF8B201F53D600D50D53 /* IOSAppTrackingPluginPlugin.h */, 98 | 50ADFFA72020EE4F00D50D53 /* IOSAppTrackingPluginPlugin.m */, 99 | 50ADFF8C201F53D600D50D53 /* Info.plist */, 100 | ); 101 | path = Plugin; 102 | sourceTree = ""; 103 | }; 104 | 50ADFF95201F53D600D50D53 /* PluginTests */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | 50ADFF96201F53D600D50D53 /* IOSAppTrackingPluginPluginTests.swift */, 108 | 50ADFF98201F53D600D50D53 /* Info.plist */, 109 | ); 110 | path = PluginTests; 111 | sourceTree = ""; 112 | }; 113 | 8C8E7744173064A9F6D438E3 /* Pods */ = { 114 | isa = PBXGroup; 115 | children = ( 116 | 5E23F77F099397094342571A /* Pods-Plugin.debug.xcconfig */, 117 | 91781294A431A2A7CC6EB714 /* Pods-Plugin.release.xcconfig */, 118 | 96ED1B6440D6672E406C8D19 /* Pods-PluginTests.debug.xcconfig */, 119 | F65BB2953ECE002E1EF3E424 /* Pods-PluginTests.release.xcconfig */, 120 | ); 121 | name = Pods; 122 | sourceTree = ""; 123 | }; 124 | A797B9EFA3DCEFEA1FBB66A9 /* Frameworks */ = { 125 | isa = PBXGroup; 126 | children = ( 127 | 50ADFFA52020D75100D50D53 /* Capacitor.framework */, 128 | 3B2A61DA5A1F2DD4F959604D /* Pods_Plugin.framework */, 129 | F6753A823D3815DB436415E3 /* Pods_PluginTests.framework */, 130 | ); 131 | name = Frameworks; 132 | sourceTree = ""; 133 | }; 134 | /* End PBXGroup section */ 135 | 136 | /* Begin PBXHeadersBuildPhase section */ 137 | 50ADFF85201F53D600D50D53 /* Headers */ = { 138 | isa = PBXHeadersBuildPhase; 139 | buildActionMask = 2147483647; 140 | files = ( 141 | 50ADFF99201F53D600D50D53 /* IOSAppTrackingPluginPlugin.h in Headers */, 142 | ); 143 | runOnlyForDeploymentPostprocessing = 0; 144 | }; 145 | /* End PBXHeadersBuildPhase section */ 146 | 147 | /* Begin PBXNativeTarget section */ 148 | 50ADFF87201F53D600D50D53 /* Plugin */ = { 149 | isa = PBXNativeTarget; 150 | buildConfigurationList = 50ADFF9C201F53D600D50D53 /* Build configuration list for PBXNativeTarget "Plugin" */; 151 | buildPhases = ( 152 | AB5B3E54B4E897F32C2279DA /* [CP] Check Pods Manifest.lock */, 153 | 50ADFF83201F53D600D50D53 /* Sources */, 154 | 50ADFF84201F53D600D50D53 /* Frameworks */, 155 | 50ADFF85201F53D600D50D53 /* Headers */, 156 | 50ADFF86201F53D600D50D53 /* Resources */, 157 | ); 158 | buildRules = ( 159 | ); 160 | dependencies = ( 161 | ); 162 | name = Plugin; 163 | productName = Plugin; 164 | productReference = 50ADFF88201F53D600D50D53 /* Plugin.framework */; 165 | productType = "com.apple.product-type.framework"; 166 | }; 167 | 50ADFF90201F53D600D50D53 /* PluginTests */ = { 168 | isa = PBXNativeTarget; 169 | buildConfigurationList = 50ADFF9F201F53D600D50D53 /* Build configuration list for PBXNativeTarget "PluginTests" */; 170 | buildPhases = ( 171 | 0596884F929ED6F1DE134961 /* [CP] Check Pods Manifest.lock */, 172 | 50ADFF8D201F53D600D50D53 /* Sources */, 173 | 50ADFF8E201F53D600D50D53 /* Frameworks */, 174 | 50ADFF8F201F53D600D50D53 /* Resources */, 175 | 8E97F58B69A94C6503FC9C85 /* [CP] Embed Pods Frameworks */, 176 | ); 177 | buildRules = ( 178 | ); 179 | dependencies = ( 180 | 50ADFF94201F53D600D50D53 /* PBXTargetDependency */, 181 | ); 182 | name = PluginTests; 183 | productName = PluginTests; 184 | productReference = 50ADFF91201F53D600D50D53 /* PluginTests.xctest */; 185 | productType = "com.apple.product-type.bundle.unit-test"; 186 | }; 187 | /* End PBXNativeTarget section */ 188 | 189 | /* Begin PBXProject section */ 190 | 50ADFF7F201F53D600D50D53 /* Project object */ = { 191 | isa = PBXProject; 192 | attributes = { 193 | LastSwiftUpdateCheck = 0920; 194 | LastUpgradeCheck = 1160; 195 | ORGANIZATIONNAME = "Max Lynch"; 196 | TargetAttributes = { 197 | 50ADFF87201F53D600D50D53 = { 198 | CreatedOnToolsVersion = 9.2; 199 | LastSwiftMigration = 1100; 200 | ProvisioningStyle = Automatic; 201 | }; 202 | 50ADFF90201F53D600D50D53 = { 203 | CreatedOnToolsVersion = 9.2; 204 | LastSwiftMigration = 1100; 205 | ProvisioningStyle = Automatic; 206 | }; 207 | }; 208 | }; 209 | buildConfigurationList = 50ADFF82201F53D600D50D53 /* Build configuration list for PBXProject "Plugin" */; 210 | compatibilityVersion = "Xcode 8.0"; 211 | developmentRegion = en; 212 | hasScannedForEncodings = 0; 213 | knownRegions = ( 214 | en, 215 | Base, 216 | ); 217 | mainGroup = 50ADFF7E201F53D600D50D53; 218 | productRefGroup = 50ADFF89201F53D600D50D53 /* Products */; 219 | projectDirPath = ""; 220 | projectRoot = ""; 221 | targets = ( 222 | 50ADFF87201F53D600D50D53 /* Plugin */, 223 | 50ADFF90201F53D600D50D53 /* PluginTests */, 224 | ); 225 | }; 226 | /* End PBXProject section */ 227 | 228 | /* Begin PBXResourcesBuildPhase section */ 229 | 50ADFF86201F53D600D50D53 /* Resources */ = { 230 | isa = PBXResourcesBuildPhase; 231 | buildActionMask = 2147483647; 232 | files = ( 233 | ); 234 | runOnlyForDeploymentPostprocessing = 0; 235 | }; 236 | 50ADFF8F201F53D600D50D53 /* Resources */ = { 237 | isa = PBXResourcesBuildPhase; 238 | buildActionMask = 2147483647; 239 | files = ( 240 | ); 241 | runOnlyForDeploymentPostprocessing = 0; 242 | }; 243 | /* End PBXResourcesBuildPhase section */ 244 | 245 | /* Begin PBXShellScriptBuildPhase section */ 246 | 0596884F929ED6F1DE134961 /* [CP] Check Pods Manifest.lock */ = { 247 | isa = PBXShellScriptBuildPhase; 248 | buildActionMask = 2147483647; 249 | files = ( 250 | ); 251 | inputPaths = ( 252 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 253 | "${PODS_ROOT}/Manifest.lock", 254 | ); 255 | name = "[CP] Check Pods Manifest.lock"; 256 | outputPaths = ( 257 | "$(DERIVED_FILE_DIR)/Pods-PluginTests-checkManifestLockResult.txt", 258 | ); 259 | runOnlyForDeploymentPostprocessing = 0; 260 | shellPath = /bin/sh; 261 | 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"; 262 | showEnvVarsInLog = 0; 263 | }; 264 | 8E97F58B69A94C6503FC9C85 /* [CP] Embed Pods Frameworks */ = { 265 | isa = PBXShellScriptBuildPhase; 266 | buildActionMask = 2147483647; 267 | files = ( 268 | ); 269 | inputPaths = ( 270 | "${PODS_ROOT}/Target Support Files/Pods-PluginTests/Pods-PluginTests-frameworks.sh", 271 | "${BUILT_PRODUCTS_DIR}/Capacitor/Capacitor.framework", 272 | "${BUILT_PRODUCTS_DIR}/CapacitorCordova/Cordova.framework", 273 | ); 274 | name = "[CP] Embed Pods Frameworks"; 275 | outputPaths = ( 276 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Capacitor.framework", 277 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cordova.framework", 278 | ); 279 | runOnlyForDeploymentPostprocessing = 0; 280 | shellPath = /bin/sh; 281 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-PluginTests/Pods-PluginTests-frameworks.sh\"\n"; 282 | showEnvVarsInLog = 0; 283 | }; 284 | AB5B3E54B4E897F32C2279DA /* [CP] Check Pods Manifest.lock */ = { 285 | isa = PBXShellScriptBuildPhase; 286 | buildActionMask = 2147483647; 287 | files = ( 288 | ); 289 | inputPaths = ( 290 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 291 | "${PODS_ROOT}/Manifest.lock", 292 | ); 293 | name = "[CP] Check Pods Manifest.lock"; 294 | outputPaths = ( 295 | "$(DERIVED_FILE_DIR)/Pods-Plugin-checkManifestLockResult.txt", 296 | ); 297 | runOnlyForDeploymentPostprocessing = 0; 298 | shellPath = /bin/sh; 299 | 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"; 300 | showEnvVarsInLog = 0; 301 | }; 302 | /* End PBXShellScriptBuildPhase section */ 303 | 304 | /* Begin PBXSourcesBuildPhase section */ 305 | 50ADFF83201F53D600D50D53 /* Sources */ = { 306 | isa = PBXSourcesBuildPhase; 307 | buildActionMask = 2147483647; 308 | files = ( 309 | 50E1A94820377CB70090CE1A /* IOSAppTrackingPluginPlugin.swift in Sources */, 310 | 2F98D68224C9AAE500613A4C /* IOSAppTrackingPlugin.swift in Sources */, 311 | 50ADFFA82020EE4F00D50D53 /* IOSAppTrackingPluginPlugin.m in Sources */, 312 | ); 313 | runOnlyForDeploymentPostprocessing = 0; 314 | }; 315 | 50ADFF8D201F53D600D50D53 /* Sources */ = { 316 | isa = PBXSourcesBuildPhase; 317 | buildActionMask = 2147483647; 318 | files = ( 319 | 50ADFF97201F53D600D50D53 /* IOSAppTrackingPluginPluginTests.swift in Sources */, 320 | ); 321 | runOnlyForDeploymentPostprocessing = 0; 322 | }; 323 | /* End PBXSourcesBuildPhase section */ 324 | 325 | /* Begin PBXTargetDependency section */ 326 | 50ADFF94201F53D600D50D53 /* PBXTargetDependency */ = { 327 | isa = PBXTargetDependency; 328 | target = 50ADFF87201F53D600D50D53 /* Plugin */; 329 | targetProxy = 50ADFF93201F53D600D50D53 /* PBXContainerItemProxy */; 330 | }; 331 | /* End PBXTargetDependency section */ 332 | 333 | /* Begin XCBuildConfiguration section */ 334 | 50ADFF9A201F53D600D50D53 /* Debug */ = { 335 | isa = XCBuildConfiguration; 336 | buildSettings = { 337 | ALWAYS_SEARCH_USER_PATHS = NO; 338 | CLANG_ANALYZER_NONNULL = YES; 339 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 340 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 341 | CLANG_CXX_LIBRARY = "libc++"; 342 | CLANG_ENABLE_MODULES = YES; 343 | CLANG_ENABLE_OBJC_ARC = YES; 344 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 345 | CLANG_WARN_BOOL_CONVERSION = YES; 346 | CLANG_WARN_COMMA = YES; 347 | CLANG_WARN_CONSTANT_CONVERSION = YES; 348 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 349 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 350 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 351 | CLANG_WARN_EMPTY_BODY = YES; 352 | CLANG_WARN_ENUM_CONVERSION = YES; 353 | CLANG_WARN_INFINITE_RECURSION = YES; 354 | CLANG_WARN_INT_CONVERSION = YES; 355 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 356 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 357 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 358 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 359 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 360 | CLANG_WARN_STRICT_PROTOTYPES = YES; 361 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 362 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 363 | CLANG_WARN_UNREACHABLE_CODE = YES; 364 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 365 | CODE_SIGN_IDENTITY = "iPhone Developer"; 366 | COPY_PHASE_STRIP = NO; 367 | CURRENT_PROJECT_VERSION = 1; 368 | DEBUG_INFORMATION_FORMAT = dwarf; 369 | ENABLE_STRICT_OBJC_MSGSEND = YES; 370 | ENABLE_TESTABILITY = YES; 371 | FRAMEWORK_SEARCH_PATHS = ( 372 | "\"${BUILT_PRODUCTS_DIR}/Capacitor\"", 373 | "\"${BUILT_PRODUCTS_DIR}/CapacitorCordova\"", 374 | ); 375 | GCC_C_LANGUAGE_STANDARD = gnu11; 376 | GCC_DYNAMIC_NO_PIC = NO; 377 | GCC_NO_COMMON_BLOCKS = YES; 378 | GCC_OPTIMIZATION_LEVEL = 0; 379 | GCC_PREPROCESSOR_DEFINITIONS = ( 380 | "DEBUG=1", 381 | "$(inherited)", 382 | ); 383 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 384 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 385 | GCC_WARN_UNDECLARED_SELECTOR = YES; 386 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 387 | GCC_WARN_UNUSED_FUNCTION = YES; 388 | GCC_WARN_UNUSED_VARIABLE = YES; 389 | IPHONEOS_DEPLOYMENT_TARGET = 12.0; 390 | MTL_ENABLE_DEBUG_INFO = YES; 391 | ONLY_ACTIVE_ARCH = YES; 392 | SDKROOT = iphoneos; 393 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 394 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 395 | VERSIONING_SYSTEM = "apple-generic"; 396 | VERSION_INFO_PREFIX = ""; 397 | }; 398 | name = Debug; 399 | }; 400 | 50ADFF9B201F53D600D50D53 /* Release */ = { 401 | isa = XCBuildConfiguration; 402 | buildSettings = { 403 | ALWAYS_SEARCH_USER_PATHS = NO; 404 | CLANG_ANALYZER_NONNULL = YES; 405 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 406 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 407 | CLANG_CXX_LIBRARY = "libc++"; 408 | CLANG_ENABLE_MODULES = YES; 409 | CLANG_ENABLE_OBJC_ARC = YES; 410 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 411 | CLANG_WARN_BOOL_CONVERSION = YES; 412 | CLANG_WARN_COMMA = YES; 413 | CLANG_WARN_CONSTANT_CONVERSION = YES; 414 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 415 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 416 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 417 | CLANG_WARN_EMPTY_BODY = YES; 418 | CLANG_WARN_ENUM_CONVERSION = YES; 419 | CLANG_WARN_INFINITE_RECURSION = YES; 420 | CLANG_WARN_INT_CONVERSION = YES; 421 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 422 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 423 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 424 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 425 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 426 | CLANG_WARN_STRICT_PROTOTYPES = YES; 427 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 428 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 429 | CLANG_WARN_UNREACHABLE_CODE = YES; 430 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 431 | CODE_SIGN_IDENTITY = "iPhone Developer"; 432 | COPY_PHASE_STRIP = NO; 433 | CURRENT_PROJECT_VERSION = 1; 434 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 435 | ENABLE_NS_ASSERTIONS = NO; 436 | ENABLE_STRICT_OBJC_MSGSEND = YES; 437 | FRAMEWORK_SEARCH_PATHS = ( 438 | "\"${BUILT_PRODUCTS_DIR}/Capacitor\"", 439 | "\"${BUILT_PRODUCTS_DIR}/CapacitorCordova\"", 440 | ); 441 | GCC_C_LANGUAGE_STANDARD = gnu11; 442 | GCC_NO_COMMON_BLOCKS = YES; 443 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 444 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 445 | GCC_WARN_UNDECLARED_SELECTOR = YES; 446 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 447 | GCC_WARN_UNUSED_FUNCTION = YES; 448 | GCC_WARN_UNUSED_VARIABLE = YES; 449 | IPHONEOS_DEPLOYMENT_TARGET = 12.0; 450 | MTL_ENABLE_DEBUG_INFO = NO; 451 | SDKROOT = iphoneos; 452 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; 453 | VALIDATE_PRODUCT = YES; 454 | VERSIONING_SYSTEM = "apple-generic"; 455 | VERSION_INFO_PREFIX = ""; 456 | }; 457 | name = Release; 458 | }; 459 | 50ADFF9D201F53D600D50D53 /* Debug */ = { 460 | isa = XCBuildConfiguration; 461 | baseConfigurationReference = 5E23F77F099397094342571A /* Pods-Plugin.debug.xcconfig */; 462 | buildSettings = { 463 | CLANG_ENABLE_MODULES = YES; 464 | CODE_SIGN_IDENTITY = ""; 465 | CODE_SIGN_STYLE = Automatic; 466 | DEFINES_MODULE = YES; 467 | DYLIB_COMPATIBILITY_VERSION = 1; 468 | DYLIB_CURRENT_VERSION = 1; 469 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 470 | INFOPLIST_FILE = Plugin/Info.plist; 471 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 472 | IPHONEOS_DEPLOYMENT_TARGET = 12.0; 473 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)\n$(FRAMEWORK_SEARCH_PATHS)\n$(FRAMEWORK_SEARCH_PATHS)"; 474 | ONLY_ACTIVE_ARCH = YES; 475 | PRODUCT_BUNDLE_IDENTIFIER = com.getcapacitor.Plugin; 476 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 477 | SKIP_INSTALL = YES; 478 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 479 | SWIFT_VERSION = 5.0; 480 | TARGETED_DEVICE_FAMILY = "1,2"; 481 | }; 482 | name = Debug; 483 | }; 484 | 50ADFF9E201F53D600D50D53 /* Release */ = { 485 | isa = XCBuildConfiguration; 486 | baseConfigurationReference = 91781294A431A2A7CC6EB714 /* Pods-Plugin.release.xcconfig */; 487 | buildSettings = { 488 | CLANG_ENABLE_MODULES = YES; 489 | CODE_SIGN_IDENTITY = ""; 490 | CODE_SIGN_STYLE = Automatic; 491 | DEFINES_MODULE = YES; 492 | DYLIB_COMPATIBILITY_VERSION = 1; 493 | DYLIB_CURRENT_VERSION = 1; 494 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 495 | INFOPLIST_FILE = Plugin/Info.plist; 496 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 497 | IPHONEOS_DEPLOYMENT_TARGET = 12.0; 498 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)"; 499 | ONLY_ACTIVE_ARCH = NO; 500 | PRODUCT_BUNDLE_IDENTIFIER = com.getcapacitor.Plugin; 501 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 502 | SKIP_INSTALL = YES; 503 | SWIFT_VERSION = 5.0; 504 | TARGETED_DEVICE_FAMILY = "1,2"; 505 | }; 506 | name = Release; 507 | }; 508 | 50ADFFA0201F53D600D50D53 /* Debug */ = { 509 | isa = XCBuildConfiguration; 510 | baseConfigurationReference = 96ED1B6440D6672E406C8D19 /* Pods-PluginTests.debug.xcconfig */; 511 | buildSettings = { 512 | CODE_SIGN_STYLE = Automatic; 513 | INFOPLIST_FILE = PluginTests/Info.plist; 514 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 515 | PRODUCT_BUNDLE_IDENTIFIER = com.getcapacitor.PluginTests; 516 | PRODUCT_NAME = "$(TARGET_NAME)"; 517 | SWIFT_VERSION = 5.0; 518 | TARGETED_DEVICE_FAMILY = "1,2"; 519 | }; 520 | name = Debug; 521 | }; 522 | 50ADFFA1201F53D600D50D53 /* Release */ = { 523 | isa = XCBuildConfiguration; 524 | baseConfigurationReference = F65BB2953ECE002E1EF3E424 /* Pods-PluginTests.release.xcconfig */; 525 | buildSettings = { 526 | CODE_SIGN_STYLE = Automatic; 527 | INFOPLIST_FILE = PluginTests/Info.plist; 528 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 529 | PRODUCT_BUNDLE_IDENTIFIER = com.getcapacitor.PluginTests; 530 | PRODUCT_NAME = "$(TARGET_NAME)"; 531 | SWIFT_VERSION = 5.0; 532 | TARGETED_DEVICE_FAMILY = "1,2"; 533 | }; 534 | name = Release; 535 | }; 536 | /* End XCBuildConfiguration section */ 537 | 538 | /* Begin XCConfigurationList section */ 539 | 50ADFF82201F53D600D50D53 /* Build configuration list for PBXProject "Plugin" */ = { 540 | isa = XCConfigurationList; 541 | buildConfigurations = ( 542 | 50ADFF9A201F53D600D50D53 /* Debug */, 543 | 50ADFF9B201F53D600D50D53 /* Release */, 544 | ); 545 | defaultConfigurationIsVisible = 0; 546 | defaultConfigurationName = Release; 547 | }; 548 | 50ADFF9C201F53D600D50D53 /* Build configuration list for PBXNativeTarget "Plugin" */ = { 549 | isa = XCConfigurationList; 550 | buildConfigurations = ( 551 | 50ADFF9D201F53D600D50D53 /* Debug */, 552 | 50ADFF9E201F53D600D50D53 /* Release */, 553 | ); 554 | defaultConfigurationIsVisible = 0; 555 | defaultConfigurationName = Release; 556 | }; 557 | 50ADFF9F201F53D600D50D53 /* Build configuration list for PBXNativeTarget "PluginTests" */ = { 558 | isa = XCConfigurationList; 559 | buildConfigurations = ( 560 | 50ADFFA0201F53D600D50D53 /* Debug */, 561 | 50ADFFA1201F53D600D50D53 /* Release */, 562 | ); 563 | defaultConfigurationIsVisible = 0; 564 | defaultConfigurationName = Release; 565 | }; 566 | /* End XCConfigurationList section */ 567 | }; 568 | rootObject = 50ADFF7F201F53D600D50D53 /* Project object */; 569 | } 570 | --------------------------------------------------------------------------------