Skip to content

Commit cf6b944

Browse files
google-ima-devrel-botIMA Developer Relations
authored andcommitted
Adds a Swift Snippets sample app for IMA documentation code snippets.
- Adds secure signals snippet to the Snippets app. PiperOrigin-RevId: 813387605
1 parent ee3db73 commit cf6b944

File tree

12 files changed

+667
-0
lines changed

12 files changed

+667
-0
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
- "Swift/BasicExample"
2929
- "Swift/PodServingExample"
3030
- "Swift/SampleVideoPlayer"
31+
- "Swift/Snippets"
3132
- "Swift/VideoStitcherExample"
3233
- "Swift/SGAIClientSideExample"
3334
steps:

Swift/Snippets/Podfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
platform :ios, '17'
2+
project 'Snippets.xcodeproj'
3+
4+
target 'Snippets' do
5+
pod 'GoogleAds-IMA-iOS-SDK', '~> 3.27.4'
6+
end
Lines changed: 368 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,368 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 56;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
1F905ECC2EA147350098A6BF /* SecureSignalsSnippet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F905ECB2EA1472B0098A6BF /* SecureSignalsSnippet.swift */; };
11+
D20D1DC82C1652260021D157 /* iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D20D1DC62C1652260021D157 /* iPhone.storyboard */; };
12+
D20D1DC92C1652260021D157 /* iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D20D1DC72C1652260021D157 /* iPad.storyboard */; };
13+
D21627942C165053004B08EF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D21627932C165053004B08EF /* AppDelegate.swift */; };
14+
D21627A02C165055004B08EF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D216279F2C165055004B08EF /* Assets.xcassets */; };
15+
/* End PBXBuildFile section */
16+
17+
/* Begin PBXFileReference section */
18+
1F905ECB2EA1472B0098A6BF /* SecureSignalsSnippet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureSignalsSnippet.swift; sourceTree = "<group>"; };
19+
D20D1DC62C1652260021D157 /* iPhone.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = iPhone.storyboard; sourceTree = "<group>"; };
20+
D20D1DC72C1652260021D157 /* iPad.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = iPad.storyboard; sourceTree = "<group>"; };
21+
D21627902C165053004B08EF /* Snippets.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Snippets.app; sourceTree = BUILT_PRODUCTS_DIR; };
22+
D21627932C165053004B08EF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
23+
D216279F2C165055004B08EF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
24+
D21627A42C165055004B08EF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
25+
/* End PBXFileReference section */
26+
27+
/* Begin PBXFrameworksBuildPhase section */
28+
D216278D2C165053004B08EF /* Frameworks */ = {
29+
isa = PBXFrameworksBuildPhase;
30+
buildActionMask = 2147483647;
31+
files = (
32+
);
33+
runOnlyForDeploymentPostprocessing = 0;
34+
};
35+
/* End PBXFrameworksBuildPhase section */
36+
37+
/* Begin PBXGroup section */
38+
C3F09BE363D05255D29BD1ED /* Pods */ = {
39+
isa = PBXGroup;
40+
children = (
41+
);
42+
path = Pods;
43+
sourceTree = "<group>";
44+
};
45+
D21627872C165053004B08EF = {
46+
isa = PBXGroup;
47+
children = (
48+
D21627922C165053004B08EF /* Snippets */,
49+
D21627912C165053004B08EF /* Products */,
50+
C3F09BE363D05255D29BD1ED /* Pods */,
51+
);
52+
sourceTree = "<group>";
53+
};
54+
D21627912C165053004B08EF /* Products */ = {
55+
isa = PBXGroup;
56+
children = (
57+
D21627902C165053004B08EF /* Snippets.app */,
58+
);
59+
name = Products;
60+
sourceTree = "<group>";
61+
};
62+
D21627922C165053004B08EF /* Snippets */ = {
63+
isa = PBXGroup;
64+
children = (
65+
1F905ECB2EA1472B0098A6BF /* SecureSignalsSnippet.swift */,
66+
D21627932C165053004B08EF /* AppDelegate.swift */,
67+
D216279F2C165055004B08EF /* Assets.xcassets */,
68+
D20D1DC72C1652260021D157 /* iPad.storyboard */,
69+
D20D1DC62C1652260021D157 /* iPhone.storyboard */,
70+
D21627A42C165055004B08EF /* Info.plist */,
71+
);
72+
name = Snippets;
73+
path = app;
74+
sourceTree = "<group>";
75+
};
76+
/* End PBXGroup section */
77+
78+
/* Begin PBXNativeTarget section */
79+
D216278F2C165053004B08EF /* Snippets */ = {
80+
isa = PBXNativeTarget;
81+
buildConfigurationList = D21627A72C165055004B08EF /* Build configuration list for PBXNativeTarget "Snippets" */;
82+
buildPhases = (
83+
D216278C2C165053004B08EF /* Sources */,
84+
D216278D2C165053004B08EF /* Frameworks */,
85+
D216278E2C165053004B08EF /* Resources */,
86+
);
87+
buildRules = (
88+
);
89+
dependencies = (
90+
);
91+
name = Snippets;
92+
productName = Snippets;
93+
productReference = D21627902C165053004B08EF /* Snippets.app */;
94+
productType = "com.apple.product-type.application";
95+
};
96+
/* End PBXNativeTarget section */
97+
98+
/* Begin PBXProject section */
99+
D21627882C165053004B08EF /* Project object */ = {
100+
isa = PBXProject;
101+
attributes = {
102+
BuildIndependentTargetsInParallel = 1;
103+
LastSwiftUpdateCheck = 1530;
104+
LastUpgradeCheck = 1530;
105+
TargetAttributes = {
106+
D216278F2C165053004B08EF = {
107+
CreatedOnToolsVersion = 15.3;
108+
};
109+
};
110+
};
111+
buildConfigurationList = D216278B2C165053004B08EF /* Build configuration list for PBXProject "Snippets" */;
112+
compatibilityVersion = "Xcode 14.0";
113+
developmentRegion = en;
114+
hasScannedForEncodings = 0;
115+
knownRegions = (
116+
en,
117+
Base,
118+
);
119+
mainGroup = D21627872C165053004B08EF;
120+
productRefGroup = D21627912C165053004B08EF /* Products */;
121+
projectDirPath = "";
122+
projectRoot = "";
123+
targets = (
124+
D216278F2C165053004B08EF /* Snippets */,
125+
);
126+
};
127+
/* End PBXProject section */
128+
129+
/* Begin PBXResourcesBuildPhase section */
130+
D216278E2C165053004B08EF /* Resources */ = {
131+
isa = PBXResourcesBuildPhase;
132+
buildActionMask = 2147483647;
133+
files = (
134+
D21627A02C165055004B08EF /* Assets.xcassets in Resources */,
135+
D20D1DC92C1652260021D157 /* iPad.storyboard in Resources */,
136+
D20D1DC82C1652260021D157 /* iPhone.storyboard in Resources */,
137+
);
138+
runOnlyForDeploymentPostprocessing = 0;
139+
};
140+
/* End PBXResourcesBuildPhase section */
141+
142+
/* Begin PBXSourcesBuildPhase section */
143+
D216278C2C165053004B08EF /* Sources */ = {
144+
isa = PBXSourcesBuildPhase;
145+
buildActionMask = 2147483647;
146+
files = (
147+
1F905ECC2EA147350098A6BF /* SecureSignalsSnippet.swift in Sources */,
148+
D21627942C165053004B08EF /* AppDelegate.swift in Sources */,
149+
);
150+
runOnlyForDeploymentPostprocessing = 0;
151+
};
152+
/* End PBXSourcesBuildPhase section */
153+
154+
/* Begin XCBuildConfiguration section */
155+
D21627A52C165055004B08EF /* Debug */ = {
156+
isa = XCBuildConfiguration;
157+
buildSettings = {
158+
ALWAYS_SEARCH_USER_PATHS = NO;
159+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
160+
CLANG_ANALYZER_NONNULL = YES;
161+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
162+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
163+
CLANG_ENABLE_MODULES = YES;
164+
CLANG_ENABLE_OBJC_ARC = YES;
165+
CLANG_ENABLE_OBJC_WEAK = YES;
166+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
167+
CLANG_WARN_BOOL_CONVERSION = YES;
168+
CLANG_WARN_COMMA = YES;
169+
CLANG_WARN_CONSTANT_CONVERSION = YES;
170+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
171+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
172+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
173+
CLANG_WARN_EMPTY_BODY = YES;
174+
CLANG_WARN_ENUM_CONVERSION = YES;
175+
CLANG_WARN_INFINITE_RECURSION = YES;
176+
CLANG_WARN_INT_CONVERSION = YES;
177+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
178+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
179+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
180+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
181+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
182+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
183+
CLANG_WARN_STRICT_PROTOTYPES = YES;
184+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
185+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
186+
CLANG_WARN_UNREACHABLE_CODE = YES;
187+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
188+
COPY_PHASE_STRIP = NO;
189+
DEBUG_INFORMATION_FORMAT = dwarf;
190+
ENABLE_STRICT_OBJC_MSGSEND = YES;
191+
ENABLE_TESTABILITY = YES;
192+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
193+
GCC_C_LANGUAGE_STANDARD = gnu17;
194+
GCC_DYNAMIC_NO_PIC = NO;
195+
GCC_NO_COMMON_BLOCKS = YES;
196+
GCC_OPTIMIZATION_LEVEL = 0;
197+
GCC_PREPROCESSOR_DEFINITIONS = (
198+
"DEBUG=1",
199+
"$(inherited)",
200+
);
201+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
202+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
203+
GCC_WARN_UNDECLARED_SELECTOR = YES;
204+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
205+
GCC_WARN_UNUSED_FUNCTION = YES;
206+
GCC_WARN_UNUSED_VARIABLE = YES;
207+
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
208+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
209+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
210+
MTL_FAST_MATH = YES;
211+
ONLY_ACTIVE_ARCH = YES;
212+
SDKROOT = iphoneos;
213+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
214+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
215+
};
216+
name = Debug;
217+
};
218+
D21627A62C165055004B08EF /* Release */ = {
219+
isa = XCBuildConfiguration;
220+
buildSettings = {
221+
ALWAYS_SEARCH_USER_PATHS = NO;
222+
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
223+
CLANG_ANALYZER_NONNULL = YES;
224+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
225+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
226+
CLANG_ENABLE_MODULES = YES;
227+
CLANG_ENABLE_OBJC_ARC = YES;
228+
CLANG_ENABLE_OBJC_WEAK = YES;
229+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
230+
CLANG_WARN_BOOL_CONVERSION = YES;
231+
CLANG_WARN_COMMA = YES;
232+
CLANG_WARN_CONSTANT_CONVERSION = YES;
233+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
234+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
235+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
236+
CLANG_WARN_EMPTY_BODY = YES;
237+
CLANG_WARN_ENUM_CONVERSION = YES;
238+
CLANG_WARN_INFINITE_RECURSION = YES;
239+
CLANG_WARN_INT_CONVERSION = YES;
240+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
241+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
242+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
243+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
244+
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
245+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
246+
CLANG_WARN_STRICT_PROTOTYPES = YES;
247+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
248+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
249+
CLANG_WARN_UNREACHABLE_CODE = YES;
250+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
251+
COPY_PHASE_STRIP = NO;
252+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
253+
ENABLE_NS_ASSERTIONS = NO;
254+
ENABLE_STRICT_OBJC_MSGSEND = YES;
255+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
256+
GCC_C_LANGUAGE_STANDARD = gnu17;
257+
GCC_NO_COMMON_BLOCKS = YES;
258+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
259+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
260+
GCC_WARN_UNDECLARED_SELECTOR = YES;
261+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
262+
GCC_WARN_UNUSED_FUNCTION = YES;
263+
GCC_WARN_UNUSED_VARIABLE = YES;
264+
IPHONEOS_DEPLOYMENT_TARGET = 17.4;
265+
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
266+
MTL_ENABLE_DEBUG_INFO = NO;
267+
MTL_FAST_MATH = YES;
268+
SDKROOT = iphoneos;
269+
SWIFT_COMPILATION_MODE = wholemodule;
270+
VALIDATE_PRODUCT = YES;
271+
};
272+
name = Release;
273+
};
274+
D21627A82C165055004B08EF /* Debug */ = {
275+
isa = XCBuildConfiguration;
276+
buildSettings = {
277+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
278+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
279+
CODE_SIGN_STYLE = Automatic;
280+
CURRENT_PROJECT_VERSION = 1;
281+
DEVELOPMENT_TEAM = Z95L3YYF93;
282+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
283+
GENERATE_INFOPLIST_FILE = YES;
284+
INFOPLIST_FILE = app/Info.plist;
285+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
286+
INFOPLIST_KEY_UILaunchStoryboardName = iPhone.storyboard;
287+
INFOPLIST_KEY_UIMainStoryboardFile = iPhone;
288+
INFOPLIST_KEY_UIRequiredDeviceCapabilities = arm64;
289+
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
290+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
291+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
292+
LD_RUNPATH_SEARCH_PATHS = (
293+
"$(inherited)",
294+
"@executable_path/Frameworks",
295+
);
296+
MARKETING_VERSION = 1.0;
297+
PRODUCT_BUNDLE_IDENTIFIER = google.Snippets;
298+
PRODUCT_NAME = "$(TARGET_NAME)";
299+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
300+
SUPPORTS_MACCATALYST = NO;
301+
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
302+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
303+
SWIFT_EMIT_LOC_STRINGS = YES;
304+
SWIFT_VERSION = 5.0;
305+
TARGETED_DEVICE_FAMILY = "1,2";
306+
};
307+
name = Debug;
308+
};
309+
D21627A92C165055004B08EF /* Release */ = {
310+
isa = XCBuildConfiguration;
311+
buildSettings = {
312+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
313+
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
314+
CODE_SIGN_STYLE = Automatic;
315+
CURRENT_PROJECT_VERSION = 1;
316+
DEVELOPMENT_TEAM = Z95L3YYF93;
317+
ENABLE_USER_SCRIPT_SANDBOXING = NO;
318+
GENERATE_INFOPLIST_FILE = YES;
319+
INFOPLIST_FILE = app/Info.plist;
320+
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
321+
INFOPLIST_KEY_UILaunchStoryboardName = iPhone.storyboard;
322+
INFOPLIST_KEY_UIMainStoryboardFile = iPhone;
323+
INFOPLIST_KEY_UIRequiredDeviceCapabilities = arm64;
324+
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
325+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
326+
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
327+
LD_RUNPATH_SEARCH_PATHS = (
328+
"$(inherited)",
329+
"@executable_path/Frameworks",
330+
);
331+
MARKETING_VERSION = 1.0;
332+
PRODUCT_BUNDLE_IDENTIFIER = google.Snippets;
333+
PRODUCT_NAME = "$(TARGET_NAME)";
334+
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
335+
SUPPORTS_MACCATALYST = NO;
336+
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
337+
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
338+
SWIFT_EMIT_LOC_STRINGS = YES;
339+
SWIFT_VERSION = 5.0;
340+
TARGETED_DEVICE_FAMILY = "1,2";
341+
};
342+
name = Release;
343+
};
344+
/* End XCBuildConfiguration section */
345+
346+
/* Begin XCConfigurationList section */
347+
D216278B2C165053004B08EF /* Build configuration list for PBXProject "Snippets" */ = {
348+
isa = XCConfigurationList;
349+
buildConfigurations = (
350+
D21627A52C165055004B08EF /* Debug */,
351+
D21627A62C165055004B08EF /* Release */,
352+
);
353+
defaultConfigurationIsVisible = 0;
354+
defaultConfigurationName = Release;
355+
};
356+
D21627A72C165055004B08EF /* Build configuration list for PBXNativeTarget "Snippets" */ = {
357+
isa = XCConfigurationList;
358+
buildConfigurations = (
359+
D21627A82C165055004B08EF /* Debug */,
360+
D21627A92C165055004B08EF /* Release */,
361+
);
362+
defaultConfigurationIsVisible = 0;
363+
defaultConfigurationName = Release;
364+
};
365+
/* End XCConfigurationList section */
366+
};
367+
rootObject = D21627882C165053004B08EF /* Project object */;
368+
}

0 commit comments

Comments
 (0)