Nobosi
Nobosi

Reputation: 1085

iPhone Static Library Issues With Simulator

So I have an iPhone static library that I am trying to build. I've got the script that was used in this question (http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4), but the issue I've hit is that I'm seemingly still unable to successfully build the static library for the simulator. When I build in the static library project, I get the follow warnings:

warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/GDInAppStore.m' of type sourcecode.c.objc for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/SKProduct+priceAsString.m' of type sourcecode.c.objc for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/VerificationControllerPBK.m' of type sourcecode.c.objc for architecture i386

I believe this issue is causing the problem that is leading to the universal library I get from the build script causing this error in my other project

ld: warning: ignoring file /Users/abotkin/Projects/Static Libraries/GDInAppStore/libGDInAppStore.a, missing required architecture i386 in file
"_OBJC_CLASS_$_GDInAppStore", referenced from:
objc-class-ref in SubscribeNowInAppController.o
ld: symbol(s) not found for architecture i386

I'm using Xcode 4.3.2 and have set the flags in the static library Xcode project so that i386 is included in the Architecture and Valid Architectures. Any tips?

Upvotes: 3

Views: 1511

Answers (3)

Vodǎ
Vodǎ

Reputation: 3536

With Xcode 6, Apple has added iOS framework support to their build tools.

Using Apple's framework target for all new projects, as it is less hacky and is supported by Apple themselves.

Upvotes: 0

HughV
HughV

Reputation: 86

Make sure you are building for the simulator if you are compiling for i386. Basically, your arch parameter has to match your sdk parameter. i.e.

xcodebuild -project proj.xcodeproj -arch armv64 -sdk iphoneos8.1 build

and

xcodebuild -project proj.xcodeproj -arch i386 -sdk iphonesimulator8.1 build

Upvotes: 2

Nobosi
Nobosi

Reputation: 1085

I was able to do a workaround this issue by using Karl's iOS Universal Framework that he mentioned in the other topic here https://stackoverflow.com/a/5721978/497718

That said, if anyone could point me into what I may have been doing wrong in using the script in that same topic, I'd love to learn how to do it the right way.

Upvotes: 0

Related Questions