Can I use swift sdk in app which runs on iOS 7? - ios

I'm trying to develop a swift SDK that will work in apps running on iOS 7,
I don't care if my SDK will work only when the app is running on iOS 8 but I don't want to force the target app to run only on iOS.
when I tried to change my Deployment Target to 7.0 and upload the app to appstore I'm getting the following errors:
Archive submission failed with errors:
! ERROR 'TMS-90362: "Invalid Info.plist value. The value for the key
•MinimumOSVersion• in bundle MiniAppDemo.app/Frameworks/
MiniAppFramework.framework is invalid. The minimum value is 8.0"
ERROR IT MS-90362: "Invalid Info.plist value. The value for the key
'MinimumOSVersion' in bundle
MiniAppDemo.app/Frameworks/MiniAppFramework.framework is invalid. The
minimum value is 8.0"
ERROR ITMS-9020g: "Invalid Segment Alignment. The app binary at
'MiniAppDemo.app/Frameworks/MiniAppFramework.frameworW
MiniAppFrameworkl does not have proper segment alignment. Try
rebuilding the app with the latest Xcode version." ERROR IT MS-90209:
•Invalid Segment Alignment. The app binary at
'MiniAppDemo.app/FrameworksWiniAppFramework.frameworWMiniAppFramework'
does not have proper segment alignment. Try rebuilding the app with
the latest Xcode version."
ERROR 'TMS-90125: "The binary is invalid.
The encryption info in the LC ENCRYPTION INFO load command is either
missing or invalid, or the binary is already encrypted. This binary
does not seem to have been built with Apple's linker." ERROR
ITMS-g012S: •The binary is invalid. The encryption info in the load
command is either missing or invalid, or the binary is already
encrypted. This binary does not seem to have been built with Apple's
linker. • WARNING ITMS-900BO•. "The executable
'Payload/MiniAppDemo.app/Frameworks/MiniAppFramework.framework' is not
a Position Independent Executable. Please ensure that your build
settings are configured to create PIE executables. For more
information refer to Technical Q&A QA178B - Building a Position
Independent Executable in the iOS Developer Library." WARNING IT
MS-90080: 'The executable
'Payload/MiniAppDemo.app/Frameworks/MiniAppFramework.framevvork' is
not a Position Independent Executable. Please ensure that your build
settings are configured to create PIE executables. For more
information refer to Technical Q&A QAI 788 - Building a Position
Independent Executable in the iOS Developer Done Library. "

Check Alamofire for the same issue :
"Embedded frameworks require a minimum deployment target of iOS 8 or OS X Mavericks.
To use Alamofire with a project targeting iOS 7, you must include all Swift files located inside the Source directory directly in your project. See the 'Source File' section for additional instructions."

Related

IOS new update versioning code error meaning?

i keep on receiving this email after sometime i upload my IOS new version IPA to ITunes. But i don't know what does it mean anymore. My build version current is been increase to "0.0.27" due to upload keep on failing me. My CFBundleShortVersionString also increase to 97 due to some mistake in previous upload numbering. But i still can't seem to upload my IOS update to Itunes. Im doing phonegap cross-platform mobile application. First version is successful on 14 February 2018, and upload by appsuploader. Any clue for what i miss will be appreciated.
Invalid Version - The build with the version “0.0.15” can’t be imported because a later version has been closed for new build submissions. Choose a different version number.
Invalid or Non-Increasing CFBundleShortVersionString - The value specified in the bundle's Info.plist file for the key CFBundleShortVersionString must be a string consisting of at most three dot-separated components, where each component is composed only of the digits 0 through 9. For example, any of the following are syntactically valid values for CFBundleShortVersionString: "1.0", "4.2.1", "3.46", "1.112.0"; whereas the following are all syntactically invalid: "1.4.0.0.0.0.5", "GX5", "3.4.2b6", "2.6GM", "1.0 (Gold)", "-3.6". Additionally, each updated version of the same application must have a CFBundleShortVersionString that increases relative to that of the previous version that was actually made available for sale on the iTunes Store. For example, if a previously-available version had a CFBundleShortVersionString of "1.4", then any of the following would be acceptable as the next update: "1.4.1", "1.4.332", "1.5"; but all of the following (though syntactically valid) would be unacceptable: "1.4", "1.3", "1.3.9", "0.9". For more information about the CFBundleShortVersionString key and the Info.plist file, see Apple's Runtime Configuration Guidelines at http://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPRuntimeConfig/index.html
Mark this as Resolve. It just an compilation conflict when selecting android and ios together. I compile the cross platform individually then can see the adobe phonegap build version is changing to latest. After that upload to ITunes and everything go smooth.

How to upload app to the App Store with OneSignal plugin? ERROR ITMS-90362 "MinimumOSVersion" invalid

I am having some issues related to the OneSignal plugin on IOS. In Xcode after archiving the app, when I try to upload the app to the AppStore I get this error:
iTunes Store Operation Failed
ERROR ITMS-90362: "Invalid Info.plist value. The value for the key
'MinimumOSVersion' in bundle
fsa.app/PlugIns/OneSignalNotificationServiceExtension.appex is
invalid. This extension requires a version of iOS higher than the
value specified for the MinimumOSVersion key in Info.plist."
I've tried to change the value manually in the Info.plist file related to the OneSignalNotificationServiceExtension, but I still got this error. In Unity I've set the minimum iOS version to 9.0. Any ideas how to solve this problem?
Additional information, I've used these tutorial to setup the project:
Unity SDK Setup
Generate an iOS Push Certificate
Version:
Xcode 9.0
Unity 5.6.1f1
OneSignal 2.4.0
Thank you!
You can remove the Deployment Target so it is grayed out in the Notification Service Extension Deployment Target field as so:

SKMaps - App Errors Uploading To iTunes Connect - Invalid Binary - Segment Alignment - Encryption

I am trying to upload my app with SKMaps.framework to the App Store. App runs perfect on simulator and device.
But I get the below errors uploading build to iTunes Connect.
Dear developer,
We have discovered one or more issues with your recent delivery for
"xxxx xxxx". To process your delivery, the following issues must be
corrected:
Invalid Binary Architecture - iOS 3.0 introduced support for multiple
binary architectures. If your binary is built for multiple
architectures, your Info.plist must have a MinimumOSVersion key with a
value of at least 3.0. Additionally, if your app is intended to
support earlier iPhone and iPod touch models, your app must contain at
least an armv6 binary; "thin" armv7-only binaries will not be accepted
unless the armv7 required device capability is also present in the
Info.plist UIRequiredDeviceCapabilities key or the MinimumOSVersion
key has a value of 4.3 or higher.
Specifically, we found the following unsupported architectures in your
binary:
x86_64 i386 For more information, see Technical Q&A QA1707 at:
http://developer.apple.com/iphone/library/qa/qa2010/qa1707.html.
Invalid Segment Alignment - The app binary at 'xxxx
xxxx.app/Frameworks/SKMaps.framework/SKMaps' does not have proper
segment alignment. Try rebuilding the app with the latest Xcode
version.
Invalid Encryption Info - The binary is invalid. The encryption info
in the LC_ENCRYPTION_INFO load command is either missing or invalid,
or the binary is already encrypted. This binary does not seem to have
been built with Apple's linker.
Though you are not required to fix the following issues, we wanted to
make you aware of them:
Non-PIE Binary - The executable 'Payload/xxxx
xxxx.app/Frameworks/SKMaps.framework' is not a Position Independent
Executable. Please ensure that your build settings are configured to
create PIE executables. For more information, refer to Technical Q&A
QA1788 - Building a Position Independent Executable
Once the required corrections have been made, you can then redeliver
the corrected binary.
Regards,
The App Store team
Without this framework, my app is totally useless. The framework version is 3.0.1.
Just use the build without the simulator slice, this should solve you problem. You can find the latest build here: http://forum.skobbler.com/showthread.php/14602-3-0-3-release-candidate-builds?p=32322

Application builded using Dynamic framework not submitted to app store

I have created Dynamic Framework , While importing this dynamic framework into Application it needs to be add in Embedded Binaries.
it is working with Both Device and Simulator but when i archive and make .IPA file to submit , I got Below error while submitting app to app store.
1) ERROR ITMS-90087: "Unsupported Architectures. The executable for sample.app/Frameworks/customFramework.framework contains unsupported architectures '[x86_64, i386]'."
2) ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'sample.app/Frameworks/customFramework.framework/CustomFramework' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version.”
3) ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker.”
4) WARNING ITMS-90080: "The executable 'Payload/sample.app/Frameworks/customFramework.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."
Any insights into this would be really helpful.
This is normal if you make fat dynamic framework, they don't let the simulator architecture to be submitted (but it work with static library), the easiest way to solve it is to borrow the solution from other framework, eg Realm, they provide a script to strip out the simulator architectures out of the framework, so that the app can be submitted to appstore, check out their installation for framework version to include and use the script for your framework

ERROR ITMS-9000: "Missing or invalid signature.

ERROR ITMS-9000: "Missing or invalid signature. The bundle 'com.google.GPPSignIn3PResources' at bundle path 'Payload/My_app_name.app/GooglePlus.bundle' is not signed using an Apple submission certificate."
I was able to submit same build previously now just did UI related few changes and trying to resubmit the build and getting this error. Is there any solution to handle this ??
The same problem as described here: AppStore Submission - Missing or invalid signature - com.google.GPPSignIn3PResources
Just remove files below and build your app as usual!
GooglePlus.bundle/GPPSignIn3PResources
GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources
Upgrade to the 1.7.1 version of the Google Plus iOS SDK
Difference between 1.7.0 and 1.7.1 bundles is that no files were added but following three files are deleted.
Or
Delete following 3 files from 1.7.0
GooglePlus.bundle/GPPSignIn3PResources
GooglePlus.bundle/GPPCommonSharedResources.bundle/GPPCommonSharedResources
GooglePlus.bundle/GPPShareboxSharedResources.bundle/GPPShareboxSharedResources
A more than one binary may be uploaded to iTunesConnect if the the Build number (Select the Target, then Xcode -> General -> Build, see the picture below) is increased by adding .1, i.e. if the version is 3.75, then increase it to: 3.75.1, but the Version is still `3.75 for the App (also in iTunesConnect). The build number just has to be unique for each binary that is loaded up to iTunesConnect.
After a new binary is uploaded and processed (~ 10 min), then you can select the new binary and submit it for review. In the picture below you may see the old and the new binary listed in iTunesConnect in the Build section of the current App version (you click the plus sign). Then the new binary is selected -> Saved -> Submit for Review. (Sometimes an error comes when submitting, then just try after a few mins or upload a new binary build).
For those inclined to do this automatically with an Xcode script, here is a description of making an automatic script for updating Build numbers Better way of incrementing build number?
According to g+ docs, GooglePlus.bundle shouldn't be added to the project
I'm using xcode 6 GM and updated g + to it's latest version (removing GooglePlus.bundle) from the project and got rid of that error
ref: https://developers.google.com/+/mobile/ios/getting-started
(You might run also in an arm64 error if you don't add arm64 to the Valid Architectures in Build Settings)

Resources