-
Re: Disabling cellular data access for one app causes other apps to lose access
eskimo Nov 30, 2016 2:10 PM (in response to pfh)I’ve seen this before. It’s caused by the two apps have the same main executable UUID, which the WWAN access subsystem is keying off (for better or worse). I recommend you rebuild your app from source for each customer, which will ensure that each app has a unique main executable UUID and thus avoid this problem.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardwarelet myEmail = "eskimo" + "1" + "@apple.com"
-
Re: Disabling cellular data access for one app causes other apps to lose access
pfh Jan 5, 2017 7:11 AM (in response to eskimo)Building each branded app from source did not resolve the problem. I modified our build pipeline such that a full clean was performed before each customer's app was compiled and linked. What assigns that unique identifier? Is it at compile time, at link time, or at some other stage? Or is it something in the project file that we would need to tweak?
-
Re: Disabling cellular data access for one app causes other apps to lose access
eskimo Jan 6, 2017 12:52 AM (in response to pfh)The main image UUID is assigned at link time. You can dump it with
dwarfdump
. For example:$ dwarfdump --uuid /Applications/TextEdit.app/Contents/MacOS/TextEdit UUID: 18520B84-4221-3BAA-BBF6-03B537BC53D8 (x86_64) /Applications/TextEdit.app/Contents/MacOS/TextEdit
Keep in mind that the UUID is different for each architecture, so for a typical iOS app you’ll see two entries (one for
arm64
and one forarmv7
, that is, 64- and 32-bit).Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardwarelet myEmail = "eskimo" + "1" + "@apple.com"
-
Re: Disabling cellular data access for one app causes other apps to lose access
pfh Jan 6, 2017 2:20 PM (in response to eskimo)That is extremely useful to know! I was able to determine that two builds run separately against the same source tree produced binaries with the same UUID. Even if I check out a fresh copy of the code, I still get the same UUID from the linked binary. Could it be that we need to alter something in each build to get a different UUID fromt the same source?
-
Re: Disabling cellular data access for one app causes other apps to lose access
eskimo Jan 8, 2017 1:18 PM (in response to pfh)Even if I check out a fresh copy of the code, I still get the same UUID from the linked binary.
Are you using standard Apple tools? Is your main executable built from source?
Historically the Apple linker would set the image UUID to a different value on every invokation. I vaguely remember that we changed this a while back so that building and linking the same source would result in the same UUID. However, I was unable to find any documentation on that.
Regardless, it doesn’t really matter: if you have multiple apps with the same man executable image UUID, regardless of how that came about, you need to fix that. One option would be to have a single source file that’s different for each of the apps you build.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardwarelet myEmail = "eskimo" + "1" + "@apple.com"
-
Re: Disabling cellular data access for one app causes other apps to lose access
pfh Jan 9, 2017 7:07 AM (in response to eskimo)Yes, we're using all of hte standard Apple tools. It does sound as though we need to vary something for each build, and I'm sure we can come up with something. Thanks for the guidance!
-
-
-
-
-