items upload/download almost complete
3
Podfile
@ -9,6 +9,7 @@ target 'Vendoo' do
|
||||
pod 'PicoKit'
|
||||
pod 'Firebase', '>= 2.5.0'
|
||||
pod 'FirebaseAuth'
|
||||
pod 'Firebase/Database'
|
||||
pod 'Locksmith'
|
||||
# pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
|
||||
pod 'Alamofire-SwiftyJSON'
|
||||
@ -17,6 +18,8 @@ target 'Vendoo' do
|
||||
pod 'FBSDKCoreKit'
|
||||
pod 'FBSDKLoginKit'
|
||||
pod 'FBSDKShareKit'
|
||||
pod 'Firebase/Storage'
|
||||
|
||||
|
||||
target 'VendooTests' do
|
||||
inherit! :search_paths
|
||||
|
||||
29
Podfile.lock
@ -39,12 +39,18 @@ PODS:
|
||||
- FBSDKCoreKit
|
||||
- FBSDKShareKit (4.12.0):
|
||||
- FBSDKCoreKit
|
||||
- Firebase (3.2.0):
|
||||
- Firebase/Core (= 3.2.0)
|
||||
- Firebase/Analytics (3.2.0):
|
||||
- Firebase (3.2.1):
|
||||
- Firebase/Core (= 3.2.1)
|
||||
- Firebase/Analytics (3.2.1):
|
||||
- FirebaseAnalytics (= 3.2.0)
|
||||
- Firebase/Core (3.2.0):
|
||||
- Firebase/Analytics (= 3.2.0)
|
||||
- Firebase/Core (3.2.1):
|
||||
- Firebase/Analytics (= 3.2.1)
|
||||
- Firebase/Database (3.2.1):
|
||||
- Firebase/Analytics (= 3.2.1)
|
||||
- FirebaseDatabase (= 3.0.1)
|
||||
- Firebase/Storage (3.2.1):
|
||||
- Firebase/Analytics (= 3.2.1)
|
||||
- FirebaseStorage (= 1.0.1)
|
||||
- FirebaseAnalytics (3.2.0):
|
||||
- FirebaseInstanceID (~> 1.0)
|
||||
- GoogleInterchangeUtilities (~> 1.2)
|
||||
@ -54,7 +60,12 @@ PODS:
|
||||
- FirebaseAnalytics (~> 3.2)
|
||||
- GoogleNetworkingUtilities (~> 1.2)
|
||||
- GoogleUtilities (~> 1.3)
|
||||
- FirebaseDatabase (3.0.1):
|
||||
- FirebaseAnalytics (~> 3.2)
|
||||
- FirebaseInstanceID (1.0.6)
|
||||
- FirebaseStorage (1.0.1):
|
||||
- FirebaseAnalytics (~> 3.2)
|
||||
- GoogleNetworkingUtilities (~> 1.2)
|
||||
- GDataXML-HTML (1.3.0)
|
||||
- GoogleInterchangeUtilities (1.2.1):
|
||||
- GoogleSymbolUtilities (~> 1.0)
|
||||
@ -87,6 +98,8 @@ DEPENDENCIES:
|
||||
- FBSDKLoginKit
|
||||
- FBSDKShareKit
|
||||
- Firebase (>= 2.5.0)
|
||||
- Firebase/Database
|
||||
- Firebase/Storage
|
||||
- FirebaseAuth
|
||||
- Locksmith
|
||||
- OAuthSwift (~> 0.5.0)
|
||||
@ -102,10 +115,12 @@ SPEC CHECKSUMS:
|
||||
FBSDKCoreKit: 6e56d5a2a64a755ad4efb5dbeee8f82fb1b99775
|
||||
FBSDKLoginKit: 03f68a8d48c2c8bb81d7eb8097973d483543e1f6
|
||||
FBSDKShareKit: df1491f064cffc8ebcc3fc8b71be94cc190c728e
|
||||
Firebase: 6d4012da1598732a2b43f16d8355eca90f94ed59
|
||||
Firebase: 6c80ac28d59d06bfd9152a7b6ea17625ca93183d
|
||||
FirebaseAnalytics: 6f75b04e6bfb8e0b6e9ef298e04c24eea3b13863
|
||||
FirebaseAuth: 94b851fc345ce98036dfedfdc2eddeaef8fa3b4c
|
||||
FirebaseDatabase: 34301d11621a83546f39f670d256477ba6f7fcea
|
||||
FirebaseInstanceID: d014d574053a2fe84478f12f7bae96979e7051bb
|
||||
FirebaseStorage: e9c32a8d246c07eeefd78180c22736aa1b81e81b
|
||||
GDataXML-HTML: 7adc03668cab35c288f1dbb8929a179f0fece898
|
||||
GoogleInterchangeUtilities: def8415a862effc67d549d5b5b0b9c7a2f97d4de
|
||||
GoogleNetworkingUtilities: 3e83269048cfb498dc7ec83ab36813360965c74f
|
||||
@ -116,6 +131,6 @@ SPEC CHECKSUMS:
|
||||
PicoKit: 9079bce659a8d5408c8af1c45254b971df614de3
|
||||
SwiftyJSON: 04ccea08915aa0109039157c7974cf0298da292a
|
||||
|
||||
PODFILE CHECKSUM: e5c9f5e7183188f117de0f8635164df8a5f04bf6
|
||||
PODFILE CHECKSUM: f8828d1dfcf5c8b23e97047fec86e244c81c27ac
|
||||
|
||||
COCOAPODS: 1.0.0
|
||||
|
||||
34
Pods/Firebase/Samples/CONTRIBUTING.md
generated
@ -1,34 +0,0 @@
|
||||
|
||||
# How to become a contributor and submit your own code
|
||||
|
||||
## Contributor License Agreements
|
||||
|
||||
We'd love to accept your sample apps and patches! Before we can take them, we
|
||||
have to jump a couple of legal hurdles.
|
||||
|
||||
Please fill out either the individual or corporate Contributor License Agreement
|
||||
(CLA).
|
||||
|
||||
* If you are an individual writing original source code and you're sure you
|
||||
own the intellectual property, then you'll need to sign an [individual CLA]
|
||||
(http://code.google.com/legal/individual-cla-v1.0.html).
|
||||
* If you work for a company that wants to allow you to contribute your work,
|
||||
then you'll need to sign a [corporate CLA]
|
||||
(http://code.google.com/legal/corporate-cla-v1.0.html).
|
||||
|
||||
Follow either of the two links above to access the appropriate CLA and
|
||||
instructions for how to sign and return it. Once we receive it, we'll be able to
|
||||
accept your pull requests.
|
||||
|
||||
## Contributing a Patch
|
||||
|
||||
1. Sign a Contributor License Agreement, if you have not yet done so (see
|
||||
details above).
|
||||
1. Create your change to the repo in question.
|
||||
* Fork the desired repo, develop and test your code changes.
|
||||
* Ensure that your code is clear and comprehensible.
|
||||
* Ensure that your code has an appropriate set of unit tests which all pass.
|
||||
1. Submit a pull request.
|
||||
1. The repo owner will review your request. If it is approved, the change will
|
||||
be merged. If it needs additional work, the repo owner will respond with
|
||||
useful comments.
|
||||
191
Pods/Firebase/Samples/LICENSE
generated
@ -1,191 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction, and
|
||||
distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by the copyright
|
||||
owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all other entities
|
||||
that control, are controlled by, or are under common control with that entity.
|
||||
For the purposes of this definition, "control" means (i) the power, direct or
|
||||
indirect, to cause the direction or management of such entity, whether by
|
||||
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
||||
permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications, including
|
||||
but not limited to software source code, documentation source, and configuration
|
||||
files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical transformation or
|
||||
translation of a Source form, including but not limited to compiled object code,
|
||||
generated documentation, and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or Object form, made
|
||||
available under the License, as indicated by a copyright notice that is included
|
||||
in or attached to the work (an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object form, that
|
||||
is based on (or derived from) the Work and for which the editorial revisions,
|
||||
annotations, elaborations, or other modifications represent, as a whole, an
|
||||
original work of authorship. For the purposes of this License, Derivative Works
|
||||
shall not include works that remain separable from, or merely link (or bind by
|
||||
name) to the interfaces of, the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including the original version
|
||||
of the Work and any modifications or additions to that Work or Derivative Works
|
||||
thereof, that is intentionally submitted to Licensor for inclusion in the Work
|
||||
by the copyright owner or by an individual or Legal Entity authorized to submit
|
||||
on behalf of the copyright owner. For the purposes of this definition,
|
||||
"submitted" means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems, and
|
||||
issue tracking systems that are managed by, or on behalf of, the Licensor for
|
||||
the purpose of discussing and improving the Work, but excluding communication
|
||||
that is conspicuously marked or otherwise designated in writing by the copyright
|
||||
owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
|
||||
of whom a Contribution has been received by Licensor and subsequently
|
||||
incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby
|
||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
||||
irrevocable copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the Work and such
|
||||
Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License.
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby
|
||||
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
|
||||
irrevocable (except as stated in this section) patent license to make, have
|
||||
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
|
||||
such license applies only to those patent claims licensable by such Contributor
|
||||
that are necessarily infringed by their Contribution(s) alone or by combination
|
||||
of their Contribution(s) with the Work to which such Contribution(s) was
|
||||
submitted. If You institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
|
||||
Contribution incorporated within the Work constitutes direct or contributory
|
||||
patent infringement, then any patent licenses granted to You under this License
|
||||
for that Work shall terminate as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution.
|
||||
|
||||
You may reproduce and distribute copies of the Work or Derivative Works thereof
|
||||
in any medium, with or without modifications, and in Source or Object form,
|
||||
provided that You meet the following conditions:
|
||||
|
||||
You must give any other recipients of the Work or Derivative Works a copy of
|
||||
this License; and
|
||||
You must cause any modified files to carry prominent notices stating that You
|
||||
changed the files; and
|
||||
You must retain, in the Source form of any Derivative Works that You distribute,
|
||||
all copyright, patent, trademark, and attribution notices from the Source form
|
||||
of the Work, excluding those notices that do not pertain to any part of the
|
||||
Derivative Works; and
|
||||
If the Work includes a "NOTICE" text file as part of its distribution, then any
|
||||
Derivative Works that You distribute must include a readable copy of the
|
||||
attribution notices contained within such NOTICE file, excluding those notices
|
||||
that do not pertain to any part of the Derivative Works, in at least one of the
|
||||
following places: within a NOTICE text file distributed as part of the
|
||||
Derivative Works; within the Source form or documentation, if provided along
|
||||
with the Derivative Works; or, within a display generated by the Derivative
|
||||
Works, if and wherever such third-party notices normally appear. The contents of
|
||||
the NOTICE file are for informational purposes only and do not modify the
|
||||
License. You may add Your own attribution notices within Derivative Works that
|
||||
You distribute, alongside or as an addendum to the NOTICE text from the Work,
|
||||
provided that such additional attribution notices cannot be construed as
|
||||
modifying the License.
|
||||
You may add Your own copyright statement to Your modifications and may provide
|
||||
additional or different license terms and conditions for use, reproduction, or
|
||||
distribution of Your modifications, or for any such Derivative Works as a whole,
|
||||
provided Your use, reproduction, and distribution of the Work otherwise complies
|
||||
with the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions.
|
||||
|
||||
Unless You explicitly state otherwise, any Contribution intentionally submitted
|
||||
for inclusion in the Work by You to the Licensor shall be under the terms and
|
||||
conditions of this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify the terms of
|
||||
any separate license agreement you may have executed with Licensor regarding
|
||||
such Contributions.
|
||||
|
||||
6. Trademarks.
|
||||
|
||||
This License does not grant permission to use the trade names, trademarks,
|
||||
service marks, or product names of the Licensor, except as required for
|
||||
reasonable and customary use in describing the origin of the Work and
|
||||
reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty.
|
||||
|
||||
Unless required by applicable law or agreed to in writing, Licensor provides the
|
||||
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
|
||||
including, without limitation, any warranties or conditions of TITLE,
|
||||
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
|
||||
solely responsible for determining the appropriateness of using or
|
||||
redistributing the Work and assume any risks associated with Your exercise of
|
||||
permissions under this License.
|
||||
|
||||
8. Limitation of Liability.
|
||||
|
||||
In no event and under no legal theory, whether in tort (including negligence),
|
||||
contract, or otherwise, unless required by applicable law (such as deliberate
|
||||
and grossly negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special, incidental,
|
||||
or consequential damages of any character arising as a result of this License or
|
||||
out of the use or inability to use the Work (including but not limited to
|
||||
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
|
||||
any and all other commercial damages or losses), even if such Contributor has
|
||||
been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability.
|
||||
|
||||
While redistributing the Work or Derivative Works thereof, You may choose to
|
||||
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
|
||||
other liability obligations and/or rights consistent with this License. However,
|
||||
in accepting such obligations, You may act only on Your own behalf and on Your
|
||||
sole responsibility, not on behalf of any other Contributor, and only if You
|
||||
agree to indemnify, defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason of your
|
||||
accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work
|
||||
|
||||
To apply the Apache License to your work, attach the following boilerplate
|
||||
notice, with the fields enclosed by brackets "[]" replaced with your own
|
||||
identifying information. (Don't include the brackets!) The text should be
|
||||
enclosed in the appropriate comment syntax for the file format. We also
|
||||
recommend that a file or class name and description of purpose be included on
|
||||
the same "printed page" as the copyright notice for easier identification within
|
||||
third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
10
Pods/Firebase/Samples/README.md
generated
@ -1,10 +0,0 @@
|
||||
# Firebase Quickstarts for iOS
|
||||
|
||||
A collection of quickstart samples demonstrating the Firebase APIs on iOS. Each sample contains targets
|
||||
for both Objective-C and Swift. For more information, see https://firebase.google.com.
|
||||
|
||||
## How to make contributions?
|
||||
Please read and follow the steps in the [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||
|
||||
## License
|
||||
See [LICENSE](LICENSE)
|
||||
@ -1,702 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1021DD271B05187A0018763B /* AdMobExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1021DD261B05187A0018763B /* AdMobExampleTests.m */; };
|
||||
1048165C1B067ACD00139095 /* AdMobExampleSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1021DD351B0518E40018763B /* AdMobExampleSwiftTests.swift */; };
|
||||
1048165E1B068A0300139095 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF86EE2419787E6B00411520 /* Main.storyboard */; };
|
||||
104816601B068FC100139095 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105919B41ADDA93F00344065 /* ViewController.swift */; };
|
||||
105414A31B163EB20006C828 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1054149F1B163EB20006C828 /* Images.xcassets */; };
|
||||
105414A41B163EB20006C828 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1054149F1B163EB20006C828 /* Images.xcassets */; };
|
||||
105414A51B163EB20006C828 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 105414A01B163EB20006C828 /* LaunchScreen.xib */; };
|
||||
105414A61B163EB20006C828 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 105414A01B163EB20006C828 /* LaunchScreen.xib */; };
|
||||
1056D9731CDB936C0061ED72 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1056D9721CDB936C0061ED72 /* GoogleService-Info.plist */; };
|
||||
1056D9741CDB936C0061ED72 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1056D9721CDB936C0061ED72 /* GoogleService-Info.plist */; };
|
||||
105919B71ADDA97D00344065 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF86EE2419787E6B00411520 /* Main.storyboard */; };
|
||||
105919B91ADDAA5900344065 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105919B31ADDA93F00344065 /* AppDelegate.swift */; };
|
||||
105919BA1ADDAA5D00344065 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 105919B41ADDA93F00344065 /* ViewController.swift */; };
|
||||
CF86EE1D19787E6B00411520 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CF86EE1C19787E6B00411520 /* main.m */; };
|
||||
CF86EE2019787E6B00411520 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CF86EE1F19787E6B00411520 /* AppDelegate.m */; };
|
||||
CF86EE2319787E6B00411520 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CF86EE2219787E6B00411520 /* ViewController.m */; };
|
||||
CF86EE2619787E6B00411520 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CF86EE2419787E6B00411520 /* Main.storyboard */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
1021DD281B05187A0018763B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = CF86EE0F19787E6B00411520 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = CF86EE1619787E6B00411520;
|
||||
remoteInfo = AdMobExample;
|
||||
};
|
||||
104816591B067A9900139095 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = CF86EE0F19787E6B00411520 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 105919891ADDA8F700344065;
|
||||
remoteInfo = AdMobExampleSwift;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1021DD221B05187A0018763B /* AdMobExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AdMobExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1021DD251B05187A0018763B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
1021DD261B05187A0018763B /* AdMobExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AdMobExampleTests.m; sourceTree = "<group>"; };
|
||||
1021DD311B0518E40018763B /* AdMobExampleSwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AdMobExampleSwiftTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1021DD341B0518E40018763B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
1021DD351B0518E40018763B /* AdMobExampleSwiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdMobExampleSwiftTests.swift; sourceTree = "<group>"; };
|
||||
1054149F1B163EB20006C828 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ../../shared/Images.xcassets; sourceTree = "<group>"; };
|
||||
105414A01B163EB20006C828 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = LaunchScreen.xib; path = ../../shared/LaunchScreen.xib; sourceTree = "<group>"; };
|
||||
1056D9721CDB936C0061ED72 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||
1059198A1ADDA8F700344065 /* AdMobExampleSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdMobExampleSwift.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
105919B31ADDA93F00344065 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
105919B41ADDA93F00344065 /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||
10BCC1C31B06474800B5A8B2 /* ViewController_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController_Private.h; sourceTree = "<group>"; };
|
||||
CF86EE1719787E6B00411520 /* AdMobExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AdMobExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
CF86EE1B19787E6B00411520 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
CF86EE1C19787E6B00411520 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
CF86EE1E19787E6B00411520 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
CF86EE1F19787E6B00411520 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
CF86EE2119787E6B00411520 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
|
||||
CF86EE2219787E6B00411520 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||
CF86EE2519787E6B00411520 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1021DD1F1B05187A0018763B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1021DD2E1B0518E40018763B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
105919871ADDA8F700344065 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
CF86EE1419787E6B00411520 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1021DD231B05187A0018763B /* AdMobExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
10BCC1C31B06474800B5A8B2 /* ViewController_Private.h */,
|
||||
1021DD261B05187A0018763B /* AdMobExampleTests.m */,
|
||||
1021DD241B05187A0018763B /* Supporting Files */,
|
||||
);
|
||||
path = AdMobExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1021DD241B05187A0018763B /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1021DD251B05187A0018763B /* Info.plist */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1021DD321B0518E40018763B /* AdMobExampleSwiftTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1021DD351B0518E40018763B /* AdMobExampleSwiftTests.swift */,
|
||||
1021DD331B0518E40018763B /* Supporting Files */,
|
||||
);
|
||||
path = AdMobExampleSwiftTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1021DD331B0518E40018763B /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1021DD341B0518E40018763B /* Info.plist */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1059198B1ADDA8F700344065 /* AdMobExampleSwift */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
105919B31ADDA93F00344065 /* AppDelegate.swift */,
|
||||
105919B41ADDA93F00344065 /* ViewController.swift */,
|
||||
);
|
||||
path = AdMobExampleSwift;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CF86EE0E19787E6B00411520 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CF86EE1919787E6B00411520 /* AdMobExample */,
|
||||
1059198B1ADDA8F700344065 /* AdMobExampleSwift */,
|
||||
1021DD231B05187A0018763B /* AdMobExampleTests */,
|
||||
1021DD321B0518E40018763B /* AdMobExampleSwiftTests */,
|
||||
CF86EE1819787E6B00411520 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CF86EE1819787E6B00411520 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CF86EE1719787E6B00411520 /* AdMobExample.app */,
|
||||
1059198A1ADDA8F700344065 /* AdMobExampleSwift.app */,
|
||||
1021DD221B05187A0018763B /* AdMobExampleTests.xctest */,
|
||||
1021DD311B0518E40018763B /* AdMobExampleSwiftTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CF86EE1919787E6B00411520 /* AdMobExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CF86EE1E19787E6B00411520 /* AppDelegate.h */,
|
||||
CF86EE1F19787E6B00411520 /* AppDelegate.m */,
|
||||
CF86EE2119787E6B00411520 /* ViewController.h */,
|
||||
CF86EE2219787E6B00411520 /* ViewController.m */,
|
||||
CF86EE2419787E6B00411520 /* Main.storyboard */,
|
||||
CF86EE1A19787E6B00411520 /* Supporting Files */,
|
||||
EF6DB4B61CDA909800319C08 /* Shared */,
|
||||
);
|
||||
path = AdMobExample;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CF86EE1A19787E6B00411520 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1056D9721CDB936C0061ED72 /* GoogleService-Info.plist */,
|
||||
CF86EE1B19787E6B00411520 /* Info.plist */,
|
||||
CF86EE1C19787E6B00411520 /* main.m */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EF6DB4B61CDA909800319C08 /* Shared */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1054149F1B163EB20006C828 /* Images.xcassets */,
|
||||
105414A01B163EB20006C828 /* LaunchScreen.xib */,
|
||||
);
|
||||
name = Shared;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1021DD211B05187A0018763B /* AdMobExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1021DD2C1B05187A0018763B /* Build configuration list for PBXNativeTarget "AdMobExampleTests" */;
|
||||
buildPhases = (
|
||||
1021DD1E1B05187A0018763B /* Sources */,
|
||||
1021DD1F1B05187A0018763B /* Frameworks */,
|
||||
1021DD201B05187A0018763B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
1021DD291B05187A0018763B /* PBXTargetDependency */,
|
||||
);
|
||||
name = AdMobExampleTests;
|
||||
productName = "AdMobExample Tests";
|
||||
productReference = 1021DD221B05187A0018763B /* AdMobExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
1021DD301B0518E40018763B /* AdMobExampleSwiftTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1021DD391B0518E40018763B /* Build configuration list for PBXNativeTarget "AdMobExampleSwiftTests" */;
|
||||
buildPhases = (
|
||||
1021DD2D1B0518E40018763B /* Sources */,
|
||||
1021DD2E1B0518E40018763B /* Frameworks */,
|
||||
1021DD2F1B0518E40018763B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
1048165A1B067A9900139095 /* PBXTargetDependency */,
|
||||
);
|
||||
name = AdMobExampleSwiftTests;
|
||||
productName = "AdMobExampleSwift Tests";
|
||||
productReference = 1021DD311B0518E40018763B /* AdMobExampleSwiftTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
105919891ADDA8F700344065 /* AdMobExampleSwift */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 105919AA1ADDA8F800344065 /* Build configuration list for PBXNativeTarget "AdMobExampleSwift" */;
|
||||
buildPhases = (
|
||||
105919861ADDA8F700344065 /* Sources */,
|
||||
105919871ADDA8F700344065 /* Frameworks */,
|
||||
105919881ADDA8F700344065 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AdMobExampleSwift;
|
||||
productName = BannerExampleSwift;
|
||||
productReference = 1059198A1ADDA8F700344065 /* AdMobExampleSwift.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
CF86EE1619787E6B00411520 /* AdMobExample */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = CF86EE3719787E6B00411520 /* Build configuration list for PBXNativeTarget "AdMobExample" */;
|
||||
buildPhases = (
|
||||
CF86EE1319787E6B00411520 /* Sources */,
|
||||
CF86EE1419787E6B00411520 /* Frameworks */,
|
||||
CF86EE1519787E6B00411520 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AdMobExample;
|
||||
productName = BannerExample;
|
||||
productReference = CF86EE1719787E6B00411520 /* AdMobExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
CF86EE0F19787E6B00411520 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftMigration = 0700;
|
||||
LastSwiftUpdateCheck = 0700;
|
||||
LastUpgradeCheck = 0710;
|
||||
ORGANIZATIONNAME = Google;
|
||||
TargetAttributes = {
|
||||
1021DD211B05187A0018763B = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
TestTargetID = CF86EE1619787E6B00411520;
|
||||
};
|
||||
1021DD301B0518E40018763B = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
};
|
||||
105919891ADDA8F700344065 = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
};
|
||||
CF86EE1619787E6B00411520 = {
|
||||
CreatedOnToolsVersion = 6.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = CF86EE1219787E6B00411520 /* Build configuration list for PBXProject "AdMobExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = CF86EE0E19787E6B00411520;
|
||||
productRefGroup = CF86EE1819787E6B00411520 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
CF86EE1619787E6B00411520 /* AdMobExample */,
|
||||
105919891ADDA8F700344065 /* AdMobExampleSwift */,
|
||||
1021DD211B05187A0018763B /* AdMobExampleTests */,
|
||||
1021DD301B0518E40018763B /* AdMobExampleSwiftTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1021DD201B05187A0018763B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1021DD2F1B0518E40018763B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1048165E1B068A0300139095 /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
105919881ADDA8F700344065 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
105414A61B163EB20006C828 /* LaunchScreen.xib in Resources */,
|
||||
1056D9741CDB936C0061ED72 /* GoogleService-Info.plist in Resources */,
|
||||
105919B71ADDA97D00344065 /* Main.storyboard in Resources */,
|
||||
105414A41B163EB20006C828 /* Images.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
CF86EE1519787E6B00411520 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
105414A51B163EB20006C828 /* LaunchScreen.xib in Resources */,
|
||||
1056D9731CDB936C0061ED72 /* GoogleService-Info.plist in Resources */,
|
||||
CF86EE2619787E6B00411520 /* Main.storyboard in Resources */,
|
||||
105414A31B163EB20006C828 /* Images.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1021DD1E1B05187A0018763B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1021DD271B05187A0018763B /* AdMobExampleTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1021DD2D1B0518E40018763B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
104816601B068FC100139095 /* ViewController.swift in Sources */,
|
||||
1048165C1B067ACD00139095 /* AdMobExampleSwiftTests.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
105919861ADDA8F700344065 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
105919BA1ADDAA5D00344065 /* ViewController.swift in Sources */,
|
||||
105919B91ADDAA5900344065 /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
CF86EE1319787E6B00411520 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
CF86EE2319787E6B00411520 /* ViewController.m in Sources */,
|
||||
CF86EE2019787E6B00411520 /* AppDelegate.m in Sources */,
|
||||
CF86EE1D19787E6B00411520 /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
1021DD291B05187A0018763B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = CF86EE1619787E6B00411520 /* AdMobExample */;
|
||||
targetProxy = 1021DD281B05187A0018763B /* PBXContainerItemProxy */;
|
||||
};
|
||||
1048165A1B067A9900139095 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 105919891ADDA8F700344065 /* AdMobExampleSwift */;
|
||||
targetProxy = 104816591B067A9900139095 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
CF86EE2419787E6B00411520 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CF86EE2519787E6B00411520 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1021DD2A1B05187A0018763B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = AdMobExampleTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AdMobExample.app/AdMobExample";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1021DD2B1B05187A0018763B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = AdMobExampleTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AdMobExample.app/AdMobExample";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1021DD3A1B0518E40018763B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = AdMobExampleSwiftTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "AdMobExampleSwift/AdMobExampleSwift-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1021DD3B1B0518E40018763B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
INFOPLIST_FILE = AdMobExampleSwiftTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "AdMobExampleSwift/AdMobExampleSwift-Bridging-Header.h";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
105919AB1ADDA8F800344065 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = AdMobExampleSwift/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AdMobExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
105919AC1ADDA8F800344065 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
INFOPLIST_FILE = AdMobExampleSwift/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AdMobExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
CF86EE3519787E6B00411520 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
CF86EE3619787E6B00411520 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
CF86EE3819787E6B00411520 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = AdMobExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
CF86EE3919787E6B00411520 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = AdMobExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.firebase.quickstart.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1021DD2C1B05187A0018763B /* Build configuration list for PBXNativeTarget "AdMobExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1021DD2A1B05187A0018763B /* Debug */,
|
||||
1021DD2B1B05187A0018763B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1021DD391B0518E40018763B /* Build configuration list for PBXNativeTarget "AdMobExampleSwiftTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1021DD3A1B0518E40018763B /* Debug */,
|
||||
1021DD3B1B0518E40018763B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
105919AA1ADDA8F800344065 /* Build configuration list for PBXNativeTarget "AdMobExampleSwift" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
105919AB1ADDA8F800344065 /* Debug */,
|
||||
105919AC1ADDA8F800344065 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
CF86EE1219787E6B00411520 /* Build configuration list for PBXProject "AdMobExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
CF86EE3519787E6B00411520 /* Debug */,
|
||||
CF86EE3619787E6B00411520 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
CF86EE3719787E6B00411520 /* Build configuration list for PBXNativeTarget "AdMobExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
CF86EE3819787E6B00411520 /* Debug */,
|
||||
CF86EE3919787E6B00411520 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = CF86EE0F19787E6B00411520 /* Project object */;
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
BasedOnStyle: Google
|
||||
ColumnLimit: 100
|
||||
BinPackParameters: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
@ -1,26 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// AppDelegate.h
|
||||
// AdMobExample
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface AppDelegate : UIResponder<UIApplicationDelegate>
|
||||
|
||||
@property(strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
@ -1,37 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// AppDelegate.m
|
||||
// AdMobExample
|
||||
//
|
||||
|
||||
// [START firebase_config]
|
||||
#import "AppDelegate.h"
|
||||
@import Firebase;
|
||||
|
||||
@interface AppDelegate ()
|
||||
|
||||
@end
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
// Use Firebase library to configure APIs
|
||||
[FIRApp configure];
|
||||
return YES;
|
||||
}
|
||||
// [END firebase_config]
|
||||
|
||||
@end
|
||||
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10109" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="j8W-h9-m7Y">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10083"/>
|
||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="GJg-Gt-22b">
|
||||
<objects>
|
||||
<navigationController id="j8W-h9-m7Y" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" barStyle="black" id="f0y-fa-nfu">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<color key="barTintColor" red="0.0" green="0.52156862745098043" blue="0.88627450980392153" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<textAttributes key="titleTextAttributes">
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</textAttributes>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="41a-dK-qaq"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="nwa-1h-PWq" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-320" y="165"/>
|
||||
</scene>
|
||||
<!--AdMob Example-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController storyboardIdentifier="ViewController" id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="cqw-rn-aGh"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="DOW-zM-5O6"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0lk-I0-H1V">
|
||||
<rect key="frame" x="55" y="312" width="210" height="44"/>
|
||||
<color key="backgroundColor" red="1" green="0.5607843137254902" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="Rh7-tD-pGR"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="15"/>
|
||||
<inset key="contentEdgeInsets" minX="20" minY="0.0" maxX="20" maxY="0.0"/>
|
||||
<state key="normal" title="SHOW INTERSTITIAL AD">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="didTapInterstitialButton:" destination="BYZ-38-t0r" eventType="touchDown" id="PHm-1Y-kQq"/>
|
||||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K9X-9n-igV" customClass="GADBannerView">
|
||||
<rect key="frame" x="0.0" y="518" width="320" height="50"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="320" id="4bc-bU-aU3"/>
|
||||
<constraint firstAttribute="height" constant="50" id="iNt-Cj-6ba"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="centerX" secondItem="K9X-9n-igV" secondAttribute="centerX" id="663-fB-sia"/>
|
||||
<constraint firstItem="K9X-9n-igV" firstAttribute="bottom" secondItem="8bC-Xf-vdC" secondAttribute="bottomMargin" id="MXX-D6-dCJ"/>
|
||||
<constraint firstAttribute="centerX" secondItem="0lk-I0-H1V" secondAttribute="centerX" id="WYo-0p-5gK"/>
|
||||
<constraint firstItem="0lk-I0-H1V" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" constant="50" id="hvW-MU-VNC"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<toolbarItems/>
|
||||
<navigationItem key="navigationItem" title="AdMob Example" id="nMe-hm-jWd"/>
|
||||
<simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
|
||||
<connections>
|
||||
<outlet property="bannerView" destination="K9X-9n-igV" id="sGa-l9-VFb"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="121" y="165"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
34
Pods/Firebase/Samples/admob/AdMobExample/Info.plist
generated
@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,24 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// ViewController.h
|
||||
// AdMobExample
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface ViewController : UIViewController
|
||||
|
||||
@end
|
||||
@ -1,81 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// ViewController.m
|
||||
// AdMobExample
|
||||
//
|
||||
|
||||
// [START firebase_banner_example]
|
||||
#import "ViewController.h"
|
||||
@import GoogleMobileAds;
|
||||
|
||||
/**
|
||||
* AdMob ad unit IDs are not currently stored inside the google-services.plist file. Developers
|
||||
* using AdMob can store them as custom values in another plist, or simply use constants. Note that
|
||||
* these ad units are configured to return only test ads, and should not be used outside this sample.
|
||||
*/
|
||||
static NSString *const kBannerAdUnitID = @"ca-app-pub-3940256099942544/2934735716";
|
||||
static NSString *const kInterstitialAdUnitID = @"ca-app-pub-3940256099942544/4411468910";
|
||||
|
||||
@interface ViewController ()<GADInterstitialDelegate>
|
||||
|
||||
/**
|
||||
* @property
|
||||
* A UIView subclass that displays ads capable of responding to user touch.
|
||||
*/
|
||||
@property(nonatomic, weak) IBOutlet GADBannerView *bannerView;
|
||||
|
||||
/**
|
||||
* @property
|
||||
* A UIView subclass that displays ads capable of responding to user touch.
|
||||
*/
|
||||
@property(nonatomic, strong) GADInterstitial *interstitial;
|
||||
|
||||
@end
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
self.bannerView.adUnitID = kBannerAdUnitID;
|
||||
self.bannerView.rootViewController = self;
|
||||
[self.bannerView loadRequest:[GADRequest request]];
|
||||
// [END firebase_banner_example]
|
||||
|
||||
// [START firebase_interstitial_example]
|
||||
self.interstitial = [self createAndLoadInterstitial];
|
||||
}
|
||||
|
||||
- (GADInterstitial *)createAndLoadInterstitial {
|
||||
GADInterstitial *interstitial = [[GADInterstitial alloc]
|
||||
initWithAdUnitID:kInterstitialAdUnitID];
|
||||
interstitial.delegate = self;
|
||||
[interstitial loadRequest:[GADRequest request]];
|
||||
return interstitial;
|
||||
}
|
||||
|
||||
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
|
||||
self.interstitial = [self createAndLoadInterstitial];
|
||||
}
|
||||
|
||||
- (IBAction)didTapInterstitialButton:(id)sender {
|
||||
if ([self.interstitial isReady]) {
|
||||
[self.interstitial presentFromRootViewController:self];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
// [END firebase_interstitial_example]
|
||||
27
Pods/Firebase/Samples/admob/AdMobExample/main.m
generated
@ -1,27 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// main.m
|
||||
// BannerExample
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
@ -1,37 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// AppDelegate.swift
|
||||
// AdMobExampleSwift
|
||||
//
|
||||
|
||||
// [START firebase_config]
|
||||
import UIKit
|
||||
import Firebase
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
|
||||
|
||||
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
|
||||
// Use Firebase library to configure APIs
|
||||
FIRApp.configure()
|
||||
return true
|
||||
}
|
||||
// [END firebase_config]
|
||||
}
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,69 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// ViewController.swift
|
||||
// AdMobExampleSwift
|
||||
//
|
||||
|
||||
// [START firebase_banner_example]
|
||||
import UIKit
|
||||
import Firebase
|
||||
|
||||
/**
|
||||
* AdMob ad unit IDs are not currently stored inside the google-services.plist file. Developers
|
||||
* using AdMob can store them as custom values in another plist, or simply use constants. Note that
|
||||
* these ad units are configured to return only test ads, and should not be used outside this sample.
|
||||
*/
|
||||
let kBannerAdUnitID = "ca-app-pub-3940256099942544/2934735716"
|
||||
let kInterstitialAdUnitID = "ca-app-pub-3940256099942544/4411468910"
|
||||
|
||||
// Makes ViewController available to Objc classes.
|
||||
@objc(ViewController)
|
||||
class ViewController: UIViewController, GADInterstitialDelegate {
|
||||
@IBOutlet weak var bannerView: GADBannerView!
|
||||
var interstitial: GADInterstitial!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
self.bannerView.adUnitID = kBannerAdUnitID
|
||||
self.bannerView.rootViewController = self
|
||||
self.bannerView.loadRequest(GADRequest())
|
||||
// [END firebase_banner_example]
|
||||
|
||||
// [START firebase_interstitial_example]
|
||||
self.interstitial = createAndLoadInterstitial()
|
||||
}
|
||||
|
||||
func createAndLoadInterstitial() -> GADInterstitial {
|
||||
let interstitial =
|
||||
GADInterstitial(adUnitID: kInterstitialAdUnitID)
|
||||
interstitial.delegate = self
|
||||
interstitial.loadRequest(GADRequest())
|
||||
return interstitial
|
||||
}
|
||||
|
||||
func interstitialDidDismissScreen(interstitial: GADInterstitial!) {
|
||||
self.interstitial = createAndLoadInterstitial()
|
||||
}
|
||||
|
||||
|
||||
@IBAction func didTapInterstitialButton(sender: AnyObject) {
|
||||
if (self.interstitial.isReady) {
|
||||
self.interstitial.presentFromRootViewController(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
// [END firebase_interstitial_example]
|
||||
@ -1,46 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// AdMobExampleSwift_Tests.swift
|
||||
// AdMobExampleSwift Tests
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import XCTest
|
||||
|
||||
// Important: Import the project module
|
||||
@testable import AdMobExampleSwift
|
||||
|
||||
class AdMobExampleSwiftTests: XCTestCase {
|
||||
|
||||
// Important: create a variable for the view controller outside of setup(). Otherwise the variable is not available to the test functions
|
||||
var vcToTest:ViewController = ViewController()
|
||||
|
||||
override func setUp() {
|
||||
super.setUp()
|
||||
let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: NSBundle(forClass: self.dynamicType))
|
||||
vcToTest = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
|
||||
let _ = vcToTest.view
|
||||
}
|
||||
|
||||
func testBannerView() {
|
||||
XCTAssertNotNil(vcToTest.bannerView, "Should connect bannerView IBOutlet.")
|
||||
}
|
||||
|
||||
func testInterstitial() {
|
||||
XCTAssertNotNil(vcToTest.interstitial, "Should create interstitial.")
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,46 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// AdMobExample_Tests.m
|
||||
// AdMobExample Tests
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
#import "ViewController_Private.h"
|
||||
|
||||
@interface AdMobExampleTests : XCTestCase
|
||||
@property (nonatomic) ViewController *vcToTest;
|
||||
@property (nonatomic) UIStoryboard *storyboard;
|
||||
@end
|
||||
|
||||
@implementation AdMobExampleTests
|
||||
|
||||
- (void)setUp {
|
||||
[super setUp];
|
||||
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
|
||||
self.vcToTest = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
|
||||
[self.vcToTest view];
|
||||
}
|
||||
|
||||
- (void)testBannerView {
|
||||
XCTAssertNotNil(self.vcToTest.bannerView, @"Should connect bannerView IBOutlet.");
|
||||
}
|
||||
|
||||
- (void)testInterstitial {
|
||||
XCTAssertNotNil(self.vcToTest.interstitial, @"Should create interstitial.");
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,26 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// ViewController_Private.h
|
||||
// AdMobExample Tests
|
||||
//
|
||||
|
||||
#import "ViewController.h"
|
||||
#import <Firebase/AdMob.h>
|
||||
|
||||
@interface ViewController ()
|
||||
@property(nonatomic, weak) IBOutlet GADBannerView *bannerView;
|
||||
@property(nonatomic, strong) GADInterstitial *interstitial;
|
||||
@end
|
||||
12
Pods/Firebase/Samples/admob/Podfile
generated
@ -1,12 +0,0 @@
|
||||
use_frameworks!
|
||||
platform :ios, '7.0'
|
||||
pod 'Firebase/AdMob'
|
||||
|
||||
target 'AdMobExample' do
|
||||
end
|
||||
target 'AdMobExampleSwift' do
|
||||
end
|
||||
target 'AdMobExampleTests' do
|
||||
end
|
||||
target 'AdMobExampleSwiftTests' do
|
||||
end
|
||||
45
Pods/Firebase/Samples/admob/README.md
generated
@ -1,45 +0,0 @@
|
||||
Google AdMob Quickstart
|
||||
=======================
|
||||
|
||||
The Google AdMob iOS quickstart demonstrates how to display an interstitial ad and a simple banner
|
||||
ad.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
- [Read more about Google AdMob](https://firebase.google.com/docs/admob/)
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
- [Add Firebase to your iOS Project](https://firebase.google.com/docs/ios/setup).
|
||||
- Run the sample on your iOS device or simulator.
|
||||
|
||||
Note: You will need Swift 2.0 to run the Swift version of this quickstart.
|
||||
|
||||
Support
|
||||
-------
|
||||
|
||||
- [Stack Overflow](https://stackoverflow.com/questions/tagged/admob)
|
||||
- [Developer Forum](https://groups.google.com/group/google-admob-ads-sdk)
|
||||
- [Firebase Support](https://firebase.google.com/support/)
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright 2015 Google, Inc.
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
license agreements. See the NOTICE file distributed with this work for
|
||||
additional information regarding copyright ownership. The ASF licenses this
|
||||
file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
BIN
Pods/Firebase/Samples/admob/Screenshot/admob-sample.png
generated
|
Before Width: | Height: | Size: 140 KiB |
@ -1,612 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
5F3B16801AFC453200860007 /* CircleImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F3B167F1AFC453200860007 /* CircleImageView.m */; };
|
||||
5F3B16811AFC453200860007 /* CircleImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F3B167F1AFC453200860007 /* CircleImageView.m */; };
|
||||
5F5A53521ADE670C00F81DF0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53511ADE670C00F81DF0 /* main.m */; };
|
||||
5F5A53551ADE670C00F81DF0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53541ADE670C00F81DF0 /* AppDelegate.m */; };
|
||||
5F5A53581ADE670C00F81DF0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53571ADE670C00F81DF0 /* ViewController.m */; };
|
||||
5F5A535B1ADE670C00F81DF0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A53591ADE670C00F81DF0 /* Main.storyboard */; };
|
||||
5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */; };
|
||||
5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */; };
|
||||
5F5A539C1ADE69AA00F81DF0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A53591ADE670C00F81DF0 /* Main.storyboard */; };
|
||||
5F99610A1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; };
|
||||
5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; };
|
||||
5F99610C1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; };
|
||||
5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; };
|
||||
5FC04A7F1AF1DCAA00F787CA /* PatternTabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FC04A7E1AF1DCAA00F787CA /* PatternTabBarController.m */; };
|
||||
5FC04A811AF1DF8300F787CA /* PatternTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC04A801AF1DF8300F787CA /* PatternTabBarController.swift */; };
|
||||
5FC7AD8E1B0D446A004E3100 /* LogWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5FC7AD8D1B0D446A004E3100 /* LogWrapper.mm */; };
|
||||
5FDE05641B0DAD5C0037B82F /* AppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5FDE05631B0DAD5C0037B82F /* AppTests.m */; };
|
||||
EF01600C1BD07C1F00F8DA01 /* AnalyticsImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EF01600B1BD07C1F00F8DA01 /* AnalyticsImages.xcassets */; };
|
||||
EF01600D1BD07C1F00F8DA01 /* AnalyticsImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EF01600B1BD07C1F00F8DA01 /* AnalyticsImages.xcassets */; };
|
||||
EFB6C1B61C6524F4007CCA78 /* FoodPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EFB6C1B51C6524F4007CCA78 /* FoodPickerViewController.m */; };
|
||||
EFB6C1BA1C656D38007CCA78 /* FoodPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFB6C1B91C656D38007CCA78 /* FoodPickerViewController.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
5FC7AD881B0D4106004E3100 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 5F5A53441ADE670C00F81DF0 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 5F5A534B1ADE670C00F81DF0;
|
||||
remoteInfo = AnalyticsExample;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
5F3B167E1AFC453200860007 /* CircleImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CircleImageView.h; sourceTree = "<group>"; };
|
||||
5F3B167F1AFC453200860007 /* CircleImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CircleImageView.m; sourceTree = "<group>"; };
|
||||
5F5A534C1ADE670C00F81DF0 /* AnalyticsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnalyticsExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
5F5A53501ADE670C00F81DF0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
5F5A53511ADE670C00F81DF0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
5F5A53531ADE670C00F81DF0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
5F5A53541ADE670C00F81DF0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
5F5A53561ADE670C00F81DF0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
|
||||
5F5A53571ADE670C00F81DF0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||
5F5A535A1ADE670C00F81DF0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
5F5A53791ADE67D500F81DF0 /* AnalyticsExampleSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnalyticsExampleSwift.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
5F5A537F1ADE67D500F81DF0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||
5F9961061AE0CF4F0034F503 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = "<group>"; };
|
||||
5FC04A7D1AF1DCAA00F787CA /* PatternTabBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PatternTabBarController.h; sourceTree = "<group>"; };
|
||||
5FC04A7E1AF1DCAA00F787CA /* PatternTabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PatternTabBarController.m; sourceTree = "<group>"; };
|
||||
5FC04A801AF1DF8300F787CA /* PatternTabBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PatternTabBarController.swift; sourceTree = "<group>"; };
|
||||
5FC7AD821B0D4106004E3100 /* AnalyticsExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AnalyticsExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
5FC7AD8D1B0D446A004E3100 /* LogWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LogWrapper.mm; sourceTree = "<group>"; };
|
||||
5FC7AD8F1B0D44B9004E3100 /* LogWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogWrapper.h; sourceTree = "<group>"; };
|
||||
5FDE05631B0DAD5C0037B82F /* AppTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppTests.m; sourceTree = "<group>"; };
|
||||
EF01600B1BD07C1F00F8DA01 /* AnalyticsImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = AnalyticsImages.xcassets; sourceTree = "<group>"; };
|
||||
EFB6C1B41C6524F4007CCA78 /* FoodPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FoodPickerViewController.h; sourceTree = "<group>"; };
|
||||
EFB6C1B51C6524F4007CCA78 /* FoodPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FoodPickerViewController.m; sourceTree = "<group>"; };
|
||||
EFB6C1B91C656D38007CCA78 /* FoodPickerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoodPickerViewController.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
5F5A53491ADE670C00F81DF0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53761ADE67D500F81DF0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5FC7AD7F1B0D4106004E3100 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
5F5A53431ADE670C00F81DF0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A534E1ADE670C00F81DF0 /* AnalyticsExample */,
|
||||
5F5A537A1ADE67D500F81DF0 /* AnalyticsExampleSwift */,
|
||||
5FC7AD831B0D4106004E3100 /* AnalyticsExampleTests */,
|
||||
5F5A534D1ADE670C00F81DF0 /* Products */,
|
||||
5F9961041AE0CF4F0034F503 /* Shared */,
|
||||
5FC29E541AE9255700668C8D /* Images */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534D1ADE670C00F81DF0 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A534C1ADE670C00F81DF0 /* AnalyticsExample.app */,
|
||||
5F5A53791ADE67D500F81DF0 /* AnalyticsExampleSwift.app */,
|
||||
5FC7AD821B0D4106004E3100 /* AnalyticsExampleTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534E1ADE670C00F81DF0 /* AnalyticsExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A53531ADE670C00F81DF0 /* AppDelegate.h */,
|
||||
5F5A53541ADE670C00F81DF0 /* AppDelegate.m */,
|
||||
EFB6C1B41C6524F4007CCA78 /* FoodPickerViewController.h */,
|
||||
EFB6C1B51C6524F4007CCA78 /* FoodPickerViewController.m */,
|
||||
5FC04A7D1AF1DCAA00F787CA /* PatternTabBarController.h */,
|
||||
5FC04A7E1AF1DCAA00F787CA /* PatternTabBarController.m */,
|
||||
5F5A53561ADE670C00F81DF0 /* ViewController.h */,
|
||||
5F5A53571ADE670C00F81DF0 /* ViewController.m */,
|
||||
5F5A534F1ADE670C00F81DF0 /* Supporting Files */,
|
||||
);
|
||||
path = AnalyticsExample;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534F1ADE670C00F81DF0 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F3B167E1AFC453200860007 /* CircleImageView.h */,
|
||||
5F3B167F1AFC453200860007 /* CircleImageView.m */,
|
||||
5F5A53511ADE670C00F81DF0 /* main.m */,
|
||||
5F5A53501ADE670C00F81DF0 /* Info.plist */,
|
||||
5F5A53591ADE670C00F81DF0 /* Main.storyboard */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A537A1ADE67D500F81DF0 /* AnalyticsExampleSwift */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */,
|
||||
EFB6C1B91C656D38007CCA78 /* FoodPickerViewController.swift */,
|
||||
5FC04A801AF1DF8300F787CA /* PatternTabBarController.swift */,
|
||||
5F5A537F1ADE67D500F81DF0 /* ViewController.swift */,
|
||||
);
|
||||
path = AnalyticsExampleSwift;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F9961041AE0CF4F0034F503 /* Shared */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F9961061AE0CF4F0034F503 /* Images.xcassets */,
|
||||
5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */,
|
||||
);
|
||||
name = Shared;
|
||||
path = ../shared;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5FC29E541AE9255700668C8D /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EF01600B1BD07C1F00F8DA01 /* AnalyticsImages.xcassets */,
|
||||
);
|
||||
path = Images;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5FC7AD831B0D4106004E3100 /* AnalyticsExampleTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5FDE05631B0DAD5C0037B82F /* AppTests.m */,
|
||||
5FC7AD8D1B0D446A004E3100 /* LogWrapper.mm */,
|
||||
5FC7AD8F1B0D44B9004E3100 /* LogWrapper.h */,
|
||||
);
|
||||
path = AnalyticsExampleTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
5F5A534B1ADE670C00F81DF0 /* AnalyticsExample */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 5F5A536F1ADE670C00F81DF0 /* Build configuration list for PBXNativeTarget "AnalyticsExample" */;
|
||||
buildPhases = (
|
||||
5F5A53481ADE670C00F81DF0 /* Sources */,
|
||||
5F5A53491ADE670C00F81DF0 /* Frameworks */,
|
||||
5F5A534A1ADE670C00F81DF0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AnalyticsExample;
|
||||
productName = AnalyticsExample;
|
||||
productReference = 5F5A534C1ADE670C00F81DF0 /* AnalyticsExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
5F5A53781ADE67D500F81DF0 /* AnalyticsExampleSwift */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "AnalyticsExampleSwift" */;
|
||||
buildPhases = (
|
||||
5F5A53751ADE67D500F81DF0 /* Sources */,
|
||||
5F5A53761ADE67D500F81DF0 /* Frameworks */,
|
||||
5F5A53771ADE67D500F81DF0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AnalyticsExampleSwift;
|
||||
productName = AnalyticsExampleSwift;
|
||||
productReference = 5F5A53791ADE67D500F81DF0 /* AnalyticsExampleSwift.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
5FC7AD811B0D4106004E3100 /* AnalyticsExampleTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 5FC7AD8C1B0D4106004E3100 /* Build configuration list for PBXNativeTarget "AnalyticsExampleTests" */;
|
||||
buildPhases = (
|
||||
5FC7AD7E1B0D4106004E3100 /* Sources */,
|
||||
5FC7AD7F1B0D4106004E3100 /* Frameworks */,
|
||||
5FC7AD801B0D4106004E3100 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
5FC7AD891B0D4106004E3100 /* PBXTargetDependency */,
|
||||
);
|
||||
name = AnalyticsExampleTests;
|
||||
productName = AnalyticsExampleTests;
|
||||
productReference = 5FC7AD821B0D4106004E3100 /* AnalyticsExampleTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
5F5A53441ADE670C00F81DF0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0710;
|
||||
LastUpgradeCheck = 0710;
|
||||
ORGANIZATIONNAME = "Google Inc.";
|
||||
TargetAttributes = {
|
||||
5F5A534B1ADE670C00F81DF0 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
};
|
||||
5F5A53781ADE67D500F81DF0 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
};
|
||||
5FC7AD811B0D4106004E3100 = {
|
||||
CreatedOnToolsVersion = 6.3.2;
|
||||
TestTargetID = 5F5A534B1ADE670C00F81DF0;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "AnalyticsExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 5F5A53431ADE670C00F81DF0;
|
||||
productRefGroup = 5F5A534D1ADE670C00F81DF0 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
5F5A534B1ADE670C00F81DF0 /* AnalyticsExample */,
|
||||
5F5A53781ADE67D500F81DF0 /* AnalyticsExampleSwift */,
|
||||
5FC7AD811B0D4106004E3100 /* AnalyticsExampleTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
5F5A534A1ADE670C00F81DF0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F99610C1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */,
|
||||
5F99610A1AE0CF4F0034F503 /* Images.xcassets in Resources */,
|
||||
EF01600C1BD07C1F00F8DA01 /* AnalyticsImages.xcassets in Resources */,
|
||||
5F5A535B1ADE670C00F81DF0 /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53771ADE67D500F81DF0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */,
|
||||
EF01600D1BD07C1F00F8DA01 /* AnalyticsImages.xcassets in Resources */,
|
||||
5F5A539C1ADE69AA00F81DF0 /* Main.storyboard in Resources */,
|
||||
5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5FC7AD801B0D4106004E3100 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
5F5A53481ADE670C00F81DF0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F5A53581ADE670C00F81DF0 /* ViewController.m in Sources */,
|
||||
5F5A53551ADE670C00F81DF0 /* AppDelegate.m in Sources */,
|
||||
5FC04A7F1AF1DCAA00F787CA /* PatternTabBarController.m in Sources */,
|
||||
5F3B16801AFC453200860007 /* CircleImageView.m in Sources */,
|
||||
EFB6C1B61C6524F4007CCA78 /* FoodPickerViewController.m in Sources */,
|
||||
5F5A53521ADE670C00F81DF0 /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53751ADE67D500F81DF0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F3B16811AFC453200860007 /* CircleImageView.m in Sources */,
|
||||
5FC04A811AF1DF8300F787CA /* PatternTabBarController.swift in Sources */,
|
||||
5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */,
|
||||
EFB6C1BA1C656D38007CCA78 /* FoodPickerViewController.swift in Sources */,
|
||||
5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5FC7AD7E1B0D4106004E3100 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5FC7AD8E1B0D446A004E3100 /* LogWrapper.mm in Sources */,
|
||||
5FDE05641B0DAD5C0037B82F /* AppTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
5FC7AD891B0D4106004E3100 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 5F5A534B1ADE670C00F81DF0 /* AnalyticsExample */;
|
||||
targetProxy = 5FC7AD881B0D4106004E3100 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
5F5A53591ADE670C00F81DF0 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
5F5A535A1ADE670C00F81DF0 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
5F5A536D1ADE670C00F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A536E1ADE670C00F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
5F5A53701ADE670C00F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Brand Assets";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = AnalyticsExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.analytics;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A53711ADE670C00F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Brand Assets";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = AnalyticsExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.analytics;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
5F5A53951ADE67D500F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/AnalyticsExample/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.analytics;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A53961ADE67D500F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/AnalyticsExample/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.analytics;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
5FC7AD8A1B0D4106004E3100 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"${PODS_ROOT}/Headers/Public\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/Google\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/Google/Google\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleAnalytics\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleUtilities\"",
|
||||
AnalayticsExample,
|
||||
);
|
||||
INFOPLIST_FILE = AnalyticsExample/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AnalyticsExample.app/AnalyticsExample";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5FC7AD8B1B0D4106004E3100 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"${PODS_ROOT}/Headers/Public\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/Google\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/Google/Google\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleAnalytics\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleNetworkingUtilities\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleSymbolUtilities\"",
|
||||
"\"${PODS_ROOT}/Headers/Public/GoogleUtilities\"",
|
||||
AnalayticsExample,
|
||||
);
|
||||
INFOPLIST_FILE = AnalyticsExample/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AnalyticsExample.app/AnalyticsExample";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "AnalyticsExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A536D1ADE670C00F81DF0 /* Debug */,
|
||||
5F5A536E1ADE670C00F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
5F5A536F1ADE670C00F81DF0 /* Build configuration list for PBXNativeTarget "AnalyticsExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A53701ADE670C00F81DF0 /* Debug */,
|
||||
5F5A53711ADE670C00F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "AnalyticsExampleSwift" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A53951ADE67D500F81DF0 /* Debug */,
|
||||
5F5A53961ADE67D500F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
5FC7AD8C1B0D4106004E3100 /* Build configuration list for PBXNativeTarget "AnalyticsExampleTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5FC7AD8A1B0D4106004E3100 /* Debug */,
|
||||
5FC7AD8B1B0D4106004E3100 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 5F5A53441ADE670C00F81DF0 /* Project object */;
|
||||
}
|
||||
@ -1,23 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
@property (strong, nonatomic) UIWindow *window;
|
||||
|
||||
@end
|
||||
@ -1,39 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
@import Firebase;
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
// [START configure]
|
||||
[FIRApp configure];
|
||||
// [END configure]
|
||||
|
||||
// Set a white background so that patterns are showcased.
|
||||
_window.backgroundColor = [UIColor whiteColor];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,259 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10109" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="aUL-89-tJW">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10083"/>
|
||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--A-->
|
||||
<scene sceneID="jUt-xG-r3W">
|
||||
<objects>
|
||||
<viewController title="A" id="lVf-Ya-OQV" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Vpe-J1-fiS"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="ABr-eH-ePx"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="M3b-jw-4PX">
|
||||
<rect key="frame" x="0.0" y="64" width="600" height="487"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="256" verticalHuggingPriority="256" image="favorite.png" translatesAutoresizingMaskIntoConstraints="NO" id="zIB-UN-zJs" customClass="CircleImageView">
|
||||
<rect key="frame" x="172" y="116" width="256" height="256"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="256" id="QF0-yo-PQ6"/>
|
||||
<constraint firstAttribute="height" constant="256" id="jwz-gG-ahM"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.95000000000000007" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="centerX" secondItem="zIB-UN-zJs" secondAttribute="centerX" id="svQ-3f-czU"/>
|
||||
<constraint firstAttribute="centerY" secondItem="zIB-UN-zJs" secondAttribute="centerY" id="w5D-lZ-IUK"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="A" image="icon-favorite.png" id="whl-nQ-ck2"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dxv-GQ-DsN" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="149" y="428"/>
|
||||
</scene>
|
||||
<!--Food Picker View Controller-->
|
||||
<scene sceneID="0XD-OC-caG">
|
||||
<objects>
|
||||
<viewController id="9aa-Nc-DxV" customClass="FoodPickerViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="7Bw-iC-Vpq"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="558-dG-rhb"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="e62-9h-gXP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Pick Your Favorite Food!" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mef-P0-8Mc">
|
||||
<rect key="frame" x="166" y="20" width="267" height="30"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="25"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dRL-3M-rXu">
|
||||
<rect key="frame" x="20" y="70" width="560" height="530"/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="9aa-Nc-DxV" id="kYj-ND-lI1"/>
|
||||
<outlet property="delegate" destination="9aa-Nc-DxV" id="Xef-kO-iZt"/>
|
||||
</connections>
|
||||
</pickerView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="dRL-3M-rXu" firstAttribute="centerX" secondItem="e62-9h-gXP" secondAttribute="centerX" id="9Y9-R2-3DA"/>
|
||||
<constraint firstItem="dRL-3M-rXu" firstAttribute="top" secondItem="mef-P0-8Mc" secondAttribute="bottom" constant="20" id="B6c-W7-SlD"/>
|
||||
<constraint firstItem="dRL-3M-rXu" firstAttribute="centerY" secondItem="e62-9h-gXP" secondAttribute="centerY" id="JWr-a8-Oxd"/>
|
||||
<constraint firstItem="558-dG-rhb" firstAttribute="top" secondItem="dRL-3M-rXu" secondAttribute="bottom" id="KRN-TO-ihk"/>
|
||||
<constraint firstAttribute="trailingMargin" secondItem="dRL-3M-rXu" secondAttribute="trailing" id="W8N-19-sBA"/>
|
||||
<constraint firstItem="mef-P0-8Mc" firstAttribute="top" secondItem="7Bw-iC-Vpq" secondAttribute="bottom" id="bx7-0K-Fbl"/>
|
||||
<constraint firstItem="dRL-3M-rXu" firstAttribute="leading" secondItem="e62-9h-gXP" secondAttribute="leadingMargin" id="iGi-SV-I0G"/>
|
||||
<constraint firstItem="mef-P0-8Mc" firstAttribute="centerX" secondItem="e62-9h-gXP" secondAttribute="centerX" id="yIO-gY-HbY"/>
|
||||
<constraint firstItem="dRL-3M-rXu" firstAttribute="top" secondItem="e62-9h-gXP" secondAttribute="topMargin" id="zIS-hz-XAw"/>
|
||||
</constraints>
|
||||
<variation key="default">
|
||||
<mask key="constraints">
|
||||
<exclude reference="JWr-a8-Oxd"/>
|
||||
<exclude reference="zIS-hz-XAw"/>
|
||||
</mask>
|
||||
</variation>
|
||||
</view>
|
||||
<connections>
|
||||
<segue destination="7au-gI-Ntw" kind="unwind" identifier="unwindToHome" unwindAction="unwindToHome:" id="SU5-Ts-bmt"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="5uu-Qe-mNi" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<exit id="7au-gI-Ntw" userLabel="Exit" sceneMemberID="exit"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="22" y="-929"/>
|
||||
</scene>
|
||||
<!--B-->
|
||||
<scene sceneID="T4b-ot-V0m">
|
||||
<objects>
|
||||
<viewController title="B" id="A0V-En-EJl" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="paV-2x-1SP"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="dJb-g6-QTF"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="QBZ-F6-IFj">
|
||||
<rect key="frame" x="0.0" y="64" width="600" height="487"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="256" verticalHuggingPriority="256" image="flash_on.png" translatesAutoresizingMaskIntoConstraints="NO" id="fu5-Ys-Uq9" customClass="CircleImageView">
|
||||
<rect key="frame" x="172" y="116" width="256" height="256"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="256" id="7d9-XY-dJb"/>
|
||||
<constraint firstAttribute="height" constant="256" id="gKb-jg-fgz"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.94999999999999996" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="centerY" secondItem="fu5-Ys-Uq9" secondAttribute="centerY" id="2Yd-FF-lv3"/>
|
||||
<constraint firstAttribute="centerX" secondItem="fu5-Ys-Uq9" secondAttribute="centerX" id="3yM-wB-hj1"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="B" image="icon-flash_on.png" id="1ez-db-05h"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="NGL-DL-qgy" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="148" y="-234"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="ch5-8q-zav">
|
||||
<objects>
|
||||
<navigationController id="aUL-89-tJW" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" barStyle="black" translucent="NO" id="ig6-z0-idQ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<color key="barTintColor" red="0.0" green="0.52156862745098043" blue="0.88627450980392153" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="eeg-iu-cjG" kind="relationship" relationship="rootViewController" id="3H5-V3-0NP"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="eK2-N2-23V" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-1024" y="-848"/>
|
||||
</scene>
|
||||
<!--Patterns-->
|
||||
<scene sceneID="8gd-ga-mjo">
|
||||
<objects>
|
||||
<tabBarController title="Patterns" id="eeg-iu-cjG" customClass="PatternTabBarController" sceneMemberID="viewController">
|
||||
<navigationItem key="navigationItem" title="Analytics Quickstart" id="tic-du-7VP">
|
||||
<connections>
|
||||
<outlet property="rightBarButtonItem" destination="hCL-4j-2le" id="uhg-Y0-IYr"/>
|
||||
</connections>
|
||||
</navigationItem>
|
||||
<nil key="simulatedBottomBarMetrics"/>
|
||||
<tabBar key="tabBar" contentMode="scaleToFill" translucent="NO" id="QrM-NQ-Tka">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="49"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<color key="tintColor" red="0.090196078430000007" green="0.68235294120000001" blue="0.79215686269999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<color key="selectedImageTintColor" red="0.090196078430000007" green="0.68235294120000001" blue="0.79215686269999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="color" keyPath="tintColor">
|
||||
<color key="value" red="0.090196078430000007" green="0.68235294120000001" blue="0.79215686269999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</tabBar>
|
||||
<connections>
|
||||
<segue destination="lVf-Ya-OQV" kind="relationship" relationship="viewControllers" id="25Z-jG-WWy"/>
|
||||
<segue destination="A0V-En-EJl" kind="relationship" relationship="viewControllers" id="Hhg-ek-N8J"/>
|
||||
<segue destination="Vqn-rV-AtV" kind="relationship" relationship="viewControllers" id="aTh-1Q-AeJ"/>
|
||||
<segue destination="vhB-Nv-UYJ" kind="relationship" relationship="viewControllers" id="gcf-rD-9bU"/>
|
||||
<segue destination="9aa-Nc-DxV" kind="presentation" identifier="pickFavoriteFood" id="iI6-jC-cjj"/>
|
||||
</connections>
|
||||
</tabBarController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="E1m-Ew-oHW" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<barButtonItem title="Share" id="hCL-4j-2le">
|
||||
<connections>
|
||||
<action selector="didTapShare:" destination="eeg-iu-cjG" id="Ojc-zG-nyi"/>
|
||||
</connections>
|
||||
</barButtonItem>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-660" y="-102"/>
|
||||
</scene>
|
||||
<!--C-->
|
||||
<scene sceneID="ZvK-wS-pgM">
|
||||
<objects>
|
||||
<viewController title="C" id="Vqn-rV-AtV" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="eaF-dR-pcr"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="bYg-H7-CJJ"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="6t9-j2-aMP">
|
||||
<rect key="frame" x="0.0" y="64" width="600" height="487"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="256" verticalHuggingPriority="256" image="tag_faces.png" translatesAutoresizingMaskIntoConstraints="NO" id="xHb-8o-vTm" customClass="CircleImageView">
|
||||
<rect key="frame" x="172" y="116" width="256" height="256"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="256" id="XZD-p0-75O"/>
|
||||
<constraint firstAttribute="width" constant="256" id="y9B-ec-pwE"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.94999999999999996" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="centerX" secondItem="xHb-8o-vTm" secondAttribute="centerX" id="DDe-tY-AUH"/>
|
||||
<constraint firstAttribute="centerY" secondItem="xHb-8o-vTm" secondAttribute="centerY" id="HbO-06-6Xc"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="C" image="icon-tag_faces.png" id="54A-Qd-hDy"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="w2d-ed-TnE" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-932" y="866"/>
|
||||
</scene>
|
||||
<!--D-->
|
||||
<scene sceneID="yAq-nS-xJM">
|
||||
<objects>
|
||||
<viewController title="D" id="vhB-Nv-UYJ" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="FUr-9S-O0D"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="iEu-NN-tCj"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="7nq-AR-YU8">
|
||||
<rect key="frame" x="0.0" y="64" width="600" height="487"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="256" verticalHuggingPriority="256" image="wb_incandescent.png" translatesAutoresizingMaskIntoConstraints="NO" id="8t4-48-5D9" customClass="CircleImageView">
|
||||
<rect key="frame" x="172" y="116" width="256" height="256"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="256" id="TIe-EE-hBP"/>
|
||||
<constraint firstAttribute="width" constant="256" id="jmF-hb-TkU"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.94999999999999996" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="centerX" secondItem="8t4-48-5D9" secondAttribute="centerX" id="Ucl-Cn-Kus"/>
|
||||
<constraint firstAttribute="centerY" secondItem="8t4-48-5D9" secondAttribute="centerY" id="mbq-gp-ekr"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<tabBarItem key="tabBarItem" title="D" image="icon-wb_incandescent.png" id="TIH-P3-nMk"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="q18-zn-iy7" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-192" y="1150"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="favorite.png" width="200" height="200"/>
|
||||
<image name="flash_on.png" width="200" height="200"/>
|
||||
<image name="icon-favorite.png" width="32" height="32"/>
|
||||
<image name="icon-flash_on.png" width="32" height="32"/>
|
||||
<image name="icon-tag_faces.png" width="32" height="32"/>
|
||||
<image name="icon-wb_incandescent.png" width="32" height="32"/>
|
||||
<image name="tag_faces.png" width="200" height="200"/>
|
||||
<image name="wb_incandescent.png" width="200" height="200"/>
|
||||
</resources>
|
||||
<color key="tintColor" red="0.090196078431372548" green="0.68235294117647061" blue="0.792156862745098" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</document>
|
||||
@ -1,27 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
/**
|
||||
* CircleImageView is a UIImageView subclass that renders an image inside a
|
||||
* circle that has a drop shadow. It should be given equal width and height.
|
||||
*
|
||||
* This is shared between the Objective-C and Swift versions of the samples.
|
||||
*/
|
||||
IB_DESIGNABLE
|
||||
@interface CircleImageView : UIImageView
|
||||
@end
|
||||
@ -1,59 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "CircleImageView.h"
|
||||
|
||||
@implementation CircleImageView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if ((self = [super initWithFrame:frame])) {
|
||||
[self sharedInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder {
|
||||
if ((self = [super initWithCoder:aDecoder])) {
|
||||
[self sharedInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)sharedInit {
|
||||
self.backgroundColor = [UIColor whiteColor];
|
||||
[super setContentMode:UIViewContentModeCenter];
|
||||
|
||||
CALayer *layer = [super layer];
|
||||
layer.shadowOffset = CGSizeMake(0, 2);
|
||||
layer.shadowOpacity = 0.25;
|
||||
layer.shadowColor = [[UIColor grayColor] CGColor];
|
||||
layer.shadowRadius = 4.0;
|
||||
layer.shadowOffset = CGSizeMake(0, 2);
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
[super layoutSubviews];
|
||||
|
||||
CGSize size = self.bounds.size;
|
||||
CGFloat dim = MAX(size.width, size.height);
|
||||
self.layer.cornerRadius = dim / 2;
|
||||
}
|
||||
|
||||
- (void)setContentMode:(UIViewContentMode)contentMode {
|
||||
// ignore
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,26 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface FoodPickerViewController : UIViewController
|
||||
|
||||
@end
|
||||
@ -1,70 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
#import "FoodPickerViewController.h"
|
||||
|
||||
@import FirebaseAnalytics;
|
||||
|
||||
@interface FoodPickerViewController () <UIPickerViewDataSource, UIPickerViewDelegate>
|
||||
@property (nonatomic, strong) NSArray *foodStuffs;
|
||||
@end
|
||||
|
||||
@implementation FoodPickerViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.foodStuffs = @[
|
||||
@"Hot Dogs",
|
||||
@"Hamburger",
|
||||
@"Pizza"
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
|
||||
inComponent:(NSInteger)component {
|
||||
NSString *food = _foodStuffs[row];
|
||||
|
||||
[[NSUserDefaults standardUserDefaults] setValue:food forKey:@"favorite_food"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
|
||||
// [START user_property]
|
||||
[FIRAnalytics setUserPropertyString:food forName:@"favorite_food"];
|
||||
// [END user_property]
|
||||
|
||||
[self performSegueWithIdentifier:@"unwindToHome" sender:self];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
|
||||
return _foodStuffs.count;
|
||||
}
|
||||
|
||||
- (NSString *)pickerView:(UIPickerView *)pickerView
|
||||
titleForRow:(NSInteger)row
|
||||
forComponent:(NSInteger)component {
|
||||
return _foodStuffs[row];
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,28 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
/**
|
||||
* PatternTabBarController exists as a subclass of UITabBarConttroller that
|
||||
* supports a 'share' action. This will trigger a custom event to Analytics and
|
||||
* display a dialog.
|
||||
*/
|
||||
@interface PatternTabBarController : UITabBarController
|
||||
|
||||
- (IBAction)didTapShare:(id)sender;
|
||||
|
||||
@end
|
||||
@ -1,67 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
#import "PatternTabBarController.h"
|
||||
|
||||
@import FirebaseAnalytics;
|
||||
|
||||
@implementation PatternTabBarController
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
// For first run, ask for the user's favorite food.
|
||||
if (![self getUserFavoriteFood]) {
|
||||
[self askForFavoriteFood];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)didTapShare:(id)sender {
|
||||
// [START custom_event_objc]
|
||||
[FIRAnalytics logEventWithName:kFIREventSelectContent parameters:@{
|
||||
kFIRParameterContentType:@"cont",
|
||||
kFIRParameterItemID:@"1"
|
||||
}];
|
||||
// [END custom_event_objc]
|
||||
|
||||
NSString *title = [NSString stringWithFormat:@"Share: %@",
|
||||
self.selectedViewController.title];
|
||||
NSString *message =
|
||||
@"Share event sent to Analytics; actual share not implemented in this quickstart";
|
||||
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
|
||||
message:message
|
||||
delegate:nil
|
||||
cancelButtonTitle:@"Ok"
|
||||
otherButtonTitles:nil];
|
||||
[alert show];
|
||||
}
|
||||
|
||||
- (NSString *)getUserFavoriteFood {
|
||||
return [[NSUserDefaults standardUserDefaults] valueForKey:@"favorite_food"];
|
||||
}
|
||||
|
||||
- (void)askForFavoriteFood {
|
||||
[self performSegueWithIdentifier:@"pickFavoriteFood" sender:self];
|
||||
}
|
||||
|
||||
-(IBAction)unwindToHome:(UIStoryboardSegue *)segue {
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,20 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface ViewController : UIViewController
|
||||
@end
|
||||
@ -1,43 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
#import "ViewController.h"
|
||||
|
||||
@import FirebaseAnalytics;
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
|
||||
NSString *name = [NSString stringWithFormat:@"Pattern~%@", self.title];
|
||||
NSString *text = [NSString stringWithFormat:@"I'd love you to hear about %@", name];
|
||||
|
||||
// [START custom_event_objc]
|
||||
[FIRAnalytics logEventWithName:@"share_image"
|
||||
parameters:@{
|
||||
@"name": name,
|
||||
@"full_text": text
|
||||
}];
|
||||
// [END custom_event_objc]
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,24 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
@ -1,38 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Firebase
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
|
||||
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
|
||||
|
||||
// [START tracker_swift]
|
||||
FIRApp.configure()
|
||||
// [END tracker_swift]
|
||||
|
||||
// Set a white background so that patterns are showcased.
|
||||
window?.backgroundColor = UIColor.whiteColor()
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,56 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
//
|
||||
// For more information on setting up and running this sample code, see
|
||||
// https://firebase.google.com/docs/analytics/ios/start
|
||||
//
|
||||
|
||||
|
||||
import Foundation
|
||||
import FirebaseAnalytics
|
||||
|
||||
|
||||
@objc(FoodPickerViewController) // match the ObjC symbol name inside Storyboard
|
||||
class FoodPickerViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
|
||||
|
||||
let foodStuffs = ["Hot Dogs", "Hamburger", "Pizza"]
|
||||
|
||||
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
|
||||
let food = foodStuffs[row]
|
||||
NSUserDefaults.standardUserDefaults().setValue(food, forKey: "favorite_food")
|
||||
NSUserDefaults.standardUserDefaults().synchronize()
|
||||
|
||||
// [START user_property]
|
||||
FIRAnalytics.setUserPropertyString(food, forName: "favorite_food")
|
||||
// [END user_property]
|
||||
|
||||
performSegueWithIdentifier("unwindToHome", sender: self)
|
||||
}
|
||||
|
||||
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
|
||||
return foodStuffs.count
|
||||
}
|
||||
|
||||
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
|
||||
return foodStuffs[row];
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,60 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import FirebaseAnalytics
|
||||
|
||||
/**
|
||||
* PatternTabBarController exists as a subclass of UITabBarConttroller that
|
||||
* supports a 'share' action. This will trigger a custom event to Analytics and
|
||||
* display a dialog.
|
||||
*/
|
||||
@objc(PatternTabBarController) // match the ObjC symbol name inside Storyboard
|
||||
class PatternTabBarController: UITabBarController {
|
||||
|
||||
override func viewDidAppear(animated: Bool) {
|
||||
if (getUserFavoriteFood() == nil) {
|
||||
askForFavoriteFood()
|
||||
}
|
||||
}
|
||||
|
||||
@IBAction func didTapShare(sender: AnyObject) {
|
||||
// [START custom_event_swift]
|
||||
FIRAnalytics.logEventWithName(kFIREventSelectContent, parameters: [
|
||||
kFIRParameterContentType:"cont",
|
||||
kFIRParameterItemID:"1"
|
||||
])
|
||||
// [END custom_event_swift]
|
||||
|
||||
let title = "Share: \(self.selectedViewController!.title!)",
|
||||
message = "Share event sent to Analytics; actual share not implemented in this quickstart",
|
||||
alert = UIAlertView(title: title, message: message, delegate: nil, cancelButtonTitle: "Ok")
|
||||
alert.show()
|
||||
}
|
||||
|
||||
@IBAction func unwindToHome (segue: UIStoryboardSegue?) {
|
||||
|
||||
}
|
||||
|
||||
func getUserFavoriteFood() -> String? {
|
||||
return NSUserDefaults.standardUserDefaults().valueForKey("favorite_food") as! String?
|
||||
}
|
||||
|
||||
func askForFavoriteFood() {
|
||||
performSegueWithIdentifier("pickFavoriteFood", sender: self)
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,37 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import FirebaseAnalytics
|
||||
|
||||
@objc(ViewController) // match the ObjC symbol name inside Storyboard
|
||||
class ViewController: UIViewController {
|
||||
|
||||
override func viewWillAppear(animated: Bool) {
|
||||
super.viewWillAppear(true)
|
||||
|
||||
let name = "Pattern~\(title!)",
|
||||
text = "I'd love you to hear about\(name)"
|
||||
|
||||
// [START custom_event_swift]
|
||||
FIRAnalytics.logEventWithName("share_image", parameters: [
|
||||
"name": name,
|
||||
"full_text": text
|
||||
])
|
||||
// [END custom_event_swift]
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <Google/Analytics.h>
|
||||
|
||||
#import "LogWrapper.h"
|
||||
|
||||
static NSString * const kSearchTerm = @": Sending hit(s) ";
|
||||
|
||||
@interface AppTests : XCTestCase
|
||||
@end
|
||||
|
||||
@implementation AppTests {
|
||||
LogWrapper *_logWrapper;
|
||||
UITabBarController *_patternsController;
|
||||
GAI *_gai;
|
||||
GAILogLevel _previousLogLevel;
|
||||
}
|
||||
|
||||
- (instancetype)init {
|
||||
if ((self = [super init])) {
|
||||
_gai = [GAI sharedInstance];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)setUp {
|
||||
_logWrapper = [[LogWrapper alloc] init];
|
||||
_previousLogLevel = _gai.logger.logLevel;
|
||||
_gai.logger.logLevel = kGAILogLevelVerbose; // force verbose logging for test
|
||||
|
||||
UIWindow *window = [UIApplication sharedApplication].keyWindow;
|
||||
UIViewController *rootViewController = window.rootViewController;
|
||||
for (UIViewController *candidate in rootViewController.childViewControllers) {
|
||||
if ([candidate isKindOfClass:[UITabBarController class]]) {
|
||||
_patternsController = (UITabBarController *)candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)tearDown {
|
||||
_logWrapper = nil;
|
||||
_gai.logger.logLevel = _previousLogLevel;
|
||||
}
|
||||
|
||||
- (void)testLogs {
|
||||
XCTestExpectation *expectation =
|
||||
[self expectationWithDescription:@"Send event inside logs"];
|
||||
[_logWrapper lines]; // force clear
|
||||
|
||||
// Trigger a new, different tab to be shown.
|
||||
XCTAssertEqual(_patternsController.selectedIndex, 0,
|
||||
@"Expected left-most index to be initially selected");
|
||||
_patternsController.selectedIndex = 2;
|
||||
|
||||
// Check the logs constantly until a send message is found.
|
||||
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.1
|
||||
target:self
|
||||
selector:@selector(checkTimer:)
|
||||
userInfo:expectation
|
||||
repeats:YES];
|
||||
[self waitForExpectationsWithTimeout:10.0 handler:nil];
|
||||
[timer invalidate];
|
||||
}
|
||||
|
||||
- (void)checkTimer:(NSTimer *)timer {
|
||||
XCTestExpectation *expectation = timer.userInfo;
|
||||
NSArray *lines = [_logWrapper lines];
|
||||
|
||||
for (NSString *line in lines) {
|
||||
if ([line containsString:kSearchTerm]) {
|
||||
[expectation fulfill];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,32 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* LogWrapper replaces the current stderr, matched to its lifetime. Any lines written to stderr
|
||||
* during this time can be retrieved by the -lines method.
|
||||
*/
|
||||
@interface LogWrapper : NSObject
|
||||
|
||||
/**
|
||||
* Returns any lines (as NSString instances) written since LogWrapper was created, or the last
|
||||
* call to this method. This may return a nil/empty array if nothing was written.
|
||||
*/
|
||||
- (NSArray *)lines;
|
||||
|
||||
@end
|
||||
|
||||
@ -1,65 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "LogWrapper.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define ARRAYSIZE(x) (sizeof(x)/sizeof(x[0]))
|
||||
|
||||
@implementation LogWrapper {
|
||||
char _tempLogFile[64];
|
||||
NSFileHandle *_handle;
|
||||
int _dupFd;
|
||||
}
|
||||
|
||||
- (instancetype)init {
|
||||
if ((self = [super init])) {
|
||||
_dupFd = dup(fileno(stderr));
|
||||
|
||||
snprintf(_tempLogFile, ARRAYSIZE(_tempLogFile), "/tmp/objc-logwrapper.XXXXXX");
|
||||
int fd = mkstemp(_tempLogFile);
|
||||
|
||||
NSLog(@"LogWrapper writing to: %s", _tempLogFile);
|
||||
|
||||
freopen(_tempLogFile, "w+", stderr);
|
||||
_handle = [[NSFileHandle alloc] initWithFileDescriptor:fd closeOnDealloc:YES];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
unlink(_tempLogFile);
|
||||
NSLog(@"~LogWrapper removed: %s", _tempLogFile);
|
||||
|
||||
dup2(_dupFd, fileno(stderr));
|
||||
close(_dupFd);
|
||||
}
|
||||
|
||||
- (NSArray *)lines {
|
||||
NSData *data = [_handle readDataToEndOfFile];
|
||||
[_handle seekToFileOffset:data.length];
|
||||
|
||||
if (data == nil || !data.bytes) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
NSString *allData = [NSString stringWithUTF8String:(const char *)[data bytes]];
|
||||
return [allData componentsSeparatedByString:@"\n"];
|
||||
}
|
||||
|
||||
@end
|
||||
@ -1,6 +0,0 @@
|
||||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "favorite.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "favorite_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "favorite_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "flash_on.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "flash_on_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "flash_on_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 989 B |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-favorite.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-favorite_2x-1.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-favorite_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 470 B |
|
Before Width: | Height: | Size: 878 B |
|
Before Width: | Height: | Size: 1.3 KiB |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-flash_on.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-flash_on_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-flash_on_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 476 B |
|
Before Width: | Height: | Size: 674 B |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-tag_faces.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-tag_faces_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-tag_faces_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 648 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-wb_incandescent.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-wb_incandescent_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "icon-wb_incandescent_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 475 B |
|
Before Width: | Height: | Size: 785 B |
|
Before Width: | Height: | Size: 1014 B |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "tag_faces.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "tag_faces_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "tag_faces_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB |
@ -1,23 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "wb_incandescent.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "wb_incandescent_2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "wb_incandescent_3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
12
Pods/Firebase/Samples/analytics/Podfile
generated
@ -1,12 +0,0 @@
|
||||
# AnalyticsExample
|
||||
|
||||
use_frameworks!
|
||||
platform :ios, '7.0'
|
||||
pod 'Firebase/Analytics'
|
||||
|
||||
target 'AnalyticsExample' do
|
||||
end
|
||||
target 'AnalyticsExampleSwift' do
|
||||
end
|
||||
target 'AnalyticsExampleTests' do
|
||||
end
|
||||
43
Pods/Firebase/Samples/analytics/README.md
generated
@ -1,43 +0,0 @@
|
||||
Firebase Analytics Quickstart
|
||||
===========================
|
||||
|
||||
Firebase Analytics iOS Quickstart app demonstrates collecting app usage analytics via the
|
||||
Analytics API.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
- [Read more about Firebase Analytics](https://firebase.google.com/docs/analytics)
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
- [Add Firebase to your iOS Project](https://firebase.google.com/docs/ios/setup).
|
||||
- Run the sample on your iOS device or emulator.
|
||||
|
||||
Note: You will need Swift 2.0 to run the Swift version of this quickstart.
|
||||
|
||||
Support
|
||||
-------
|
||||
|
||||
- [Firebase Support](https://firebase.google.com/support/)
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright 2015 Google, Inc.
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
license agreements. See the NOTICE file distributed with this work for
|
||||
additional information regarding copyright ownership. The ASF licenses this
|
||||
file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
|
Before Width: | Height: | Size: 76 KiB |
@ -1,476 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3293AA641CE2347300BBD8A5 /* web in Resources */ = {isa = PBXBuildFile; fileRef = 3293AA631CE2347300BBD8A5 /* web */; };
|
||||
3293AA651CE2347300BBD8A5 /* web in Resources */ = {isa = PBXBuildFile; fileRef = 3293AA631CE2347300BBD8A5 /* web */; };
|
||||
5F5A53521ADE670C00F81DF0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53511ADE670C00F81DF0 /* main.m */; };
|
||||
5F5A53551ADE670C00F81DF0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53541ADE670C00F81DF0 /* AppDelegate.m */; };
|
||||
5F5A53581ADE670C00F81DF0 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53571ADE670C00F81DF0 /* ViewController.m */; };
|
||||
5F5A535B1ADE670C00F81DF0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A53591ADE670C00F81DF0 /* Main.storyboard */; };
|
||||
5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */; };
|
||||
5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */; };
|
||||
5F5A539C1ADE69AA00F81DF0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A53591ADE670C00F81DF0 /* Main.storyboard */; };
|
||||
5F99610A1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; };
|
||||
5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; };
|
||||
5F99610C1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; };
|
||||
5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
3293AA5E1CE1F12D00BBD8A5 /* AppIndexingExampleSwift.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = AppIndexingExampleSwift.entitlements; sourceTree = "<group>"; };
|
||||
3293AA621CE1FDAC00BBD8A5 /* AppIndexingExample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = AppIndexingExample.entitlements; sourceTree = "<group>"; };
|
||||
3293AA631CE2347300BBD8A5 /* web */ = {isa = PBXFileReference; lastKnownFileType = folder; path = web; sourceTree = "<group>"; };
|
||||
5F5A534C1ADE670C00F81DF0 /* AppIndexingExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppIndexingExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
5F5A53501ADE670C00F81DF0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
5F5A53511ADE670C00F81DF0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
5F5A53531ADE670C00F81DF0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
5F5A53541ADE670C00F81DF0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
5F5A53561ADE670C00F81DF0 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
|
||||
5F5A53571ADE670C00F81DF0 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
|
||||
5F5A535A1ADE670C00F81DF0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
5F5A53791ADE67D500F81DF0 /* AppIndexingExampleSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppIndexingExampleSwift.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
5F5A537F1ADE67D500F81DF0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
|
||||
5F5A539B1ADE695B00F81DF0 /* BridgingHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BridgingHeader.h; sourceTree = "<group>"; };
|
||||
5F9961061AE0CF4F0034F503 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
5F5A53491ADE670C00F81DF0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53761ADE67D500F81DF0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
5F5A53431ADE670C00F81DF0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3293AA631CE2347300BBD8A5 /* web */,
|
||||
5F5A534E1ADE670C00F81DF0 /* AppIndexingExample */,
|
||||
5F5A537A1ADE67D500F81DF0 /* AppIndexingExampleSwift */,
|
||||
5F5A534D1ADE670C00F81DF0 /* Products */,
|
||||
5F9961041AE0CF4F0034F503 /* Shared */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534D1ADE670C00F81DF0 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A534C1ADE670C00F81DF0 /* AppIndexingExample.app */,
|
||||
5F5A53791ADE67D500F81DF0 /* AppIndexingExampleSwift.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534E1ADE670C00F81DF0 /* AppIndexingExample */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3293AA621CE1FDAC00BBD8A5 /* AppIndexingExample.entitlements */,
|
||||
5F5A53531ADE670C00F81DF0 /* AppDelegate.h */,
|
||||
5F5A53541ADE670C00F81DF0 /* AppDelegate.m */,
|
||||
5F5A53561ADE670C00F81DF0 /* ViewController.h */,
|
||||
5F5A53571ADE670C00F81DF0 /* ViewController.m */,
|
||||
5F5A534F1ADE670C00F81DF0 /* Supporting Files */,
|
||||
);
|
||||
path = AppIndexingExample;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A534F1ADE670C00F81DF0 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A53591ADE670C00F81DF0 /* Main.storyboard */,
|
||||
5F5A53501ADE670C00F81DF0 /* Info.plist */,
|
||||
5F5A53511ADE670C00F81DF0 /* main.m */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A537A1ADE67D500F81DF0 /* AppIndexingExampleSwift */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3293AA5E1CE1F12D00BBD8A5 /* AppIndexingExampleSwift.entitlements */,
|
||||
5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */,
|
||||
5F5A537F1ADE67D500F81DF0 /* ViewController.swift */,
|
||||
5F5A537B1ADE67D500F81DF0 /* Supporting Files */,
|
||||
);
|
||||
path = AppIndexingExampleSwift;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F5A537B1ADE67D500F81DF0 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F5A539B1ADE695B00F81DF0 /* BridgingHeader.h */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5F9961041AE0CF4F0034F503 /* Shared */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5F9961061AE0CF4F0034F503 /* Images.xcassets */,
|
||||
5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */,
|
||||
);
|
||||
name = Shared;
|
||||
path = ../shared;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
5F5A534B1ADE670C00F81DF0 /* AppIndexingExample */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 5F5A536F1ADE670C00F81DF0 /* Build configuration list for PBXNativeTarget "AppIndexingExample" */;
|
||||
buildPhases = (
|
||||
5F5A53481ADE670C00F81DF0 /* Sources */,
|
||||
5F5A53491ADE670C00F81DF0 /* Frameworks */,
|
||||
5F5A534A1ADE670C00F81DF0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AppIndexingExample;
|
||||
productName = AppIndexingExample;
|
||||
productReference = 5F5A534C1ADE670C00F81DF0 /* AppIndexingExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
5F5A53781ADE67D500F81DF0 /* AppIndexingExampleSwift */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "AppIndexingExampleSwift" */;
|
||||
buildPhases = (
|
||||
5F5A53751ADE67D500F81DF0 /* Sources */,
|
||||
5F5A53761ADE67D500F81DF0 /* Frameworks */,
|
||||
5F5A53771ADE67D500F81DF0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = AppIndexingExampleSwift;
|
||||
productName = AppIndexingExampleSwift;
|
||||
productReference = 5F5A53791ADE67D500F81DF0 /* AppIndexingExampleSwift.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
5F5A53441ADE670C00F81DF0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0710;
|
||||
LastUpgradeCheck = 0730;
|
||||
ORGANIZATIONNAME = "Google Inc.";
|
||||
TargetAttributes = {
|
||||
5F5A534B1ADE670C00F81DF0 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
SystemCapabilities = {
|
||||
com.apple.SafariKeychain = {
|
||||
enabled = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
5F5A53781ADE67D500F81DF0 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
SystemCapabilities = {
|
||||
com.apple.SafariKeychain = {
|
||||
enabled = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "AppIndexingExample" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 5F5A53431ADE670C00F81DF0;
|
||||
productRefGroup = 5F5A534D1ADE670C00F81DF0 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
5F5A534B1ADE670C00F81DF0 /* AppIndexingExample */,
|
||||
5F5A53781ADE67D500F81DF0 /* AppIndexingExampleSwift */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
5F5A534A1ADE670C00F81DF0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3293AA641CE2347300BBD8A5 /* web in Resources */,
|
||||
5F99610C1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */,
|
||||
5F99610A1AE0CF4F0034F503 /* Images.xcassets in Resources */,
|
||||
5F5A535B1ADE670C00F81DF0 /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53771ADE67D500F81DF0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3293AA651CE2347300BBD8A5 /* web in Resources */,
|
||||
5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */,
|
||||
5F5A539C1ADE69AA00F81DF0 /* Main.storyboard in Resources */,
|
||||
5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
5F5A53481ADE670C00F81DF0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F5A53581ADE670C00F81DF0 /* ViewController.m in Sources */,
|
||||
5F5A53551ADE670C00F81DF0 /* AppDelegate.m in Sources */,
|
||||
5F5A53521ADE670C00F81DF0 /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
5F5A53751ADE67D500F81DF0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */,
|
||||
5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
5F5A53591ADE670C00F81DF0 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
5F5A535A1ADE670C00F81DF0 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
5F5A536D1ADE670C00F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A536E1ADE670C00F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
5F5A53701ADE670C00F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
INFOPLIST_FILE = AppIndexingExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AppIndexingExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A53711ADE670C00F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
INFOPLIST_FILE = AppIndexingExample/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AppIndexingExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
5F5A53951ADE67D500F81DF0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/AppIndexingExample/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AppIndexingExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = AppIndexingExampleSwift/BridgingHeader.h;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
5F5A53961ADE67D500F81DF0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
);
|
||||
INFOPLIST_FILE = "$(SRCROOT)/AppIndexingExample/Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.firebase.quickstart.AppIndexingExample;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = AppIndexingExampleSwift/BridgingHeader.h;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
5F5A53471ADE670C00F81DF0 /* Build configuration list for PBXProject "AppIndexingExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A536D1ADE670C00F81DF0 /* Debug */,
|
||||
5F5A536E1ADE670C00F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
5F5A536F1ADE670C00F81DF0 /* Build configuration list for PBXNativeTarget "AppIndexingExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A53701ADE670C00F81DF0 /* Debug */,
|
||||
5F5A53711ADE670C00F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
5F5A53991ADE67D500F81DF0 /* Build configuration list for PBXNativeTarget "AppIndexingExampleSwift" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
5F5A53951ADE67D500F81DF0 /* Debug */,
|
||||
5F5A53961ADE67D500F81DF0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 5F5A53441ADE670C00F81DF0 /* Project object */;
|
||||
}
|
||||
@ -1,4 +0,0 @@
|
||||
BasedOnStyle: Google
|
||||
ColumnLimit: 100
|
||||
BinPackParameters: false
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
@ -1,24 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
@import UIKit;
|
||||
|
||||
@interface AppDelegate : UIResponder<UIApplicationDelegate>
|
||||
|
||||
@property(strong, nonatomic) UIWindow *window;
|
||||
@property(nonatomic, strong) NSURL *currentDeepLink;
|
||||
|
||||
@end
|
||||
@ -1,53 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "AppDelegate.h"
|
||||
@import Firebase;
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
|
||||
[FIRApp configure];
|
||||
|
||||
// [START register_app]
|
||||
// Replace 123456 with the App Store ID of your app.
|
||||
// Registering your application allows your app to be included in
|
||||
// Google Search results.
|
||||
[[FIRAppIndexing sharedInstance] registerApp:123456];
|
||||
// [END register_app]
|
||||
return YES;
|
||||
}
|
||||
|
||||
// [START handle_link]
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
openURL:(NSURL *)url
|
||||
sourceApplication:(NSString *)sourceApplication
|
||||
annotation:(id)annotation {
|
||||
self.currentDeepLink = url;
|
||||
return YES;
|
||||
}
|
||||
// [END handle_link]
|
||||
|
||||
// [START handle_universal_link]
|
||||
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
|
||||
self.currentDeepLink = [userActivity webpageURL];
|
||||
return YES;
|
||||
}
|
||||
// [END handle_universal_link]
|
||||
|
||||
@end
|
||||
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict/>
|
||||
</plist>
|
||||
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6751" systemVersion="13F1077" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6736"/>
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 Shawn Simister. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
|
||||
<rect key="frame" x="20" y="439" width="441" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="app-indexing-objective-c" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
|
||||
<rect key="frame" x="20" y="140" width="441" height="43"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
|
||||
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
||||
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
|
||||
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
|
||||
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
|
||||
</constraints>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="548" y="455"/>
|
||||
</view>
|
||||
</objects>
|
||||
</document>
|
||||
@ -1,72 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10109" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="jqF-xI-3wl">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10083"/>
|
||||
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--App Indexing Example-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController title="App Indexing Example" id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="64" width="600" height="536"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Waiting for link" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="guy-rd-SdL">
|
||||
<rect key="frame" x="114.5" y="35" width="444.5" height="21"/>
|
||||
<rect key="contentStretch" x="1" y="0.0" width="1" height="1"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.396078431372549" green="0.49019607843137253" blue="0.54509803921568623" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" misplaced="YES" text="Deep Link:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZMr-ts-hEf">
|
||||
<rect key="frame" x="20" y="35" width="86.5" height="21"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
|
||||
<color key="textColor" red="0.396078431372549" green="0.49019607843137253" blue="0.54509803921568623" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="ZMr-ts-hEf" firstAttribute="top" secondItem="y3c-jy-aDJ" secondAttribute="bottom" constant="35" id="CJz-Ia-XFr"/>
|
||||
<constraint firstItem="guy-rd-SdL" firstAttribute="centerY" secondItem="ZMr-ts-hEf" secondAttribute="centerY" id="Emn-Yq-4Yq"/>
|
||||
<constraint firstAttribute="trailingMargin" secondItem="guy-rd-SdL" secondAttribute="trailing" constant="21" id="UjG-wn-mLK"/>
|
||||
<constraint firstItem="guy-rd-SdL" firstAttribute="leading" secondItem="ZMr-ts-hEf" secondAttribute="trailing" constant="8" id="hs7-vY-wqx"/>
|
||||
<constraint firstAttribute="leadingMargin" secondItem="ZMr-ts-hEf" secondAttribute="leading" id="sdo-Gi-RID"/>
|
||||
<constraint firstItem="guy-rd-SdL" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="topMargin" constant="35" id="ykq-Zd-VFx"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" title="App Indexing Example" id="zgm-Gp-J65"/>
|
||||
<connections>
|
||||
<outlet property="deepLinkLabel" destination="guy-rd-SdL" id="pIC-K7-vaK"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="332" y="307"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="x9N-6p-bGZ">
|
||||
<objects>
|
||||
<navigationController id="jqF-xI-3wl" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="center" barStyle="black" translucent="NO" id="fqK-cu-sD2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<color key="barTintColor" red="0.0" green="0.52156862745098043" blue="0.88627450980392153" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="R3f-6G-brj"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="gvu-V1-kfd" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-441" y="385"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Viewer</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>com.example.app</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>example-app</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UIStatusBarStyle</key>
|
||||
<string>UIStatusBarStyleBlackOpaque</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,23 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ViewController : UIViewController
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UILabel *deepLinkLabel;
|
||||
|
||||
@end
|
||||
@ -1,43 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "AppDelegate.h"
|
||||
#import "ViewController.h"
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
// [START display_link]
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// This notification is sent the first time the app launches
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(applicationBecameActive:)
|
||||
name:UIApplicationDidBecomeActiveNotification
|
||||
object:nil];
|
||||
}
|
||||
|
||||
- (void)applicationBecameActive:(NSNotification *)notification {
|
||||
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
|
||||
if (appDelegate.currentDeepLink != nil) {
|
||||
self.deepLinkLabel.text = appDelegate.currentDeepLink.lastPathComponent;
|
||||
} else {
|
||||
self.deepLinkLabel.text = @"No incoming link";
|
||||
}
|
||||
}
|
||||
// [END display_link]
|
||||
|
||||
@end
|
||||
@ -1,24 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "AppDelegate.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
|
||||
}
|
||||
}
|
||||
@ -1,58 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Firebase
|
||||
|
||||
@UIApplicationMain
|
||||
class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
|
||||
var window: UIWindow?
|
||||
var currentDeepLink: NSURL?
|
||||
|
||||
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
|
||||
FIRApp.configure()
|
||||
|
||||
// [START register_app]
|
||||
// Replace 123456 with the App Store ID of your app.
|
||||
// Registering your application allows your app to be included in
|
||||
// Google Search results.
|
||||
FIRAppIndexing.sharedInstance().registerApp(123456)
|
||||
// [END register_app]
|
||||
return true
|
||||
}
|
||||
|
||||
// [START handle_link]
|
||||
func application(application: UIApplication,
|
||||
openURL url: NSURL,
|
||||
sourceApplication: String?,
|
||||
annotation: AnyObject) -> Bool {
|
||||
currentDeepLink = url
|
||||
return true;
|
||||
}
|
||||
// [END handle_link]
|
||||
|
||||
// [START handle_universal_link]
|
||||
@available(iOS 8.0, *)
|
||||
func application(application: UIApplication,
|
||||
continueUserActivity userActivity: NSUserActivity,
|
||||
restorationHandler: ([AnyObject]?) -> Void) -> Bool {
|
||||
currentDeepLink = userActivity.webpageURL
|
||||
return true
|
||||
}
|
||||
// [END handle_universal_link]
|
||||
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict/>
|
||||
</plist>
|
||||
@ -1,17 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
@ -1,45 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2015 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
@objc(ViewController) // match the ObjC symbol name inside Storyboard
|
||||
class ViewController: UIViewController {
|
||||
|
||||
@IBOutlet var deepLinkLabel: UILabel!
|
||||
|
||||
// [START display_link]
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
NSNotificationCenter.defaultCenter().addObserver(self,
|
||||
selector:#selector(ViewController.applicationBecameActive(_:)),
|
||||
name: UIApplicationDidBecomeActiveNotification,
|
||||
object: nil)
|
||||
}
|
||||
|
||||
func applicationBecameActive(notification: NSNotification){
|
||||
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
|
||||
if let deeplink = appDelegate.currentDeepLink {
|
||||
// Show content based on incoming link
|
||||
deepLinkLabel.text = deeplink.lastPathComponent
|
||||
} else {
|
||||
deepLinkLabel.text = "No incoming link";
|
||||
}
|
||||
}
|
||||
// [END display_link]
|
||||
|
||||
}
|
||||
10
Pods/Firebase/Samples/app-indexing/Podfile
generated
@ -1,10 +0,0 @@
|
||||
# AppIndexingExample
|
||||
|
||||
use_frameworks!
|
||||
platform :ios, '7.0'
|
||||
pod 'Firebase/AppIndexing'
|
||||
|
||||
target 'AppIndexingExample' do
|
||||
end
|
||||
target 'AppIndexingExampleSwift' do
|
||||
end
|
||||
58
Pods/Firebase/Samples/app-indexing/README.md
generated
@ -1,58 +0,0 @@
|
||||
Firebase App Indexing Quickstart
|
||||
==============================
|
||||
|
||||
The Firebase App Indexing iOS quickstart demonstrates how to help get your app found in Google Search.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
- [Read more about Firebase App Indexing](https://firebase.google.com)
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
- [Add Firebase to your iOS Project](https://firebase.google.com/docs/ios/setup).
|
||||
- In web/public/apple-app-site-association file, replace <YOUR-APPID-OR-TEAMID> with your
|
||||
App ID or your Team ID.
|
||||
- Get the [Firebase Command Line Interface (CLI)](https://firebase.google.com/docs/hosting/quickstart#install-the-firebase-cli) Step 1
|
||||
- Run `firebase init`
|
||||
- Select your current Firebase project
|
||||
- Hit Enter to select the default public directory as your website root.
|
||||
- Run `firebase deploy`
|
||||
- In the **Capabilities** tab of XCode, turn on **Associated Domains**. Add
|
||||
your Firebase hosting domain in the format applinks:<YOUR-DOMAIN>. Do not include "https://".
|
||||
You can find your Firebase hosting domain in the Hosting section of the
|
||||
Firebase console.
|
||||
- Run the sample on your iOS device.
|
||||
- From Safari on your iOS device, go to your Firebase hosting URL.
|
||||
- Select one of the available links, *Go to content* or *Go to other content*
|
||||
- If you are not automatically redirected to the app, swipe down in Safari to
|
||||
reveal the *OPEN* option that takes you to the app.
|
||||
- Verify that the deep link data matches the link clicked.
|
||||
|
||||
Note: You will need Swift 2.0 to run the Swift version of this quickstart.
|
||||
|
||||
Support
|
||||
-------
|
||||
|
||||
- [Firebase Support](https://firebase.google.com/support/)
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright 2015 Google, Inc.
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more contributor
|
||||
license agreements. See the NOTICE file distributed with this work for
|
||||
additional information regarding copyright ownership. The ASF licenses this
|
||||
file to you under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
@ -1,11 +0,0 @@
|
||||
{
|
||||
"applinks": {
|
||||
"apps": [],
|
||||
"details": [
|
||||
{
|
||||
"appID": "<YOUR-APPID-OR-TEAMID>.com.google.firebase.quickstart.AppIndexingExample",
|
||||
"paths": ["*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||