Skip to content

Enable support for bitcode and ios9 #281

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "Vendor/Bolts-ObjC"]
path = Vendor/Bolts-ObjC
url = https://github.com/BoltsFramework/Bolts-iOS.git
[submodule "Vendor/OCMock"]
path = Vendor/OCMock
url = https://github.com/erikdoe/ocmock.git
2 changes: 1 addition & 1 deletion Configurations/Shared/Platform/iOS.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
SDKROOT = iphoneos
IPHONEOS_DEPLOYMENT_TARGET = 7.0

GCC_THUMB_SUPPORT = NO
GCC_THUMB_SUPPORT = YES

ARCHS = $(ARCHS_STANDARD) armv7s
DSTROOT = /tmp/$(PRODUCT_NAME).dst
Expand Down
107 changes: 89 additions & 18 deletions Parse.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@
objects = {

/* Begin PBXBuildFile section */
7C6417541B8EBDB6000EE8C7 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174A1B8EBDB6000EE8C7 /* AudioToolbox.framework */; };
7C6417551B8EBDB6000EE8C7 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174B1B8EBDB6000EE8C7 /* CFNetwork.framework */; };
7C6417561B8EBDB6000EE8C7 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174C1B8EBDB6000EE8C7 /* CoreGraphics.framework */; };
7C6417571B8EBDB6000EE8C7 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174D1B8EBDB6000EE8C7 /* CoreLocation.framework */; };
7C6417581B8EBDB6000EE8C7 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174E1B8EBDB6000EE8C7 /* libsqlite3.tbd */; };
7C6417591B8EBDB6000EE8C7 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C64174F1B8EBDB6000EE8C7 /* libz.tbd */; };
7C64175A1B8EBDB6000EE8C7 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C6417501B8EBDB6000EE8C7 /* QuartzCore.framework */; };
7C64175B1B8EBDB6000EE8C7 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C6417511B8EBDB6000EE8C7 /* Security.framework */; };
7C64175C1B8EBDB6000EE8C7 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C6417521B8EBDB6000EE8C7 /* StoreKit.framework */; };
7C64175D1B8EBDB6000EE8C7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C6417531B8EBDB6000EE8C7 /* SystemConfiguration.framework */; };
7C6417651B8EBE6D000EE8C7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C6417641B8EBE6D000EE8C7 /* UIKit.framework */; };
7C8AE9731B957B4400E9B213 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8103FA42198FC25B000BAE3F /* Bolts.framework */; settings = {ASSET_TAGS = (); }; };
7CBC8DA116D594F800AEC66D /* PFTaskQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CF213BB16D41D980065CF1A /* PFTaskQueue.m */; };
8103FA38198FC190000BAE3F /* BFTask+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 8103FA33198FC190000BAE3F /* BFTask+Private.h */; };
8103FA3A198FC190000BAE3F /* BFTask+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 8103FA34198FC190000BAE3F /* BFTask+Private.m */; };
Expand Down Expand Up @@ -983,13 +995,6 @@
remoteGlobalIDString = 030EF0A714632FD000B04273;
remoteInfo = OCMock;
};
F569F07E1B14DB3C00296F73 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 09D33641139C54930098E916 /* Project object */;
proxyType = 1;
remoteGlobalIDString = F569F07A1B14DB1E00296F73;
remoteInfo = "BoltsSDK-iOS";
};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
Expand Down Expand Up @@ -1064,6 +1069,19 @@
64C47803147336C70092082F /* PFACL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFACL.m; sourceTree = "<group>"; };
7C1FDDCA14E1B1BD00A77007 /* PFCommandCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCommandCache.h; sourceTree = "<group>"; };
7C1FDDCB14E1B1BD00A77007 /* PFCommandCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFCommandCache.m; sourceTree = "<group>"; };
7C64174A1B8EBDB6000EE8C7 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; };
7C64174B1B8EBDB6000EE8C7 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; };
7C64174C1B8EBDB6000EE8C7 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
7C64174D1B8EBDB6000EE8C7 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/CoreLocation.framework; sourceTree = DEVELOPER_DIR; };
7C64174E1B8EBDB6000EE8C7 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libsqlite3.tbd; sourceTree = DEVELOPER_DIR; };
7C64174F1B8EBDB6000EE8C7 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; };
7C6417501B8EBDB6000EE8C7 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
7C6417511B8EBDB6000EE8C7 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
7C6417521B8EBDB6000EE8C7 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = DEVELOPER_DIR; };
7C6417531B8EBDB6000EE8C7 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
7C64175E1B8EBE12000EE8C7 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Accounts.framework; sourceTree = DEVELOPER_DIR; };
7C6417601B8EBE19000EE8C7 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Social.framework; sourceTree = DEVELOPER_DIR; };
7C6417641B8EBE6D000EE8C7 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
7C9455DE15B8793F0037A86D /* PFCommandResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PFCommandResult.h; sourceTree = "<group>"; };
7CF213BA16D41D980065CF1A /* PFTaskQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFTaskQueue.h; sourceTree = "<group>"; };
7CF213BB16D41D980065CF1A /* PFTaskQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFTaskQueue.m; sourceTree = "<group>"; };
Expand All @@ -1078,8 +1096,8 @@
8103FA34198FC190000BAE3F /* BFTask+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "BFTask+Private.m"; sourceTree = "<group>"; };
8103FA35198FC190000BAE3F /* PFCategoryLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFCategoryLoader.h; sourceTree = "<group>"; };
8103FA36198FC190000BAE3F /* PFCategoryLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFCategoryLoader.m; sourceTree = "<group>"; };
8103FA42198FC25B000BAE3F /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = "Vendor/Bolts-ObjC/build/ios/Bolts.framework"; sourceTree = "<group>"; };
8103FA44198FC267000BAE3F /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = "Vendor/Bolts-ObjC/build/osx/Bolts.framework"; sourceTree = "<group>"; };
8103FA42198FC25B000BAE3F /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = Vendor/Bolts/ios/Bolts.framework; sourceTree = "<group>"; };
8103FA44198FC267000BAE3F /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Bolts.framework; path = Vendor/Bolts/osx/Bolts.framework; sourceTree = "<group>"; };
81068EBA1ADE462500A34D13 /* Parse_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Parse_Private.h; sourceTree = "<group>"; };
81068EEF1AE0845D00A34D13 /* PFEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PFEncoder.h; sourceTree = "<group>"; };
81068EF01AE0845D00A34D13 /* PFEncoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PFEncoder.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1578,6 +1596,18 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7C6417651B8EBE6D000EE8C7 /* UIKit.framework in Frameworks */,
7C6417541B8EBDB6000EE8C7 /* AudioToolbox.framework in Frameworks */,
7C6417551B8EBDB6000EE8C7 /* CFNetwork.framework in Frameworks */,
7C8AE9731B957B4400E9B213 /* Bolts.framework in Frameworks */,
7C6417561B8EBDB6000EE8C7 /* CoreGraphics.framework in Frameworks */,
7C6417571B8EBDB6000EE8C7 /* CoreLocation.framework in Frameworks */,
7C6417581B8EBDB6000EE8C7 /* libsqlite3.tbd in Frameworks */,
7C6417591B8EBDB6000EE8C7 /* libz.tbd in Frameworks */,
7C64175A1B8EBDB6000EE8C7 /* QuartzCore.framework in Frameworks */,
7C64175B1B8EBDB6000EE8C7 /* Security.framework in Frameworks */,
7C64175C1B8EBDB6000EE8C7 /* StoreKit.framework in Frameworks */,
7C64175D1B8EBDB6000EE8C7 /* SystemConfiguration.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1780,6 +1810,19 @@
09D3364C139C54940098E916 /* Frameworks */ = {
isa = PBXGroup;
children = (
7C6417641B8EBE6D000EE8C7 /* UIKit.framework */,
7C6417601B8EBE19000EE8C7 /* Social.framework */,
7C64175E1B8EBE12000EE8C7 /* Accounts.framework */,
7C64174A1B8EBDB6000EE8C7 /* AudioToolbox.framework */,
7C64174B1B8EBDB6000EE8C7 /* CFNetwork.framework */,
7C64174C1B8EBDB6000EE8C7 /* CoreGraphics.framework */,
7C64174D1B8EBDB6000EE8C7 /* CoreLocation.framework */,
7C64174E1B8EBDB6000EE8C7 /* libsqlite3.tbd */,
7C64174F1B8EBDB6000EE8C7 /* libz.tbd */,
7C6417501B8EBDB6000EE8C7 /* QuartzCore.framework */,
7C6417511B8EBDB6000EE8C7 /* Security.framework */,
7C6417521B8EBDB6000EE8C7 /* StoreKit.framework */,
7C6417531B8EBDB6000EE8C7 /* SystemConfiguration.framework */,
8103FA47198FC304000BAE3F /* Bolts */,
81AFA6781B0ECF9B000763C0 /* OCMock */,
813E97A91A26A76A00373BA7 /* System Frameworks */,
Expand Down Expand Up @@ -3511,12 +3554,12 @@
};
F569F07A1B14DB1E00296F73 /* BoltsSDK-iOS */ = {
isa = PBXLegacyTarget;
buildArgumentsString = "$(SRCROOT)/Vendor/Bolts-ObjC/ \\\n$(SRCROOT)/Vendor/Bolts-ObjC/build/ \\\n'Vendor/Bolts-ObjC/scripts/build_framework.sh -n -c Release'";
buildArgumentsString = "";
buildConfigurationList = F569F07B1B14DB1E00296F73 /* Build configuration list for PBXLegacyTarget "BoltsSDK-iOS" */;
buildPhases = (
);
buildToolPath = "$(SRCROOT)/Scripts/build_third_party.sh";
buildWorkingDirectory = "$(SRCROOT)";
buildToolPath = "";
buildWorkingDirectory = "";
dependencies = (
);
name = "BoltsSDK-iOS";
Expand Down Expand Up @@ -3578,7 +3621,6 @@
buildRules = (
);
dependencies = (
F569F07F1B14DB3C00296F73 /* PBXTargetDependency */,
);
name = "Parse-iOS";
productName = "Parse-iOS";
Expand Down Expand Up @@ -4311,11 +4353,6 @@
name = OCMock;
targetProxy = 81AB68C71B7E7F2A0053210E /* PBXContainerItemProxy */;
};
F569F07F1B14DB3C00296F73 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F569F07A1B14DB1E00296F73 /* BoltsSDK-iOS */;
targetProxy = F569F07E1B14DB3C00296F73 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
Expand Down Expand Up @@ -4369,6 +4406,17 @@
isa = XCBuildConfiguration;
baseConfigurationReference = F55ABB531B4F39DA00A0ECD5 /* Parse-iOS.xcconfig */;
buildSettings = {
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Vendor/Bolts/ios",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACH_O_TYPE = mh_dylib;
OTHER_CFLAGS = "-fembed-bitcode";
OTHER_LDFLAGS = "";
};
name = Test;
};
Expand Down Expand Up @@ -4439,13 +4487,36 @@
isa = XCBuildConfiguration;
baseConfigurationReference = F55ABB531B4F39DA00A0ECD5 /* Parse-iOS.xcconfig */;
buildSettings = {
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Vendor/Bolts/ios",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACH_O_TYPE = mh_dylib;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-fembed-bitcode";
OTHER_LDFLAGS = "";
};
name = Debug;
};
81C3823519CCA89F0066284A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = F55ABB531B4F39DA00A0ECD5 /* Parse-iOS.xcconfig */;
buildSettings = {
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
"$(PROJECT_DIR)/Vendor/Bolts/ios",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACH_O_TYPE = mh_dylib;
OTHER_CFLAGS = "-fembed-bitcode";
OTHER_LDFLAGS = "";
};
name = Release;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@
81CC85B01A49F2E00076DE19 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 0610;
ORGANIZATIONNAME = Parse;
TargetAttributes = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
81BA813D1A49DA1800E65899 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 0610;
ORGANIZATIONNAME = Parse;
TargetAttributes = {
Expand Down Expand Up @@ -405,6 +406,7 @@
81993FC91B69AA950077D6B9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
81BA81401A49DA1800E65899 /* Build configuration list for PBXProject "ParseStarterProject-Swift" */ = {
isa = XCConfigurationList;
Expand Down
1 change: 0 additions & 1 deletion Vendor/Bolts-ObjC
Submodule Bolts-ObjC deleted from 5e4f65
20 changes: 20 additions & 0 deletions Vendor/Bolts/ios/Bolts.framework.dSYM/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.com.bolts.bolts-ios</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.2.1</string>
<key>CFBundleVersion</key>
<string>1.2.1</string>
</dict>
</plist>
Binary file not shown.
Binary file added Vendor/Bolts/ios/Bolts.framework/Bolts
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* Copyright (c) 2014, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*/

#import <Foundation/Foundation.h>

/*! The version of the App Link protocol that this library supports */
FOUNDATION_EXPORT NSString *const BFAppLinkVersion;

/*!
Contains App Link metadata relevant for navigation on this device
derived from the HTML at a given URL.
*/
@interface BFAppLink : NSObject

/*!
Creates a BFAppLink with the given list of BFAppLinkTargets and target URL.

Generally, this will only be used by implementers of the BFAppLinkResolving protocol,
as these implementers will produce App Link metadata for a given URL.

@param sourceURL the URL from which this App Link is derived
@param targets an ordered list of BFAppLinkTargets for this platform derived
from App Link metadata.
@param webURL the fallback web URL, if any, for the app link.
*/
+ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL
targets:(NSArray *)targets
webURL:(NSURL *)webURL;

/*! The URL from which this BFAppLink was derived */
@property (nonatomic, strong, readonly) NSURL *sourceURL;

/*!
The ordered list of targets applicable to this platform that will be used
for navigation.
*/
@property (nonatomic, copy, readonly) NSArray *targets;

/*! The fallback web URL to use if no targets are installed on this device. */
@property (nonatomic, strong, readonly) NSURL *webURL;

@end
Loading