This is the first time I’ve tried to run an Xcode app on my iPhone. To do this, the iPhone must have “Developer Mode” enabled but this settings was not visible on my iPhone. I searched the blog and did not find a suitable solution. Eventually, I got it working so wanted to publish my findings. I am documenting this after trying many things so I am not 100% sure of the magic formula, but “I think” this is what is needed.
PROBLEM
iPhone -> Settings -> Privacy & Security -> Developer Mode (NOT VISIBLE)
ENVIRONMENT
iPhone 12 Pro Max running IOS 16.2
MacBook Pro running macOS 12.5.1
Xcode 14.2
CONNECT IPHONE TO MAC (via USB cable)
CHECK DEVICE STATUS (in Xcode)
Select menu Window -> Devices and Simulators
You should see your iPhone but it will show warnings/issues. (e.g. device not in Developer Mode)
ADD APPLE ID (in Xcode)
Open your app project in Xcode
Select menu Xcode -> Preferences
Select Accounts tab
Add your Apple ID (It will be listed as a “Personal Team”)
SELECT IPHONE AS DESTINATION (in Xcode)
Select menu Product -> Destination -> Choose Destination
In the “IOS Device” section, select your iPhone as the destination
(NOTE: After doing this, the “Developer Mode” setting was available on my iPhone)
iPhone -> Settings -> Privacy & Security -> Developer Mode (Now visible)
SELECT DEVELOPER MODE (on iPhone)
Settings -> Privacy & Security -> Developer Mode (ENABLE)
SELECT APPLE ID AS TEAM (in Xcode)
Select your project in the Project Navigator
Select the project in the TARGETS section
Select “Signing & Capabilities” tab
In the “Signing” section, select the Team as your Apple ID (you previously entered)
After this, I had an error and need to modify the “Bundle Identifier” to make it unique. I just added some numbers to the end and it worked.
CHECK. DEVICE STATUS (in Xcode)
Select menu Window -> Devices and Simulators
This time, your iPhone should appear without any warnings/issues.
LOAD APP ONTO IPHONE (in Xcode)
Hit the arrow in Xcode to Start the active scheme. (The App will be loaded onto your iPhone.)
RUN APP (on iPhone)
Try running the app and the iPhone will not allow it since you have not authorized apps from this developer.
Goto Settings -> General -> VPN & Device Management
Authorize your Apple ID to run apps on this phone.
You should now be able to run the app without issue.
Developer Tools
RSS for tagAsk questions about the tools you can use to build apps.
Posts under Developer Tools tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
I am not able to add a Profile to Network link conditioner, when I press the Button the text on it just enlarges a bit and nothing else happens.
It doesn't matter if the Link conditioner is already ENABLED or disabled the behaviour is the same.
Hi friends,
I have a problem suddenly by archiving my app in XCode 14.3 I'm getting this errors:
Showing All Errors Only
Prepare build
note: Building targets in dependency order
error: Multiple commands produce '/Users/razvanu/Library/Developer/Xcode/DerivedData/Runner-aeiwqtydtcicmbcjpyzoxtfwhzig/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
note: Target 'GoogleUtilities-00567490' (project 'Pods') has create directory command with output '/Users/razvanu/Library/Developer/Xcode/DerivedData/Runner-aeiwqtydtcicmbcjpyzoxtfwhzig/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
note: Target 'GoogleUtilities-54e75ca4' (project 'Pods') has create directory command with output '/Users/razvanu/Library/Developer/Xcode/DerivedData/Runner-aeiwqtydtcicmbcjpyzoxtfwhzig/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
Multiple commands produce '/Users/razvanu/Library/Developer/Xcode/DerivedData/Runner-aeiwqtydtcicmbcjpyzoxtfwhzig/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
I tried all the solutions that I found, nothing works for me :( please guide me how to fix this issue, thanks in advance!
I have Xcode 15.0 beta (15A5160n) and the iOS 17.0 beta (21A5248u) simulator installed on macOS 13.4 (22F66). I have iPadOS 17.0 (21A5248v) installed on my 8th generation iPad, and developer mode is enabled. Whenever I connect via USB and attempt to pair in the Xcode Devices and Simulator window, I get the error "Unable to locate a valid DDI for the iOS platform."
I've tried unpairing and repairing multiple times. I've rebooted the iPad and my Mac. Nothing works.
The provisioning UDID of my MacBook Pro with an M2 Max processor registers as an iPod in the devices section of my developer account. Because of that, I cannot test my macOS apps on this device, reducing it to a brick as long as macOS development is considered.
Has anyone encountered such an error? I believe the UDID is fixed, so with more Apple silicon devices, we may start seeing these kind of bugs unless Apple does something to remedy the issue.
The Accessibility Inspector tool stopped working in the simulator after the release of Xcode 14.3.1 (14E300b).
Greetings all, does anyone have up to date information on how to create and pay for a developer account from Russia ?
Hi All
I am newbie to the action extension development. Is it possible to write action extension for pages, keynote and numbers. Is there a sample action extension available for the above apps?
Thanks
Hyder
Hello!
I’m currently trying to build my iOS project from the command line including all symbols with dSYMs. Some information about my project:
I have two different targets in addition to libraries imported with a mix of Cocoapods and SwiftPM
The debug information format for all targets is “DWARF with dSYM File”
The issue I’m having is that after dSYM files are created, there is one empty one. The empty one always ends up being the actual app’s dSYM file. So the second target and all dependency dSYM files are created successfully, but the main app dSYM file is completely empty. Strangely, it works properly in about 1 out of every 20 builds.
I’m building the app with the following command:
xcodebuild clean archive -workspace $WORKSPACE/workspaceName -scheme “appName-$ENV" -archivePath $WORKSPACE/build/xcarchive name -destination 'generic/platform=iOS' || exit 1
I run the build command from a build server that uses Jenkins. When I run this locally, or build from Xcode, this problem does not occur. It seems to be isolated to only the build server.
Xcode version: 14.3 MacOS version: 13.3.1
Any suggestions on why this might be happening?
// Post moved.
Hello! I am trying to apply for enrolment for Apple Developer program in order to release my app, but in the Developer application it says that with my ID I cannot apply via app. What should I do?
Is it possible to make generated asset symbols (ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOLS and/or ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS) public so that they can be used by targets that import the framework defining them?
We created a multi-tenant SaaS platform to create content and configure individual mobile apps.
In other words, we build apps for customers and we take care of deploying and maintaining these apps on their developer accounts, given that they are comfortable with giving us access to it.
But in some cases, especially with government or military customers, they cannot add us to their developer accounts, and/or they cannot send us their signing certificates so we can sign the builds with them.
Does Apple have any alternative ways to deploy an app that WE OWN the code to, sign it, and ship it onto a client's developer account so that the app become publicly accessible on the app store?
To my knowledge, the only way currently is through Apple Business Managed accounts and/or MDM, which is would NOT make the app publicly available on the app store.
When we are trying to buy subscription woocommerce product using the Apple Pay and it asking for the account creation. We did not see this pop up before, is this something new? Please suggest
I use Xcode 15 beta 5, and downloaded the iOS 17 Beta 4 simulator runtime as an DMG image. The --help message for simctl create says I can use <runtime id> argument to specify the runtime I need, and it says I can supply the /Volumes/.../Runtimes/*.simruntime file:
Usage: simctl create <name> <device type id> [<runtime id>]
...
<runtime id>
Examples: ("watchOS3", "watchOS3.2", "watchOS 3.2", "com.apple.CoreSimulator.SimRuntime.watchOS-3-2", "/Volumes/path/to/Runtimes/watchOS 3.2.simruntime")
So, after mounting the image I expect the following to work:
$ xcrun simctl create 'iPhone 14' 'iPhone 14' "/Volumes/iOS 17.0 21A5291g Simulator/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.0.simruntime"
Invalid runtime: /Volumes/iOS 17.0 21A5291g Simulator/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.0.simruntime
But apparently this doesn't work for some reason. Did I miss anything?
output of xcrun notarytool history:
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2023-08-06T05:42:39.016Z
id: 275a308f-563f-4c08-915d-ed8a83b22d46
name: Muse-macos-x64-1.5.7.pkg
status: In Progress
--------------------------------------------------
createdDate: 2023-08-06T05:07:37.232Z
id: 4587758e-0609-43cc-b604-f63113fcc8a6
name: MuseUninstall.zip
status: In Progress
It's been over 18 hours and it's still in the "In Progress" stage. Worse yet, any subsequent notarization request gets put in the queue which seems to wait forever until the first one is complete. Hence, I can't notarize anything anymore.
As far as I can see, there's no way to cancel the run. Any help is appreciated.
Hi
hi I’m a tradesman in engineering I develop in my side time.I’m into augmented reality and after working on android I switched to swift as the ecosystem with apple is so strong ar has a shot at being a actual workable product.
I’ve noticed the developer centres are only in a couple of places around the is there any way to get one online i live in Australia and it’s be awesome to have even one apple expert teaching ar here.
I have enabled developer mode in flutter app development.
I am using Firebase Cloud Messaging to send notifications.
everything works fine There is a notification coming to the normal app.
But after a while I can no longer send notifications to the app.
{"multicast_id":5417898622260949101,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
The fcm device token doesn't seem to work.
This caused me to request a new fcm device token.
and after using it for a while, it came back like the first time
Is this caused by the APN token being canceled?
or caused by enabling developer mode to develop apps.
I'm sure this question has been asked many times, but I really can not find a good answer. I have a Windows machine and have been looking for a way to develop apps, view logs, and other things on Windows. Obviously, XCode and other apps can't run on Windows so I've been looking for a solution like mac-in-cloud or something similar. What is the most affordable way that I can develop on Windows and most importantly use my iPhone through USB?
I regularly see folks confused by this point so I decided to write it up in a single place.
If you have questions or comments about this, start a new thread here on DevForums. Tag your thread with something appropriate for the API you’re trying to use. If nothing leaps out, Kernel is a good option [1].
IMPORTANT I don’t work for App Review and can’t make definitive statements on their behalf. All of the following is about whether an API is available for you to use, not whether App Review will approve your specific usage.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
[1] Because of the KPI aspect of this, discussed below.
Availability of Low-Level APIs
Every now and again I see questions like this:
The developer documentation has no entry for getpid. How can that not be API?
Or this:
I want to call mach_absolute_time on iOS. Its documentation says that it’s only available on macOS. But it’s in the iOS SDK and it works just fine. Is it OK for me to use it in my iOS app?
These questions arise because:
Apple Developer Documentation focuses on Apple’s frameworks.
Most low-level APIs, specifically those with a BSD heritage, are documented in man pages. These man pages aren’t available in Apple Developer Documentation (r. 16512537). For information about how to access them, see Reading UNIX Manual Pages.
Some low-level APIs are documented in both man pages and Apple Developer Documentation. A classic example of this is Dispatch, which has comprehensive man pages (start at dispatch 3) and good documentation in Apple Developer Documentation.
Some low-level APIs, like Compression, are documented in Apple Developer Documentation but have no man pages.
Some low-level APIs aren’t documented in either Apple Developer Documentation or the man pages. A classic example of this is SQLite. In such cases the best documentation may be the doc comments in the APIs headers, or on a third-party website.
For Mach APIs, you often find that the best documentation is in the Darwin open source!
Some low-level APIs have equivalent KPIs (Kernel Programming Interfaces). For example, mach_absolute_time is both an API and a KPI. Many KPIs are documented in Apple Developer Documentation, in a special area known as the Kernel framework [1]. Kernel development is only supported on macOS, so those KPIs are flagged as being macOS-only. However, their equivalent APIs are typically available on Apple’s other platforms.
These questions most often crop up in the context of obscure low-level APIs, but many obviously valid low-level APIs have the same issue and no one worries about those. For example, Apple Developer Documentation has no documentation for the printf API [2], but no one asks whether it’s OK to use printf!
Given the above, it’s clear that you can’t infer anything about the availability of an API based on its state in Apple Developer Documentation. Rather, the acid test for availability is:
Is it declared in a platform SDK header?
Is it not marked as unavailable on that platform? [3]
Does the platform SDK have a stub library [4] that makes its symbol available to the linker?
If the answer to all four questions is “yes”, the API is available on that platform.
[1] The kernel does not support frameworks but bundling these KPIs into Kernel.framework within the macOS SDK makes some degree of sense from a tooling perspective, and that logic flows through to the documentation.
[2] There’s a documentation page for the KPI, but that’s not the same thing.
[3] Sorry for the double negative but it’s the only way to capture an important subtlety. If the header contains a declaration with no availability markings, that API is available on all platforms. A classic example of this is printf.
[4] If you’re not familiar with the term stub library, see An Apple Library Primer.
Hints and Tips
In general, prefer high-level APIs over low-level ones. For example, prefer Date, or even gettimeofday or clock_gettime, over mach_absolute_time. However, that’s only a general guideline. In some cases the low-level API really is the right one to use.
Just because something is an API doesn’t mean that there aren’t any restrictions on it. mach_absolute_time is a perfect example of this. Using it for highly accurate performance analysis of your code is fine, but using it for fingerprinting is not. See Describing use of required reason API.
If you can’t find adequate documentation for an API you’re using, always look in the headers for doc comments. In some cases that’s the only source of documentation. However, even if the API is reasonably well documented, the headers might contain critical tidbits that slipped through the cracks.