ASIdentifierManager is not found in iOS12
I m writing here cos I'm really stuck and can't find an answer.
We have a small framework who can collect IDFA inside.
For IDFA collection first at all we checks NSClassFromString(@"ASIdentifierManager")
The problem is:
Imagine we have a client and this client released version for iOS10-iOS12.
And this client gets IDFA for iOS10 and iOS11, but for all iOS12 there is no IDFA at all! After logs checked we have found that NSClassFromString(@"ASIdentifierManager")
is nil only for iOS12..
How the client could add a framework for iOS10, 11 but not for iOS12?
On the other hand, another client is doing well with iOS12.
ios objective-c frameworks ios12 idfa
add a comment |
I m writing here cos I'm really stuck and can't find an answer.
We have a small framework who can collect IDFA inside.
For IDFA collection first at all we checks NSClassFromString(@"ASIdentifierManager")
The problem is:
Imagine we have a client and this client released version for iOS10-iOS12.
And this client gets IDFA for iOS10 and iOS11, but for all iOS12 there is no IDFA at all! After logs checked we have found that NSClassFromString(@"ASIdentifierManager")
is nil only for iOS12..
How the client could add a framework for iOS10, 11 but not for iOS12?
On the other hand, another client is doing well with iOS12.
ios objective-c frameworks ios12 idfa
Have you tried the@import AdSupport;
or link against the framework in project?
– Itachi
Nov 15 '18 at 7:42
We have#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how
– Andrey Gagan
Nov 15 '18 at 10:15
add a comment |
I m writing here cos I'm really stuck and can't find an answer.
We have a small framework who can collect IDFA inside.
For IDFA collection first at all we checks NSClassFromString(@"ASIdentifierManager")
The problem is:
Imagine we have a client and this client released version for iOS10-iOS12.
And this client gets IDFA for iOS10 and iOS11, but for all iOS12 there is no IDFA at all! After logs checked we have found that NSClassFromString(@"ASIdentifierManager")
is nil only for iOS12..
How the client could add a framework for iOS10, 11 but not for iOS12?
On the other hand, another client is doing well with iOS12.
ios objective-c frameworks ios12 idfa
I m writing here cos I'm really stuck and can't find an answer.
We have a small framework who can collect IDFA inside.
For IDFA collection first at all we checks NSClassFromString(@"ASIdentifierManager")
The problem is:
Imagine we have a client and this client released version for iOS10-iOS12.
And this client gets IDFA for iOS10 and iOS11, but for all iOS12 there is no IDFA at all! After logs checked we have found that NSClassFromString(@"ASIdentifierManager")
is nil only for iOS12..
How the client could add a framework for iOS10, 11 but not for iOS12?
On the other hand, another client is doing well with iOS12.
ios objective-c frameworks ios12 idfa
ios objective-c frameworks ios12 idfa
edited Nov 14 '18 at 11:18
Andrey Gagan
asked Nov 14 '18 at 10:30
Andrey GaganAndrey Gagan
661812
661812
Have you tried the@import AdSupport;
or link against the framework in project?
– Itachi
Nov 15 '18 at 7:42
We have#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how
– Andrey Gagan
Nov 15 '18 at 10:15
add a comment |
Have you tried the@import AdSupport;
or link against the framework in project?
– Itachi
Nov 15 '18 at 7:42
We have#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how
– Andrey Gagan
Nov 15 '18 at 10:15
Have you tried the
@import AdSupport;
or link against the framework in project?– Itachi
Nov 15 '18 at 7:42
Have you tried the
@import AdSupport;
or link against the framework in project?– Itachi
Nov 15 '18 at 7:42
We have
#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how– Andrey Gagan
Nov 15 '18 at 10:15
We have
#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how– Andrey Gagan
Nov 15 '18 at 10:15
add a comment |
1 Answer
1
active
oldest
votes
This may not answer your question completely, just text what I know and my guess.
First, the dynamic frameworks won't be loaded in your app process until you use it, such as the frameworks under the directory which are available in iOS with simulator device.
> cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
> # Now there are plenty of frameworks here.
> file AdSupport.framework/AdSupport
Mach-O 64-bit dynamically linked shared library x86_64
How to use it? TLDR, call it with [ASIdentifierManager sharedManager]
in your app anywhere, link against the framework firstly and compile it successfully, of course.
Second, what's the difference between using NSClassFromString()
directly and calling [ASIdentifierManager sharedManager]
anywhere?
For the former case, your application won't load the AdSupport
framework bundle since there are not symbol named ASIdentifierManager
in your executable program when the os kernel loads your program, it can be proved by print your app main bundle path and find the app executable file, try to nm <path/to/executable_app> | grep "ASIdentifierManager"
, nothing will be found in result since you didn't use it.
For the latter one, try to grep the same symbol in the executable program, there it is.
Note: it's not os kernel loads the frameworks by
nm
result list but the kernel loads the frameworks containing the symbols, check out more info about the dynamic loader dyld.
Third, NSClassFromString
only checks the loaded classes, if the AdSupport
framework doesn't be loaded, it returns nil without trying to load the framework containing the target class.
Forth, it's impossible to recall the difference between in iOS 10/11 and iOS 12 until you paste out more context about the IDFA and AdSupport
framework usage in your project. Here is my one guess, some of the dependent libraries use the AdSupport
framework in the early version but iOS 12, you have to try to dump the symbol list between in iOS 11 and iOS 12 and compare the result.
Fifth, I'm not sure what you want, maybe you're trying to avoid importing AdSupport
framework explicitly, how about initializing a NSBundle
by framework path and call the -(BOOL)load
of NSBundle
class, then you could get the Class
object with NSClassFromString
.
UPDATE:
NSString *strFrameworkPath = nil;
#if TARGET_OS_SIMULATOR
strFrameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
#else
// Assume that the AdSupport and Foundation framework are in the same directory.
strFrameworkPath = [NSBundle bundleForClass:NSPredicate.class].bundlePath;
strFrameworkPath = [strFrameworkPath stringByDeletingLastPathComponent];
#endif
strFrameworkPath = [strFrameworkPath stringByAppendingPathComponent:@"AdSupport.framework"];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:strFrameworkPath], @"Invalid framework bundle path!");
NSBundle *bundle = [NSBundle bundleWithPath:strFrameworkPath];
if (!bundle.isLoaded)
NSError *error = nil;
if (![bundle loadAndReturnError:&error])
DDLogError(@"Load framework bundle %@ with error %@", bundle, error);
DDLogDebug(@"bundle: %@", bundle.bundlePath);
DDLogDebug(@"class: %@", NSClassFromString(@"ASIdentifierManager"));
You may need to enhance the compatibility of kinds of the device for products, for more details about the NSBundle
usage, check out the official documentation here.
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code withNSBundle
and-(BOOL)load
?
– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53298053%2fasidentifiermanager-is-not-found-in-ios12%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This may not answer your question completely, just text what I know and my guess.
First, the dynamic frameworks won't be loaded in your app process until you use it, such as the frameworks under the directory which are available in iOS with simulator device.
> cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
> # Now there are plenty of frameworks here.
> file AdSupport.framework/AdSupport
Mach-O 64-bit dynamically linked shared library x86_64
How to use it? TLDR, call it with [ASIdentifierManager sharedManager]
in your app anywhere, link against the framework firstly and compile it successfully, of course.
Second, what's the difference between using NSClassFromString()
directly and calling [ASIdentifierManager sharedManager]
anywhere?
For the former case, your application won't load the AdSupport
framework bundle since there are not symbol named ASIdentifierManager
in your executable program when the os kernel loads your program, it can be proved by print your app main bundle path and find the app executable file, try to nm <path/to/executable_app> | grep "ASIdentifierManager"
, nothing will be found in result since you didn't use it.
For the latter one, try to grep the same symbol in the executable program, there it is.
Note: it's not os kernel loads the frameworks by
nm
result list but the kernel loads the frameworks containing the symbols, check out more info about the dynamic loader dyld.
Third, NSClassFromString
only checks the loaded classes, if the AdSupport
framework doesn't be loaded, it returns nil without trying to load the framework containing the target class.
Forth, it's impossible to recall the difference between in iOS 10/11 and iOS 12 until you paste out more context about the IDFA and AdSupport
framework usage in your project. Here is my one guess, some of the dependent libraries use the AdSupport
framework in the early version but iOS 12, you have to try to dump the symbol list between in iOS 11 and iOS 12 and compare the result.
Fifth, I'm not sure what you want, maybe you're trying to avoid importing AdSupport
framework explicitly, how about initializing a NSBundle
by framework path and call the -(BOOL)load
of NSBundle
class, then you could get the Class
object with NSClassFromString
.
UPDATE:
NSString *strFrameworkPath = nil;
#if TARGET_OS_SIMULATOR
strFrameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
#else
// Assume that the AdSupport and Foundation framework are in the same directory.
strFrameworkPath = [NSBundle bundleForClass:NSPredicate.class].bundlePath;
strFrameworkPath = [strFrameworkPath stringByDeletingLastPathComponent];
#endif
strFrameworkPath = [strFrameworkPath stringByAppendingPathComponent:@"AdSupport.framework"];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:strFrameworkPath], @"Invalid framework bundle path!");
NSBundle *bundle = [NSBundle bundleWithPath:strFrameworkPath];
if (!bundle.isLoaded)
NSError *error = nil;
if (![bundle loadAndReturnError:&error])
DDLogError(@"Load framework bundle %@ with error %@", bundle, error);
DDLogDebug(@"bundle: %@", bundle.bundlePath);
DDLogDebug(@"class: %@", NSClassFromString(@"ASIdentifierManager"));
You may need to enhance the compatibility of kinds of the device for products, for more details about the NSBundle
usage, check out the official documentation here.
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code withNSBundle
and-(BOOL)load
?
– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
add a comment |
This may not answer your question completely, just text what I know and my guess.
First, the dynamic frameworks won't be loaded in your app process until you use it, such as the frameworks under the directory which are available in iOS with simulator device.
> cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
> # Now there are plenty of frameworks here.
> file AdSupport.framework/AdSupport
Mach-O 64-bit dynamically linked shared library x86_64
How to use it? TLDR, call it with [ASIdentifierManager sharedManager]
in your app anywhere, link against the framework firstly and compile it successfully, of course.
Second, what's the difference between using NSClassFromString()
directly and calling [ASIdentifierManager sharedManager]
anywhere?
For the former case, your application won't load the AdSupport
framework bundle since there are not symbol named ASIdentifierManager
in your executable program when the os kernel loads your program, it can be proved by print your app main bundle path and find the app executable file, try to nm <path/to/executable_app> | grep "ASIdentifierManager"
, nothing will be found in result since you didn't use it.
For the latter one, try to grep the same symbol in the executable program, there it is.
Note: it's not os kernel loads the frameworks by
nm
result list but the kernel loads the frameworks containing the symbols, check out more info about the dynamic loader dyld.
Third, NSClassFromString
only checks the loaded classes, if the AdSupport
framework doesn't be loaded, it returns nil without trying to load the framework containing the target class.
Forth, it's impossible to recall the difference between in iOS 10/11 and iOS 12 until you paste out more context about the IDFA and AdSupport
framework usage in your project. Here is my one guess, some of the dependent libraries use the AdSupport
framework in the early version but iOS 12, you have to try to dump the symbol list between in iOS 11 and iOS 12 and compare the result.
Fifth, I'm not sure what you want, maybe you're trying to avoid importing AdSupport
framework explicitly, how about initializing a NSBundle
by framework path and call the -(BOOL)load
of NSBundle
class, then you could get the Class
object with NSClassFromString
.
UPDATE:
NSString *strFrameworkPath = nil;
#if TARGET_OS_SIMULATOR
strFrameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
#else
// Assume that the AdSupport and Foundation framework are in the same directory.
strFrameworkPath = [NSBundle bundleForClass:NSPredicate.class].bundlePath;
strFrameworkPath = [strFrameworkPath stringByDeletingLastPathComponent];
#endif
strFrameworkPath = [strFrameworkPath stringByAppendingPathComponent:@"AdSupport.framework"];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:strFrameworkPath], @"Invalid framework bundle path!");
NSBundle *bundle = [NSBundle bundleWithPath:strFrameworkPath];
if (!bundle.isLoaded)
NSError *error = nil;
if (![bundle loadAndReturnError:&error])
DDLogError(@"Load framework bundle %@ with error %@", bundle, error);
DDLogDebug(@"bundle: %@", bundle.bundlePath);
DDLogDebug(@"class: %@", NSClassFromString(@"ASIdentifierManager"));
You may need to enhance the compatibility of kinds of the device for products, for more details about the NSBundle
usage, check out the official documentation here.
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code withNSBundle
and-(BOOL)load
?
– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
add a comment |
This may not answer your question completely, just text what I know and my guess.
First, the dynamic frameworks won't be loaded in your app process until you use it, such as the frameworks under the directory which are available in iOS with simulator device.
> cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
> # Now there are plenty of frameworks here.
> file AdSupport.framework/AdSupport
Mach-O 64-bit dynamically linked shared library x86_64
How to use it? TLDR, call it with [ASIdentifierManager sharedManager]
in your app anywhere, link against the framework firstly and compile it successfully, of course.
Second, what's the difference between using NSClassFromString()
directly and calling [ASIdentifierManager sharedManager]
anywhere?
For the former case, your application won't load the AdSupport
framework bundle since there are not symbol named ASIdentifierManager
in your executable program when the os kernel loads your program, it can be proved by print your app main bundle path and find the app executable file, try to nm <path/to/executable_app> | grep "ASIdentifierManager"
, nothing will be found in result since you didn't use it.
For the latter one, try to grep the same symbol in the executable program, there it is.
Note: it's not os kernel loads the frameworks by
nm
result list but the kernel loads the frameworks containing the symbols, check out more info about the dynamic loader dyld.
Third, NSClassFromString
only checks the loaded classes, if the AdSupport
framework doesn't be loaded, it returns nil without trying to load the framework containing the target class.
Forth, it's impossible to recall the difference between in iOS 10/11 and iOS 12 until you paste out more context about the IDFA and AdSupport
framework usage in your project. Here is my one guess, some of the dependent libraries use the AdSupport
framework in the early version but iOS 12, you have to try to dump the symbol list between in iOS 11 and iOS 12 and compare the result.
Fifth, I'm not sure what you want, maybe you're trying to avoid importing AdSupport
framework explicitly, how about initializing a NSBundle
by framework path and call the -(BOOL)load
of NSBundle
class, then you could get the Class
object with NSClassFromString
.
UPDATE:
NSString *strFrameworkPath = nil;
#if TARGET_OS_SIMULATOR
strFrameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
#else
// Assume that the AdSupport and Foundation framework are in the same directory.
strFrameworkPath = [NSBundle bundleForClass:NSPredicate.class].bundlePath;
strFrameworkPath = [strFrameworkPath stringByDeletingLastPathComponent];
#endif
strFrameworkPath = [strFrameworkPath stringByAppendingPathComponent:@"AdSupport.framework"];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:strFrameworkPath], @"Invalid framework bundle path!");
NSBundle *bundle = [NSBundle bundleWithPath:strFrameworkPath];
if (!bundle.isLoaded)
NSError *error = nil;
if (![bundle loadAndReturnError:&error])
DDLogError(@"Load framework bundle %@ with error %@", bundle, error);
DDLogDebug(@"bundle: %@", bundle.bundlePath);
DDLogDebug(@"class: %@", NSClassFromString(@"ASIdentifierManager"));
You may need to enhance the compatibility of kinds of the device for products, for more details about the NSBundle
usage, check out the official documentation here.
This may not answer your question completely, just text what I know and my guess.
First, the dynamic frameworks won't be loaded in your app process until you use it, such as the frameworks under the directory which are available in iOS with simulator device.
> cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks
> # Now there are plenty of frameworks here.
> file AdSupport.framework/AdSupport
Mach-O 64-bit dynamically linked shared library x86_64
How to use it? TLDR, call it with [ASIdentifierManager sharedManager]
in your app anywhere, link against the framework firstly and compile it successfully, of course.
Second, what's the difference between using NSClassFromString()
directly and calling [ASIdentifierManager sharedManager]
anywhere?
For the former case, your application won't load the AdSupport
framework bundle since there are not symbol named ASIdentifierManager
in your executable program when the os kernel loads your program, it can be proved by print your app main bundle path and find the app executable file, try to nm <path/to/executable_app> | grep "ASIdentifierManager"
, nothing will be found in result since you didn't use it.
For the latter one, try to grep the same symbol in the executable program, there it is.
Note: it's not os kernel loads the frameworks by
nm
result list but the kernel loads the frameworks containing the symbols, check out more info about the dynamic loader dyld.
Third, NSClassFromString
only checks the loaded classes, if the AdSupport
framework doesn't be loaded, it returns nil without trying to load the framework containing the target class.
Forth, it's impossible to recall the difference between in iOS 10/11 and iOS 12 until you paste out more context about the IDFA and AdSupport
framework usage in your project. Here is my one guess, some of the dependent libraries use the AdSupport
framework in the early version but iOS 12, you have to try to dump the symbol list between in iOS 11 and iOS 12 and compare the result.
Fifth, I'm not sure what you want, maybe you're trying to avoid importing AdSupport
framework explicitly, how about initializing a NSBundle
by framework path and call the -(BOOL)load
of NSBundle
class, then you could get the Class
object with NSClassFromString
.
UPDATE:
NSString *strFrameworkPath = nil;
#if TARGET_OS_SIMULATOR
strFrameworkPath = [[NSProcessInfo processInfo] environment][@"DYLD_FALLBACK_FRAMEWORK_PATH"];
#else
// Assume that the AdSupport and Foundation framework are in the same directory.
strFrameworkPath = [NSBundle bundleForClass:NSPredicate.class].bundlePath;
strFrameworkPath = [strFrameworkPath stringByDeletingLastPathComponent];
#endif
strFrameworkPath = [strFrameworkPath stringByAppendingPathComponent:@"AdSupport.framework"];
NSAssert([[NSFileManager defaultManager] fileExistsAtPath:strFrameworkPath], @"Invalid framework bundle path!");
NSBundle *bundle = [NSBundle bundleWithPath:strFrameworkPath];
if (!bundle.isLoaded)
NSError *error = nil;
if (![bundle loadAndReturnError:&error])
DDLogError(@"Load framework bundle %@ with error %@", bundle, error);
DDLogDebug(@"bundle: %@", bundle.bundlePath);
DDLogDebug(@"class: %@", NSClassFromString(@"ASIdentifierManager"));
You may need to enhance the compatibility of kinds of the device for products, for more details about the NSBundle
usage, check out the official documentation here.
edited Nov 20 '18 at 2:44
answered Nov 16 '18 at 7:19
ItachiItachi
2,74012050
2,74012050
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code withNSBundle
and-(BOOL)load
?
– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
add a comment |
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code withNSBundle
and-(BOOL)load
?
– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code with
NSBundle
and -(BOOL)load
?– Andrey Gagan
Nov 19 '18 at 10:14
Man, thank you so much for this answer! I really appreciate it. Could you point the sample code with
NSBundle
and -(BOOL)load
?– Andrey Gagan
Nov 19 '18 at 10:14
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/AdSupport.framework"]; BOOL success = [b load];
– Andrey Gagan
Nov 19 '18 at 10:33
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
Updated, you may need to enhance the compatibility of kinds of the device for products.
– Itachi
Nov 20 '18 at 2:42
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53298053%2fasidentifiermanager-is-not-found-in-ios12%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Have you tried the
@import AdSupport;
or link against the framework in project?– Itachi
Nov 15 '18 at 7:42
We have
#include <AdSupport/AdSupport.h>
. And again - the same build works for iOS10, 11. But not for iOS12. Looks like client somehow exclude linking exactly for iOS12 - but how– Andrey Gagan
Nov 15 '18 at 10:15