WatchKit - iOS App Bundle Contains 2 WatchKit App Binaries - ios

When I build my iOS app for the app store and run the validation, I see that the embedded binaries and entitlements section contains two instances of my watchkit app. How is this happening? Has anyone else faced this problem?
The entitlements I use are for keychain sharing and app group sharing.
If any more information is needed, I'll be glad to provide it. When I build an enterprise version of this app and distribute it to my team, only one WatchKit app is installed. Should this be OK to submit to Apple then?

Related

Apple configurator 2 could not install app

I have designed the ios app and now I want my app to be tested by some other member of team. I generated .ipa as well as .app files of the app. I have install Apple Configurator 2 in my mac os. But when I use that apple configurator to install my app then the app is shown installed in the configurator but in the iPhone the icon shown is dark in color and when I click that nothing happens. But when I deploy app using xcode everything is working good for same configuration.
I don't know what all data is needed to post here for this issue,so if anything is required more than this pls ask.
I think there are four things you should confirm.
Certificate(Production) is not Expired?
Provisioning File(Distribution) is not Expired?.
Provisioning File(Distribution) is for AdHoc build (not for App Store)?
Provisioning File(Distribution) does contain your device UDID(Paulw11's answer)?
Maybe you need to go developer.apple.com and check your Certificates & Profiles.
[Other possibilities]
If you set date & time of your iOS device manually like 2020/1/29 for testing or something I think app won't run too.
Apple provies "TestFlight" https://developer.apple.com/testflight/
The way how to use it is almost same with submitting an app for review in App Store.
Create an App ID
Create a provisioning profile with the App ID you created.(Type is "Distribution - App Store")
Build an app with the provisioning profile you created.
Go App Store Connect and Open "My Apps" and create your app.
Upload an app (*.ipa file) to App Store Connect(*1)
Go App Store Connect and Open "My Apps" and select an app you uploaded.
Select "TestFlight" Tab.
Open "Export Compliance" dialog.
Answer the question about your app and click next(maybe this step repeats two or three times).
Click "Start Internal Testing." (Now you can deliver your beta app in your group.)
If you want deliver your app to external tester, add external tester(this needs Apple's app review)
(*1)
Last time I used TestFlight was several years ago, and at that time, I uploaded my app with "Application Loader" but I found this tool is not available now."Transporter" seems like be the alternative.
(*2)
This steps were memo I wrote about two years ago, so some steps may be wrong like Application Loader disappeared in 2019 and need to use Transporter for uploading an app.

React Native IOS After Build

I followed all the steps to create the iOS version of the application. Finally, I build over xcode and see that the process is successful.
Now this project I build will be sent to apple store. None of the places I read says what to do after build. I do not know how it works because I'm strangers to the IOS platform. If someone who has previously installed the app helps, please be grateful.
To Upload your app to Appstore, you need to have developer certificate and provisioning profile, uploading to itunesconnect is easy to work with xcode. select Generic iOS device form the simulator selection dropdown list and then click on product menu archive, it will archive the project and an ipa file will be generated then the generated ipa file can be upload to appstore. you need to properly setup provisioning profile for the app in itunes connect. From itunesConnect you can submit the app to appstore for reviewing your app and later you can decide app to be automatically submited to app store or manual submission. For more info refer here.

iOS app extension enterprise distribution

I would like streamline the process of testing my iOS iMessage extension by automating and distributing builds signed with an enterprise provisioning profile through something like Jenkins.
However after repeated attempts I have found that installing an IPA that includes the app extension does not install the app extension.
I realize as per Apple's documentation (https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW11) "To deliver an iOS app extension, you must submit a containing app to the App Store."
Despite this, the wording is sufficiently vague enough for me to wonder if there is at all any way to distribute archives that install the messages extension when installed.
Has anyone had any success doing this?
If not is it because it's actually impossible?
Distributing the containing app via an IPA works perfectly fine.
When the containing app is installed the app extension is also installed as per Apple's documentation.
However for iMessage extensions make sure to check the "managed" tab of the app store to make sure that the extension is added to the iMessage app drawer when it is installed. I missed this originally, hence the original question :(.

Unable to upload app to iTunes connect. WatchKit 1 issue?

I have just tried to submit a build of my app to iTunes connect and I am unable to via Xcode. Via Application loader the app will upload but then I receive an email stating the binary is invalid due to invalid watchkit support.
Invalid WatchKit Support - The WatchKitSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
The application contains a watch os1 app which has been in the app for over a year without much update. The application has been updated several times since the watch app was added without any issues.
I have a strong feeling this is related to the upcoming requirement for watchOS Apps.
Starting June 1, 2016, all new watchOS apps submitted to the App Store must be native apps built with the watchOS 2 SDK or later.
However it is more than one day early... Is anyone else experiencing this?

How to NOT deliver AppleWatch part of iOS app

We have a client using our source code. This project includes Apple Watch, but they do not want to build that into their app yet. They removed the Embed App Extensions. They were able to submit to the App Store, but then received an email:
We have discovered one or more issues with your recent delivery for
"XXX". To process your delivery, the following issues must be
corrected: Invalid WatchKit Support - The bundle contains an invalid
implementation of WatchKit. The app may have been built or signed with
non-compliant or pre-release tools. Visit developer.apple.com for more
information. Once these issues have been corrected, you can then
redeliver the corrected binary. Regards, The App Store team
What is the minimum modifications to do to a project that will not include the Apple Watch component, so that it is there for when they want to add it later?
I haven't seen a setting that could be added to info.plist.
Build just the iPhone app and not the watch app by using the correct Scheme in Xcode. Schemes are how you can control which targets to build in Xcode.
When the watch kit target was added, a scheme was created for building both the watch app and the mobile app.
When exporting app for release use just the mobile app scheme that is there and does not include the watch os target.
Scheme editor doc from apple:
https://developer.apple.com/library/mac/recipes/xcode_help-scheme_editor/Articles/SchemeDialog.html

Resources