Closed akolio closed 7 years ago
oh-oh-oh, another brick in the wall.
Yes, you are correct, dashes are not allowed.
I thought about hyphen as replacement.
For example:
//:configuration = Debug
PRODUCT_BUNDLE_IDENTIFIER = com.jwtio.$(PRODUCT_NAME)
PRODUCT_MODULE_NAME = $(PRODUCT_NAME)
PRODUCT_NAME = $(TARGET_NAME)
And for JWT-iOS-Swift
:
//:configuration = Debug
PRODUCT_BUNDLE_IDENTIFIER = com.jwtio.JWT-iOS-Swift
PRODUCT_MODULE_NAME = JWT-iOS-Swift
PRODUCT_NAME = JWT-iOS-Swift
I think that would be a good idea!
@akolio check latest master, please.
Thanks for the quick help!
I cannot probably upload a new version now, but I archived a version with the new libraries and ran that against the store's validation and that completed ok!
I noticed that instead of 4 libraries I now got 3. Is the earlier JWT iOS framework now included in JWT.framework?
@akolio not sure.
Could you print CFBundleIdentifiers? They are
io.jwt.ios
io.jwt.ios.swift
io.jwt.macos
io.jwt.macos.swift
find ./Carthage/Build/ -name '*.plist' | grep -v 'dSYM' | grep JWT | perl -MCwd -ne '$_ =~ s/^\.//; $_ = getcwd().$_; chomp; print qx(defaults read $_ CFBundleIdentifier)'
find ./Carthage/Build/ -name '*.plist' | grep -v 'dSYM' | grep JWT | perl -MCwd -ne '$ =~ s/^.//; $ = getcwd().$; chomp; print qx(defaults read $ CFBundleIdentifier)' io.jwt.ios io.jwt.ios.swift io.jwt.jwt io.jwt.macos.swift
@akolio great! Could you use all of them?
I had a small unit test that uses jwt ios that I ran, I believe it works.
Closed?
New Issue Checklist
Issue Info
Platform Name iOS Platform Version 9.3 CocoaLumberjack Version - Integration Method carthage Xcode Version 8.2.1 Repro rate 100% Demo project link -
Issue Description and Steps
Create project with 4 libraries from this project via carthage Base64 JWT_iOS_Framework JWT_iOS_Swift JWT_Framework
Archive project and send to appstore
Results in: ERROR ITMS-90049: "This bundle is invalid. The CFBundleIdentifier 'com.jwtio.JWT_iOS_Framework' in the bundle contains disallowed characters. It must be present, must contain only alphanumerics, dots, hyphens and must not end with a dot. [See the section of the ios Application Programming Guide entitled The Application Bundle.]"
Thoughts: I think the appstore validator doesn't like identifiers with underscores e.g. com.jwtio.JWT_iOS_Framework
https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW15
CFBundleIdentifier: "The bundle identifier string identifies your application to the system. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. The string should also be in reverse-DNS format. For example, if your company’s domain is Ajax.com and you create an application named Hello, you could assign the string com.Ajax.Hello as your application’s bundle identifier. The bundle identifier is used in validating the application signature."