I'm Trying to wrap a very simple Objective-C app all it does is display the Username to the screen if it's inside Citrix managed space otherwise it should write that it's not inside Citrix managed space.
However when I try to wrap it after Exporting the IPA file from Xcode. then I try to wrap that IPA file with the MDX toolkit. and this is what happens..
I have no Idea what to do to make this work ? I do not believe I've done any wrapping before this point. and I've just followed a tutorial from Citrix on youtube the newest one I could find.
it's called "Tutorial - Develop with Citrix WorxSDK part 1"
Edit
forgot to mention I'm using
Xcode 8.2.1
MDX toolkit 10.4.10
Newest Java jdk I could pull
I found the problem. MDX 10.4.10 is in my setup trying to wrap at compile time as I didn't supply the script in build phases it didn't know how to create the mdx file. which resulted in simply creating only the IPA file. The script creates a MDX file that I then later can imbed the IPA file into. this is the script that soleved it all for me:
export APPTYPE="Enterprise"
export STOREURL="http://example.com"
export DATE=`date +%Y-%m-%d_%H-%M-%S`
export POLICYFILE="/Path/to/Policyfile.xml"
/Applications/Citrix/MDXToolkit/CGAppCLPrepTool SdkPrep -in "${CODESIGNING_FOLDER_PATH}" -out "/Users/Udvikling/Documents/Debug Builds/${EXECUTABLE_NAME}_${DATE}.mdx" -storeUrl "${STOREURL}" -appIdPrefix "ABCDEFGH" -policyXML "${POLICYFILE}" -appType "${APPTYPE}" -entitlements "${CODE_SIGN_ENTITLEMENTS}"
Related
I've got a very curious error to share regarding Xcode localization process. I will try to share as much detail as legally possible.
From Xcode, I am trying to export an XLIFF file to send to our translators, via "Editor > Export for Localizations". However, this immediately throws error with the message:
The operation couldn't be completed. Argument list too long
This is indeed confusing, as I cannot find a more verbose log anywhere (I have already tried checking my Console.app). So, I spent quite a few time googling – to no avail. I couldn't find similar case like this. The error itself happens only when I am trying to export for localization. I can build and run the app just fine.
Facts
~ $ xcodebuild -version
Xcode 8.2
Build version 8C38
~ $ xcode-select -version
xcode-select version 2347.
~ $ echo $PATH
/Users/david.christiandy/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/david.christiandy/arctools/arcanist/bin:/usr/local/go/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands
I am using Xcode 8.2 on macOS Sierra 10.12.5.
The error happens only when I try exporting from localization. This is also true when I run the localization process via xcodebuild -exportLocalizations.
I can build and run the app just fine. (I believe) there's no problem with my header search paths.
Attempts
Thought there was something wrong in the code, so I tried to run the export process (via xcodebuild command) in a CI. Somehow, it's working. For the record, I am using Bitrise CI with the same stack as my system (Xcode 8.2.x, macOS 10.12)
Asked colleagues to run export process on their machines, and they have the same error.
This leads me to think that there must be something wrong with the configuration. So I made a standalone project to confirm that the export process fails consistently. Turns out, it works just fine!
So, the hypothesis I got currently is:
There's probably something wrong in the code, and
There might be tools/software (that most of our iOS engineers installed) that might contribute to the error (since the CI completes just fine).
I don't know why the CI can run the export process just fine, and I don't know when it might suddenly stop functioning (just like our local machines).
Appreciate any help on this matter. Thank you!
I also asked this question on Apple developer forums, here is the link: https://forums.developer.apple.com/thread/86762
“Argument list too long” sounds like E2BIG, which you get when you try to run a child process with a huge argument list (I believe the current limit is 256 KiB). I suspect that Export for Localizations is running some sort of command line tool to do that work (probably the extractLocStrings tool, which you’ll find lurking within Xcode’s app bundle) and passing it full paths to each of the files in your project. Depending on how many files you have and how long those paths are, it’s easy to run into problems like this.
One of the ‘fun’ things about bugs like this is that they are dependent on where you place your project. Things might work if the project is at the top of your home directory but fail if it’s nested deep inside a subdirectory.
That also suggests a potential workaround, namely, to move your project further up in the directory hierarchy.
Finally, you should definitely file a bug about this. I believe we’ve seen this before (r. 30703294) but your report will help reinforce that this is causing problems for developers in the field. Please post your bug number, just for the record.
Several days ago before I read this answer, I managed to get the export working by deleting some folders via Xcode (remove references only). Initially I suspected that there's an invalid format within the folders that I deleted, but when I tried deleting other folders, the export process works just fine.
I also tried exporting strings using Xcode 9, and I didn't encounter the problem. So hopefully this bug is only for Xcode 8.3.3 and below.
I'm having some trouble to generate an IPA for my Xamarin Forms iOS project on Jenkins. I follow the documentation (http://developer.xamarin.com/guides/cross-platform/ci/jenkins_walkthrough/) and post a question on the xamarin forums for my problem, but it's really difficult to have an answer there so i'll try here.
I'm able to build the application with mdtool but there isn't any IPA file in my project after the end of Jenkins' job.
I see some discussion on the forum that tell to use the archive method instead of the build for mdtool. But that didn't change anything either.
I also try to use xcrun to create the IPA file after the application build, but i have that kind of error :
error: Unable to copy application 'iOS/bin/iPhone/Release/Application.iOS.app/' into '/var/folders/v2/gnnclzrd2g98zqc89qn204km00007h/T/VXEBXe7WNV/Payload'
There's not a lot of explanation on how the IPA is generated on the documentation so i'd like to have a clarification on that.
Is anyone manage to create an IPA in Jenkins for their iOS Xamarin Forms project ?
If so how do you do it ? I could give you more information about the Jenkins' job i use, ... if necessary.
Regards
I just find an answer after hours of search and it's kinda dumb.
xcrun give me an that error because my app path had a / in the end (like explained in that post Xcrun PackageApplication, failed unable to copy application).
But then i had another error :
error: Unable to create 'iOS/bin/iPhone/Release/volunteer.ipa'
The output option of xcrun need to be an absolute path not a relative one inside the project.
By using an absolute one, the IPA is generated :)
I am making an iOS app and I wanted to know what the build process is exactly. I don't mean want something like, it compiles, then it links and then its done. I want to know exactly what each step does like android has build steps viz. resource manager, pre-compiler, java builder, package builder, How are these steps taken care of in IOS. Secondly, what is the importance of .app file which is created with xcodebuild command to eventually create .ipa file.
Here are some links that might help:
Joshua Davies walks through building a simple Hello World app outside of Xcode:
http://commandlinefanatic.com/cgi-bin/showarticle.cgi?article=art024
A .ipa file is just a zip archive with a predefined structure. The iPhone wiki describes it well:
http://theiphonewiki.com/wiki/IPA_File_Format
In a script I'm writing, I want a way to be able to analyze a .ipa or .app file to determine some of its internals, such as which SDK it was built with. Is there a command line tool that allows you to do this? If so, what other information can you get from it?
Have a look at this: https://github.com/apperian/iOS-checkIPA (it's a tool named iOS IPA Validator, originally by G. Gold, maintained by James Seibel)
It helped me.
This also looks interested: https://github.com/sjmulder/ipa
I downloaded the latest version of Phonegap for IOS and ran "make" from Terminal. I ran make in the following subdir.
phonegap-2.3.0/lib/ios
I get these two lines back on stdout:
Xcode.app: '/Applications/Xcode.app'
Using Developer folder: '/Applications/Xcode.app/Contents/Developer'
and my shell prompt is back.
However, no PhoneGapLibInstaller.pkg file is created as it describes on the github site instructions.
https://github.com/infil00p/phonegap-iphone
The file wasn't in my ios directory but when I did a search on my entire hard drive there is nothing there. I wanted to check in case it put it in the Xcode.app package contents for some reason.
In case this make file did something other than in the guides and actually worked, I loaded Xcode but PhoneGap doesn't show up as a Framework/template to choose from when making a new package.
Any thoughts or suggestions?
Thanks,
Dano
That Github repo is from 3 years ago. You would probably be better off looking at the actual current documentation.
Adobe "value add" distribution page: http://phonegap.com
Docs: http://docs.phonegap.com
Latest Cordova information (the open source project PhoneGap is based on): http://cordova.apache.org/
Current Github: https://github.com/apache/cordova-ios