Is there a way to open a installed application on a Ipad? - ruby

I have an iPad application that already installed on the device. But i don't have the .app or .ipa file with me.
Is there anyway to launch that application using Appium driver?

Yes
If you have created the app with a developer provisioning profile, and built yourself. Or downloaded it using testFlight, and is signed with a development provisioning profile
You need to reference the app bundleID and the UDID of the device. You then won't need the app path capability.
No
If you have downloaded the app from the app store.

How to automate a preinstalled app
This will only work for applications that are signed with a DEVELOPMENT cert.
This will NOT work for applications that are signed with a DISTRIBUTION cert (ex. apps downloaded from the App Store, distributed via Afaria or another MDM solution*)
You cannot automate applications downloaded from the above places. This is because Apple's Instruments will not allow you to inspect/interact with those applications. (Even if you somehow knew the bundleId)
Get the bundleId of the app that was installed on the device. Use that as the app capability.
Follow the Appium Real Devices guide (substitute any .ipa/.app reference with the bundleId)
In addition to your regular desiredCapabilities (ex. platformName, platformVersion, deviceName).. these should be your desiredCapabilities:
// For preinstalled apps, this is the bundleId
desiredCaps['app'] = 'com.company.appname'
// The device's unique identifier.
// Found in XCode's organizer when device is plugged in
desiredCaps['udid'] = '1824y983h2849gh2498'
* Barring TestFlight. If an app is uploaded via TestFlight, it may be signed with a Development or a Distribution certificate. You'll have to ask.

Related

Xcode Team is not enrolled in the Apple Developer Program

I'm developing my personal mobile application.
I've used react native to build the application, and I'm now trying to bring my application on my iPhone X, using Xcode, however, when I'm trying to deploy the application I've got the following error:
Team [My Team Name] is not enrolled in the Apple Developer Program.
Is enrolling mandatory even for testing on personal devices?
Thanks!
What I did is listed below:
Created a Development certificate
Couldn't create a Distribution certificate ("Your account does not have permission to create iOS Distribution certificates")
Build the project correctly
Set signing of the project (both application and testing) to my Development certificate
Set scheme to my personal iPhone X
Click on "Distribute App"
Try on both, "Ad hoc" and "Development"
The only answer I've got is the error shown above.
Many thanks shim, I didn't have all those options since I'm using Xcode 10, however playing around with the signature settings I've made it out.
For whom other that will struggle with this issue, basically there's no point to archive the project to deploy on the Device.
The solution was just to select my device in the within the Schemas and just Run it on the device, that actually install the app on the mobile device.

signed electron app shell.openItem() fails

I want my Electron app could open *.txt-files (generated by my app) with system default application (default text editor).
I use shell.openItem(path) to perform it - and it worked fine... until I've packed (mas) and signed the app. I suppose I have to add some entitlements when signing, but already tried bunch of them without success :(
Could anyone give me a hand with that?
Unfortunately Electron disables the shell.openItem() API in Mac App Store builds. From their signing guide:
[shell.openItem()] will fail when the app is signed for distribution in the Mac App Store. Subscribe to #9005 for updates.
However, there is a work-around that will enable you to have the same functionality:
shell.openExternal('file://' + myFilePath);
This approach is also confirmed to pass the Apple Store Reviews (see here).

it's possible send it app TVOS to itunes connect without the real device?

I have a question...
Can I send an app from xcode to iTunes connect, without physically having the real device?
For example, I designed an app for TVOS, but I don't have an Apple TV. Can I send it to itunes connect without the actual device?
Xcode say this error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the platform “tvOS” were found.
But i don't have a apple tv os device :(
Sure. Like iOS, it's strongly suggested to test apps on real devices, but it's not mandatory. You can send the app like you already do for iOS apps, but be sure to create a new tvOS app on iTunes Connect.
You also need certificates from Apple Developer in order to export the app for the App Store. Note that you need separate certificates for the tvOS App Store. When you create a new provisioning profile on Apple Developer, be sure to choose "tvOS App Store".

distribute software for MAC OS with developer certificate

I had developer application for MAC desktop.
I would like to submit it to client for testing.
But not able to find the steps for developer distribution.
Like iphone application :- we register the UDID of the device (iphone/iPAD) and then add those in the provisioning profile and then create the ipa.
How do we create developer ipa file for mac desktop version.
please help.
I am new to mac os application
There are a couple guides about distributing Mac OS applications. "Distributing your Mac Apps" is the main entry point.
If you want to distribute your app to client just to test you can sign app with Developer ID certificate. In this case you need to investigate this certain chapter "Distributing Applications Outside the Mac App Store".
Separately you have option to export application bundle without any signing.
Short steps:
Select menu item Product->Archive
Click Export button
Select "Export as Mac Application"
Click Next and save your app

Limit Mac app Beta usage to selection of UDID-approved devices

I have a Mac app I just created in Xcode, and signed as a "Mac App Store" application, with the default Team Provisioning Profile. I only have two UDIDs registered in the Member Center, and can run the application on any of my devices (expected)... but ALSO on any other non-registered devices.
Is there a way to lock the application to only registered UDIDs for the purpose of Beta testing?
The documentation seems to apply mostly to iOS applications, and remains a little unclear for the Mac application procedure.
Oddly enough, I wasn't able to sign my code with my UDID-specific Provisioning Profile at all in Xcode. However, by setting the Provisioning Profile to my restricted one, and properly setting my Code Signing Identity, I was able to compile via command-line properly.
Now when loaded on any machine other then the UDID-approved ones, the application fails to launch (which is the desired behavior for my Beta testing strategy).

Resources