Post

Replies

Boosts

Views

Activity

Why does Xcode 15 Beta not have a 17.0 folder in DeviceSupport?
The Xcode 15 beta does not have a 17.* folder within Developer/Platforms/iPhoneOS.platform/DeviceSupport. How therefore does it build/install/run on a a phone with iOS 17 installed? Is there a different mechanism for device support used from 17 onwards than has historically been the case? I want to build/run using Xcode 14.n with an iOS 17 phone, but without being able to locate the iOS 17 support file am unable to do so. Where is the iOS 17 device support files with Xcode 15? How can I build using Xcode 14 for iOS 17 if its not present in Xcode15 (in order to drag and drop it into Xcode 14)
0
2
954
Jun ’23
Xcode 15 - Can't launch console for iPhone
With Xcode 15 if you attach an iPhone (with iOS 17 installed) and then select Window|Devices & Simulators, then you can see the connected iPhone of the left hand side of the organizer. However with the iPhone selected, when the Open Console button is clicked it doesn't launch the console for the phone but instead for the Mac. There's therefore no way to view the handset logs (you can see the app logs within Xcode as per usual, but you can't view the holistic handset logs).
0
0
667
Jun ’23
lipo command doesn't work with .xcframeworks
In the past I've used lipo to remove unwanted architectures from fat frameworks, using lipo -remove. However when attempting to do similarly with a .xcframework I keep getting errors, its not just the -remove command. If for example I run lipo -info someFramework.xcframework then the error is: can't map input file: someFramework.xcframework (Invalid argument) if I cd into the xcframework and run lipo -remove ios-arm64_x86_64-simulator then the error is unknown architecture specification flag: ios-arm64_x86_64-simulator in specifying remove operation: -remove ios-arm64_x86_64-simulator
0
0
884
May ’23
CFBundleIdentfier Collision uploading app with 3rd party xcframework
using an xcframework supplied by 3rd party. I can build/run/install the app and use the framework without issue when running/installing from Xcode. However if I create an archive and then attempt to upload it to TestFlight I get two errors, the first is: CFBundelIdentifer Collision. There is more than one bundle with the CFBundelIdentifer value bundleidofframework under the application And the second is Invalid Bundle. The bundle at ...myextension.appex contains disallowed file Frameworks. (I'm using the framework within both the app and an extension) Within the embed frameworks section of Xcode, the tickbox code sign on copy is ticked (that's the default value and if its unticked then the app doesn't run when installed directly via Xcode).
1
0
595
May ’23
Read only container error attempting to create a contact group
Without exception, every single code example/tutorial for adding a contact group uses a nil container value i.e. the toContainerWithIdentifier parameter is nil, as below. I've not been able to find an example usage where it isn't nil. let group = CNMutableGroup() group.name = "whatever" let saveRequest = CNSaveRequest() saveRequest.add(group, toContainerWithIdentifier: nil) do { try store.execute(saveRequest) } catch { handle error } I've been running this code and 99.9% of the time it works as expected. However on one handset the catch is being executed with Error Domain=CNErrorDomain Code=207 "Container is read-only" How should I deal with this? How can I find out what container it is being added to? Why would it be read only? If nil means add to the default container, why is the default container in this case read only? How can I change the code that it will always run on every device? I've not been able to find any examples/tutorials for creating a custom container to which the group can be added.
0
0
804
May ’23
Lots of Killed: 9 compilation errors with an M1/Monterey
A couple of days ago I changed laptops from an Intel/Big Sur to a MacBook Pro M1/Monterey. Since then I've encountered endless endless problems building in Xcode (for iOS). The very first attempt at building my project after setting up the laptop was successful, but since then builds just fail randomly without making any code changes. i.e. make a build and its successful, change nothing whatsoever and it fails. Once a build fails it takes an eternity to get it building successfully again, doing a clean, delete derived data, quit/re-launch Xcode doesn't necessarily fix the problem, it might be necessary to do this 3 or 4 times before the build succeeds again. But that build success will only be temporary before it fails again. The failures are different each time, but one thing they seem to have in common is a Killed: 9 message, here's an example Script-00DD1BFF1BD5951E006B06BC.sh: line 5: 22679 Killed: 9         ../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh Command PhaseScriptExecution failed with a nonzero exit code I've had about 6 or 7 different random failures in different places, but they all say Killed: 9 Command PhaseScriptExecution failed with a nonzero exit code. The project used to build fine on the old laptop, its the exact same project/code, the only variable here is the laptop itself and the MacOS. I've been struggling with this for the last 3 days, the problems are just endless. The build failures are random, like I mentioned a build will work fine one time, then just stop for no reason. They could occur at any random moment in any random component of the project or its dependencies. Its utterly impossible to proceed like this, I'm the first in my company out of about 100 employees who are going to upgrade their laptops from Intel to Silicon. I will be telling our IT department we absolutely cannot make that switch as things are just unusable and its impossible to proceed with this combination of laptop|OS|Xcode. I'm on Monterey 12.2.1 | Xcode 13.2.1, but the problem was also present with Monterey 12.0.1|Xcode 13.2.1 Opening Xcode with Rosetta makes no difference to the problems.
7
1
9.9k
Apr ’23
How have I been able to make Ad-hod builds/upload to App Store Connect without a distribution certificate
I intentionally deleted iOS development/distribution related certificates from my keychain (Login, Local Items, System, System Roots). Then built my app in Xcode. Automatically manage signing is turned on and Xcode created/installed an Apple Development certificate to my keychain). But if I create an archive, I am able to successfully create a development distribution, an ad-hoc distribution, and even upload to App Store Connect. Yet I don't have a distribution certificate anywhere in my keychain. I therefore don't understand how this was possible. How could I create all those distributions without a distribution certificate in the keychain?
0
0
368
Apr ’23
How does Robokiller deep link into Settings, are they using a private URL scheme?
An app can legally link into its own section of the Settings app, and if it uses CallKit, it can link into the Call Blocking & Identification section. Linking anywhere else into Settings is making use of private URL schemes and is supposed to not be permitted and the app rejected during submission. However the Robokiller app deep links into the Settings app with the page scrolled down to where the Phone section is. How are they doing that? Is there some new API that permits the app to link to there? Or are they making illegal use of private URIs and have been getting away with getting past App Store review for years?
0
0
390
Apr ’23
Background assed download error: "BAApplicationInfo is missing an extensionIdentity"
I've added a background asset extension and am trying to invoke it using this: xcrun backgroundassets-debug --app-bundle-id com.myCompany.myApp  --device-id 00008120-000225060C9B401E --simulate --app-update  When I run that command I see this in the phone's log: Unable to observe extension for (com.cequint.myapp), the BAApplicationInfo is missing an extensionIdentity. So how should an extension identify be added? The extension's info.plist is as created by the Xcode template: <key>EXAppExtensionAttributes</key> <dict> <key>EXExtensionPointIdentifier</key> <string>com.apple.background-asset-downloader-extension</string> </dict> And I've added the following to the app's info.plist: > <dict> <key>BGTaskSchedulerPermittedIdentifiers</key> <array> <string>kBackgroundTaskIdIdentifier_RNScheduleAppRunEvent</string> </array>   <key>BAMaxInstallSize</key>   <integer>3221225472</integer>   <key>BAInitialDownloadRestrictions</key>   <dict>          <key>BADownloadDomainAllowList</key>          <array>                 <string>*.drive.google.com</string>          </array>          <key>BADownloadAllowance</key>          <integer>2147483648</integer>   </dict> <key>BAManifestURL</key> <string>https://drive.google.com/file/d/1doJtzxBKCoVHEF80sndK6VskCrkD9H9r/view?usp=sharing</string> What else needs doing to provide the extension identifier the OS is saying is missing? (Using Xcode 14.1 and iOS 16.2)
2
0
1.9k
Apr ’23
Xcode 14.3 fails creating an archive if it contains a pod
This takes 2 minutes to recreate: Create a new project in XCode Run pod init to create a pod file Add some pod to the pod file, I tried with MMWormhole or PhoneNumberKit or Realm Run pod install The app can be built however an archive cannot, it generates an error: rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9] Switch to Xcode 14.2 however and the archive can be built
0
0
651
Apr ’23
Is it possible to schedule a timer in a notification service extension?
I'm trying to fire a timer in a notification service extension, but what would work in the app doesn't work in the extension i.e. Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(doSomeStuff2), userInfo: nil, repeats: false) or Timer.scheduledTimer(withTimeInterval: 7.0, repeats: false) { timer in ... } and so on, etc. Is that a way of getting a timer to fire in an extension?
1
0
1.4k
Apr ’23
What happened to the WWDC16 session 230: Enhancing VoIP Apps with CallKit video? Its gone
This video is referenced in several places, for example here references it https://developer.apple.com/documentation/callkit/making_and_receiving_voip_calls_with_callkit and Eskimo has referenced it in his posts. But its gone, there are other WWDC16 session videos but not this one (https://developer.apple.com/videos/wwdc2016) Is it available anywhere else? Also how can this code be run/tested for an incoming call (without using the build in simulator i.e. using a real incoming Voip call)? What tool/app etc. could be used to generate a call to the handset to see the code in action when answering a VoIP call?
2
1
1.5k
Mar ’23
"ITMS-90338: Non-public API usage - The app references non-public selectors" issue still present when uploading to TestFlight, except now its preventing builds from appearing
While attempting to upload my app to TestFlight (which has already been uploaded numerous times, including just a few days ago with the same code base) there is this error "TMS-90338: Non-public API usage - The app references non-public selectors in : _isKeyDown, _modifiedInput, _modifierFlags....." Nothing new there, that's been happening for months for myself and countless others and has been reported numerous times, i.e. https://developer.apple.com/forums/thread/127678?answerId=715975022#715975022 https://developer.apple.com/forums/thread/714450 But now there's a difference - in the past the builds always appeared in Testflight after getting this warning, so it wasn't an issue. But now that's changed, the build is no longer appearing in Testflight, so it suddenly is a very big issue.
3
0
933
Feb ’23
What size image should be added to a contact such that it appears in full screen mode on the incoming call screen?
I'm programmatically adding a contact with an image with the intention the image should display in full screen size when a caller matching the number of the contact calls (as opposed to the image appearing as a tiny round icon next to the caller name). I'm creating an image of the same size and scale factor as the iPhone, and so far its working out ok - I have about 15 different phones, of various dimensions and scale factors, ranging from an old iPhone mini up to the most recent iPhone Pro Max, and on all of these it works as intended. But there's an exception, an iPhone 12 Pro (which has dimensions 390 * 844 and scale factor 3), on this phone when there is a call the contact image appears as a tiny icon. Why. Why is this phone different? How can I know what size image should be added to a contact to appear at full size in the call screen when every phone has different dimensions and they are not behaving the same? Additional question - the iPhone applies some cropping and expansion to whatever image gets added, is it possible to know what's being done to the image in order to make it display perfectly? (i.e. if the image contains some text, the fact the OS crops away some of the edge of the image, then expands what's left to fill the screen dimensions results in some pixelation)
0
0
663
Feb ’23
Why does Xcode 15 Beta not have a 17.0 folder in DeviceSupport?
The Xcode 15 beta does not have a 17.* folder within Developer/Platforms/iPhoneOS.platform/DeviceSupport. How therefore does it build/install/run on a a phone with iOS 17 installed? Is there a different mechanism for device support used from 17 onwards than has historically been the case? I want to build/run using Xcode 14.n with an iOS 17 phone, but without being able to locate the iOS 17 support file am unable to do so. Where is the iOS 17 device support files with Xcode 15? How can I build using Xcode 14 for iOS 17 if its not present in Xcode15 (in order to drag and drop it into Xcode 14)
Replies
0
Boosts
2
Views
954
Activity
Jun ’23
Xcode 15 - Can't launch console for iPhone
With Xcode 15 if you attach an iPhone (with iOS 17 installed) and then select Window|Devices & Simulators, then you can see the connected iPhone of the left hand side of the organizer. However with the iPhone selected, when the Open Console button is clicked it doesn't launch the console for the phone but instead for the Mac. There's therefore no way to view the handset logs (you can see the app logs within Xcode as per usual, but you can't view the holistic handset logs).
Replies
0
Boosts
0
Views
667
Activity
Jun ’23
lipo command doesn't work with .xcframeworks
In the past I've used lipo to remove unwanted architectures from fat frameworks, using lipo -remove. However when attempting to do similarly with a .xcframework I keep getting errors, its not just the -remove command. If for example I run lipo -info someFramework.xcframework then the error is: can't map input file: someFramework.xcframework (Invalid argument) if I cd into the xcframework and run lipo -remove ios-arm64_x86_64-simulator then the error is unknown architecture specification flag: ios-arm64_x86_64-simulator in specifying remove operation: -remove ios-arm64_x86_64-simulator
Replies
0
Boosts
0
Views
884
Activity
May ’23
CFBundleIdentfier Collision uploading app with 3rd party xcframework
using an xcframework supplied by 3rd party. I can build/run/install the app and use the framework without issue when running/installing from Xcode. However if I create an archive and then attempt to upload it to TestFlight I get two errors, the first is: CFBundelIdentifer Collision. There is more than one bundle with the CFBundelIdentifer value bundleidofframework under the application And the second is Invalid Bundle. The bundle at ...myextension.appex contains disallowed file Frameworks. (I'm using the framework within both the app and an extension) Within the embed frameworks section of Xcode, the tickbox code sign on copy is ticked (that's the default value and if its unticked then the app doesn't run when installed directly via Xcode).
Replies
1
Boosts
0
Views
595
Activity
May ’23
Read only container error attempting to create a contact group
Without exception, every single code example/tutorial for adding a contact group uses a nil container value i.e. the toContainerWithIdentifier parameter is nil, as below. I've not been able to find an example usage where it isn't nil. let group = CNMutableGroup() group.name = "whatever" let saveRequest = CNSaveRequest() saveRequest.add(group, toContainerWithIdentifier: nil) do { try store.execute(saveRequest) } catch { handle error } I've been running this code and 99.9% of the time it works as expected. However on one handset the catch is being executed with Error Domain=CNErrorDomain Code=207 "Container is read-only" How should I deal with this? How can I find out what container it is being added to? Why would it be read only? If nil means add to the default container, why is the default container in this case read only? How can I change the code that it will always run on every device? I've not been able to find any examples/tutorials for creating a custom container to which the group can be added.
Replies
0
Boosts
0
Views
804
Activity
May ’23
Is it possible to access contacts in a global address list?
I've linked my contacts app on my iPhone to my company contacts database, and it shows up in the contacts app as "My Company Global Address List", and I can tap on it and search within it. However using CNContactFetchRequest doesn't retrieve any of those contacts, is it something that's possible to do, if so how?
Replies
0
Boosts
0
Views
501
Activity
May ’23
Lots of Killed: 9 compilation errors with an M1/Monterey
A couple of days ago I changed laptops from an Intel/Big Sur to a MacBook Pro M1/Monterey. Since then I've encountered endless endless problems building in Xcode (for iOS). The very first attempt at building my project after setting up the laptop was successful, but since then builds just fail randomly without making any code changes. i.e. make a build and its successful, change nothing whatsoever and it fails. Once a build fails it takes an eternity to get it building successfully again, doing a clean, delete derived data, quit/re-launch Xcode doesn't necessarily fix the problem, it might be necessary to do this 3 or 4 times before the build succeeds again. But that build success will only be temporary before it fails again. The failures are different each time, but one thing they seem to have in common is a Killed: 9 message, here's an example Script-00DD1BFF1BD5951E006B06BC.sh: line 5: 22679 Killed: 9         ../node_modules/@sentry/cli/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh Command PhaseScriptExecution failed with a nonzero exit code I've had about 6 or 7 different random failures in different places, but they all say Killed: 9 Command PhaseScriptExecution failed with a nonzero exit code. The project used to build fine on the old laptop, its the exact same project/code, the only variable here is the laptop itself and the MacOS. I've been struggling with this for the last 3 days, the problems are just endless. The build failures are random, like I mentioned a build will work fine one time, then just stop for no reason. They could occur at any random moment in any random component of the project or its dependencies. Its utterly impossible to proceed like this, I'm the first in my company out of about 100 employees who are going to upgrade their laptops from Intel to Silicon. I will be telling our IT department we absolutely cannot make that switch as things are just unusable and its impossible to proceed with this combination of laptop|OS|Xcode. I'm on Monterey 12.2.1 | Xcode 13.2.1, but the problem was also present with Monterey 12.0.1|Xcode 13.2.1 Opening Xcode with Rosetta makes no difference to the problems.
Replies
7
Boosts
1
Views
9.9k
Activity
Apr ’23
How have I been able to make Ad-hod builds/upload to App Store Connect without a distribution certificate
I intentionally deleted iOS development/distribution related certificates from my keychain (Login, Local Items, System, System Roots). Then built my app in Xcode. Automatically manage signing is turned on and Xcode created/installed an Apple Development certificate to my keychain). But if I create an archive, I am able to successfully create a development distribution, an ad-hoc distribution, and even upload to App Store Connect. Yet I don't have a distribution certificate anywhere in my keychain. I therefore don't understand how this was possible. How could I create all those distributions without a distribution certificate in the keychain?
Replies
0
Boosts
0
Views
368
Activity
Apr ’23
How does Robokiller deep link into Settings, are they using a private URL scheme?
An app can legally link into its own section of the Settings app, and if it uses CallKit, it can link into the Call Blocking & Identification section. Linking anywhere else into Settings is making use of private URL schemes and is supposed to not be permitted and the app rejected during submission. However the Robokiller app deep links into the Settings app with the page scrolled down to where the Phone section is. How are they doing that? Is there some new API that permits the app to link to there? Or are they making illegal use of private URIs and have been getting away with getting past App Store review for years?
Replies
0
Boosts
0
Views
390
Activity
Apr ’23
Background assed download error: "BAApplicationInfo is missing an extensionIdentity"
I've added a background asset extension and am trying to invoke it using this: xcrun backgroundassets-debug --app-bundle-id com.myCompany.myApp  --device-id 00008120-000225060C9B401E --simulate --app-update  When I run that command I see this in the phone's log: Unable to observe extension for (com.cequint.myapp), the BAApplicationInfo is missing an extensionIdentity. So how should an extension identify be added? The extension's info.plist is as created by the Xcode template: <key>EXAppExtensionAttributes</key> <dict> <key>EXExtensionPointIdentifier</key> <string>com.apple.background-asset-downloader-extension</string> </dict> And I've added the following to the app's info.plist: > <dict> <key>BGTaskSchedulerPermittedIdentifiers</key> <array> <string>kBackgroundTaskIdIdentifier_RNScheduleAppRunEvent</string> </array>   <key>BAMaxInstallSize</key>   <integer>3221225472</integer>   <key>BAInitialDownloadRestrictions</key>   <dict>          <key>BADownloadDomainAllowList</key>          <array>                 <string>*.drive.google.com</string>          </array>          <key>BADownloadAllowance</key>          <integer>2147483648</integer>   </dict> <key>BAManifestURL</key> <string>https://drive.google.com/file/d/1doJtzxBKCoVHEF80sndK6VskCrkD9H9r/view?usp=sharing</string> What else needs doing to provide the extension identifier the OS is saying is missing? (Using Xcode 14.1 and iOS 16.2)
Replies
2
Boosts
0
Views
1.9k
Activity
Apr ’23
Xcode 14.3 fails creating an archive if it contains a pod
This takes 2 minutes to recreate: Create a new project in XCode Run pod init to create a pod file Add some pod to the pod file, I tried with MMWormhole or PhoneNumberKit or Realm Run pod install The app can be built however an archive cannot, it generates an error: rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9] Switch to Xcode 14.2 however and the archive can be built
Replies
0
Boosts
0
Views
651
Activity
Apr ’23
Is it possible to schedule a timer in a notification service extension?
I'm trying to fire a timer in a notification service extension, but what would work in the app doesn't work in the extension i.e. Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(doSomeStuff2), userInfo: nil, repeats: false) or Timer.scheduledTimer(withTimeInterval: 7.0, repeats: false) { timer in ... } and so on, etc. Is that a way of getting a timer to fire in an extension?
Replies
1
Boosts
0
Views
1.4k
Activity
Apr ’23
What happened to the WWDC16 session 230: Enhancing VoIP Apps with CallKit video? Its gone
This video is referenced in several places, for example here references it https://developer.apple.com/documentation/callkit/making_and_receiving_voip_calls_with_callkit and Eskimo has referenced it in his posts. But its gone, there are other WWDC16 session videos but not this one (https://developer.apple.com/videos/wwdc2016) Is it available anywhere else? Also how can this code be run/tested for an incoming call (without using the build in simulator i.e. using a real incoming Voip call)? What tool/app etc. could be used to generate a call to the handset to see the code in action when answering a VoIP call?
Replies
2
Boosts
1
Views
1.5k
Activity
Mar ’23
"ITMS-90338: Non-public API usage - The app references non-public selectors" issue still present when uploading to TestFlight, except now its preventing builds from appearing
While attempting to upload my app to TestFlight (which has already been uploaded numerous times, including just a few days ago with the same code base) there is this error "TMS-90338: Non-public API usage - The app references non-public selectors in : _isKeyDown, _modifiedInput, _modifierFlags....." Nothing new there, that's been happening for months for myself and countless others and has been reported numerous times, i.e. https://developer.apple.com/forums/thread/127678?answerId=715975022#715975022 https://developer.apple.com/forums/thread/714450 But now there's a difference - in the past the builds always appeared in Testflight after getting this warning, so it wasn't an issue. But now that's changed, the build is no longer appearing in Testflight, so it suddenly is a very big issue.
Replies
3
Boosts
0
Views
933
Activity
Feb ’23
What size image should be added to a contact such that it appears in full screen mode on the incoming call screen?
I'm programmatically adding a contact with an image with the intention the image should display in full screen size when a caller matching the number of the contact calls (as opposed to the image appearing as a tiny round icon next to the caller name). I'm creating an image of the same size and scale factor as the iPhone, and so far its working out ok - I have about 15 different phones, of various dimensions and scale factors, ranging from an old iPhone mini up to the most recent iPhone Pro Max, and on all of these it works as intended. But there's an exception, an iPhone 12 Pro (which has dimensions 390 * 844 and scale factor 3), on this phone when there is a call the contact image appears as a tiny icon. Why. Why is this phone different? How can I know what size image should be added to a contact to appear at full size in the call screen when every phone has different dimensions and they are not behaving the same? Additional question - the iPhone applies some cropping and expansion to whatever image gets added, is it possible to know what's being done to the image in order to make it display perfectly? (i.e. if the image contains some text, the fact the OS crops away some of the edge of the image, then expands what's left to fill the screen dimensions results in some pixelation)
Replies
0
Boosts
0
Views
663
Activity
Feb ’23