How to retrieve data from iCloud Production environment - ios

Is there a way to access data from iCloud production environment through iOS simulator? Because I need to retrieve an application data to analyze them, so if I could do it from simulator it will be easier to me.
If it's not possible to access with simulator, Could you give me an idea to do it with iPhone?

The easiest way is to archive your app and distribute it using testflight. An app distributed with tesflight is always linked to the production database. As far as I know there is no way to connect to the production database from the simulator or while debugging.

Related

Building Flutter iOS binary without physical access to a Mac

I have an iPhone
I don't have a physical mac. I'm using the new AWS mac instances to use XCode / build the binaries (Completely kosher and allowed by Apple).
I can't connect the phone and the AWS instance since they're not physically in the same place.
If I can build an IPA of the app, I should be able to use Firebase distribution to distribute the app to my phone (I think). But when I try to build the app using flutter build ios I get errors like: 'There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it'
What should I do? Can I virtually register my device somehow by putting its UUID somewhere? Can I sign up for a developer account and use TestFlight to distribute the app? Will that also require the device to be physically plugged in?
I can answer for the TestFlight part. You can distribute the app via TestFlight, and the device does not have to be plugged in. So that is very doable.
Using TestFlight is simple and pretty straight forward with many guides, official ones and also on youtube. There are several troubleshooting tips here on SO as well. The drawback as I see it is that it takes time before your pushed build is readily available on TestFlight. So it won't be a good way to iterate code changes fast.

How do I convert a mobile app on my device into an IPA file?

I've been using an app (Simblee app, to be specific) to manage some software components of a hardware device - an electric motor system. For example, the Simblee ios app is used as the UI to control some of the functionality of the hardware device like turning on the led lights on the device, managing how much power the device outputs, etc .
However, the app is no longer available through the App Store. I can still use the Simblee app on phones where the app has already been installed but I just got a new phone and I cannot use the Simblee through that phone. I saw online that it may be possible to convert the app from a phone to an ipa file. I've tried using iMazing to generate an ipa file but run into issues where the ipa file is corrupt. When I go on diawi to share this app with others, the error I get is: 4001009: Invalid .ipa file: missing embedded mobileprovision.
My question is two-fold:
1) Is there another way to convert the mobile app to an ipa file?
2) If not, is there a way to fix this error that I'm running into?
A mobile app is distributed via an IPA file. The problem you're facing is app signing. iOS apps are digitally signed by the App store for a specific device. You need to install the app from the app store in order to get it signed for a new device. I don't think there is a way to circumvent that step unless you use a jailbroken phone.
On Mac OS you can copy a Mac app from one Mac to another Mac with that uses the same AppleID in the app store and it will authenticate it and it will work, but I don't think you can do that with iOS apps.
tldr: I think you're out of luck.

Debug core data application in production

I developed an application with xcode for ios and it's now in production. I have some bugs I can not reproduce in dev but which happen in production.
How can I explore core data of production ipad and debug it?
Thank you
If you can connect the device via USB to your computer, you can download the app data, this will include the database file. If you can't, you have to rely on 3rd party solutions like iExplorer which can perform the same task. I believe this would only work for apps which are not downloaded via the App Store.
Another option would be to include a button in the app to send the database to a server. A lot of my enterprise apps include this functionality, because it makes issue reproducing a lot simpler. But you would need a new version of the app for this.

Deploy an application on iPhone

I have created an application for iPhone on my MAC. Now, I got to pass files read for deployment to the tester and he will perform the testing on real device. I have never deployed on iPhone so don't know the executables.
In my Xcode nothing related to the device info or developer's account is added. Device is not in my hands. For testing on live device we need certificate, iPhone device details & setup in the Xcode & all. Deploying iPhone app on real device
Can I just send the files to the tester & rest all he can manage ? If so, what files do I need to send him (executable) so he can deploy the app on iPhone. If this is not possible, then what and how do I need to setup to provide him the executables so he can test at his end.
Can you please guide me how to mange this and send the executables to deploy on iPhone. Any help is highly appreciated.

Testing iCloud sync with a single iOS device

I have just one iOS device at the moment, and it hasn't been a problem so far. But I now want to add iCloud sync support to my app (which uses Core Data).
Will testing be simply impossible until I get a second device? Or is it possible to use iOS Simulator in conjunction with my device or to fake iCloud data in order to test iCloud sync?
Edit: It doesn't take much research to find that iCloud, especially with Core Data, definitely requires extensive testing and that certainly means testing with more than one device!
In Xcode 5:
OS Simulator now supports iCloud syncing of documents and KVS data
within an app, enabling apps to sync between devices using iCloud.
This feature is useful when testing to ensure that the app documents
and data are syncing properly across multiple devices.
Note: With the app running in the iOS Simulator, sign in to an Apple
ID account using the Settings app. After signing in, use the “Trigger
iCloud sync” command in the Debug menu to tell the simulator to sync
with other devices.
You could use your mac as the second device and take the backend of your iOS core data code and write a test app for the mac. You will have to run the app as a sandboxed app in xcode and put the same sandbox name in the app settings for the apps to see each others data.
To make this work you need to create a mac app up on the provisioning portal (requires a mac developer license 99 bucks - cheaper than an iOS device) and enable it for iCloud.
In general unless you are going to try and manage merge conflicts in your app, you dont need to test iCloud itself. Anything that is in the ubiquity container will in fact be synced. If you need transactional control across devices (same documents being updated on multiple devices at the same time for the same user, you would have to handle conflicts), depending on what your app does it might be an issue.
One way you could test at least a sub-set of your syncing is to install your app on your device, add some data, sync that data to iCloud, then delete the app from the device.
When you install it again and sync to iCloud, you should then get back the same data you previously synced up to iCloud.
It's not exactly real-time, but it should give you something to work with.

Resources