i launch ios webkit debug proxy and his launcher.js
i work with appium 1.5 i have xcode 7.3 and ipad under ios 9.3
i modified the bundle of the SafariLauncher then i think it’s my problem but i don’t know how to solve it …
Have you tried signing the code and installing the provisioning profile through xcode in the SafariLauncher project, i have been facing the same issue while running on real devices with ios9.3.1. I solved it by manually installing the provisioning profile and copying the SafariLauncher.app generated into the node_module/appium-ios-driver/build/SafariLauncher folder.
See if that works, if you need detailed steps, do let me know
hi thx to help me ! i was sad because i made 2 topics for this and no one was answering ^^,
Yes i tried to do it… if i don’t do what you say appium don’t want to show me this lign in logs : [debug] [iOS] SafariLauncher exists
he crash before if i dont copy the .app and without the provisionning profile …
i beleived that was because of the safari launcher that was not for the version 1.5 but if you can … i can ^^ then i would ask you if you can tell me the detailed step i certainly missed something even if i tried many times .
if it’s can help i’m working with an i pad air 2
Hi Emile,
Sorry for the late reply, have been really busy,
Please find the steps below: Prerequisites:
Latest Appium build 1.5.2
Apple Developers ID
Provisioning Profile with your Devices(in your case iPad air 2) added to it
Xcode supporting the iOS on you iPAD
Steps:
Note: Keep your device connected
Navigate to your folder where you downloaded the latest build of appium
No navigate to /node_modules/safari-launcher
Open the Safari-Launcher.xcode project in Xcode
In Targets, Select SafariLauncher
In General Settings -> Identity->Bundle ID, type : com.bytearc.SafariLauncher and in -> Team dropdown, select your Apple developers ID
In Build Settings -> Code Signing -> Provisioning Profile -> Select your provisioning profile for all the fields and for code Signing Identity, select iPhone Developer
Now the run the project
When build is successful, safari Launcher would be downloaded to your iPAD.
Now run your tests.
Let me know if you need further details
Hi @dhruv_91,
It’s my turn to say sorry ^^, i’ve been really busy too…
I have just 2 questions, i saw many help from the community telling to use the com.bytearc.SafariLauncher
It’s not working for me. XCode is unhappy and say no it’s not your bundle id you can’t use it " … i tried with a bundle like com.XXXX.SafariLauncher but it i get the instrument error then if you have any idea i would like You to help me please
Else there is the guys which say that they are using the driver capability to set up theire bundle id
Like here : Appium 1.3.5 instruments startup uses wrong bundleId
But i already did this … and it’s doesn’t modify the bundleid …
I have signed the the SafariLauncher app with a company provisioning profile. The trouble is that this provisioning profile is bound to the domain uk.co.(company).test.automation.
I am setting the bundle id in both the node-config.js and via the --default-capabilities parameter to Appium with “bundleId”:“uk.co.(company).test.automation.SafariLauncher” however no matter what
I do I still get the error:
Error launching com.bytearc.SafariLauncher: NotFound (4)
The XCode project refers to the package/bundle id: uk.co..test.automation.SafariLauncher
but it doesn’t make a difference.
The weird thing is testing was working yesterday but now today this problem has suddenly come up.
I am at the point desperately searching though the Appium JavaScript files looking for the place where this parameter is being passed to instruments. I can’t find it in instruments.js but that may be delegating to code in another file / library.
Open the page [Certificate, Identifiers & Profile]
In the [Identifiers] click on [App IDs] --> Delete the old App IDs (which one has “uk.co.(company).test.automation.SafariLauncher”)
Create a new one with type “Wildcard” and the bundle idle has to be: com.byterac.*
In the [Provisioning Profile] click on [Development] then choose the iOS Provisioning Profile that you created before
–> Edit it to change to the new App IDs which was created above.
Download it and double click to open it in Xcode.
Now, you need to rebuild the SafariLauncher again with the new Provisioning profile. DON’T forget to put [com.byterac.SafariLauncher] in the [Bundle Identifier] in Xcode
@TuHuynh’s answer should solve your problem, as he has mentioned in the 4th step, it is important to create Wildcard App ID , as to how to rebuild SafariLauncher (step 7 in @TuHuynh’s answer), go through my previous answer.
Hope this helps.